aboutsummaryrefslogtreecommitdiff
path: root/gcc/pass_manager.h
diff options
context:
space:
mode:
authorDavid Malcolm <dmalcolm@redhat.com>2013-08-07 01:14:39 +0000
committerDavid Malcolm <dmalcolm@gcc.gnu.org>2013-08-07 01:14:39 +0000
commit05555c4ad17672cbfe207011804d69b59c806138 (patch)
tree385c4f824e3b48ea8105418478de6436fc129a42 /gcc/pass_manager.h
parente71835fb5b9586239495b66f45147d8dba35ff19 (diff)
downloadgcc-05555c4ad17672cbfe207011804d69b59c806138.zip
gcc-05555c4ad17672cbfe207011804d69b59c806138.tar.gz
gcc-05555c4ad17672cbfe207011804d69b59c806138.tar.bz2
coretypes.h (rtl_opt_pass): Add.
2013-08-07 David Malcolm <dmalcolm@redhat.com> * coretypes.h (rtl_opt_pass): Add. (gcc::context): Add. * config/epiphany/epiphany.c (pass_mode_switch_use): New. (epiphany_init): Port to new C++ pass API. (epiphany_optimize_mode_switching): Likewise. * pass_manager.h (pass_manager::get_pass_split_all_insns): New. (pass_manager::get_pass_mode_switching): New. (pass_manager::get_pass_peephole2): New. * mode-switching.c (pass_mode_switching): Add clone method. * recog.c (pass_peephole2): Add clone method. (pass_split_all_insns): Add clone method. From-SVN: r201549
Diffstat (limited to 'gcc/pass_manager.h')
-rw-r--r--gcc/pass_manager.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/pass_manager.h b/gcc/pass_manager.h
index 00f0b1c..41d2c76 100644
--- a/gcc/pass_manager.h
+++ b/gcc/pass_manager.h
@@ -66,6 +66,15 @@ public:
void execute_early_local_passes ();
unsigned int execute_pass_mode_switching ();
+ /* Various passes are manually cloned by epiphany. */
+ opt_pass *get_pass_split_all_insns () const {
+ return pass_split_all_insns_1;
+ }
+ opt_pass *get_pass_mode_switching () const {
+ return pass_mode_switching_1;
+ }
+ opt_pass *get_pass_peephole2 () const { return pass_peephole2_1; }
+
public:
/* The root of the compilation pass tree, once constructed. */
opt_pass *all_passes;