summaryrefslogtreecommitdiff
path: root/gcc/pass_manager.h
diff options
context:
space:
mode:
authordmalcolm <dmalcolm@138bc75d-0d04-0410-961f-82ee72b054a4>2013-08-07 01:14:39 +0000
committerdmalcolm <dmalcolm@138bc75d-0d04-0410-961f-82ee72b054a4>2013-08-07 01:14:39 +0000
commita6ae2cf4cfdd79b97135c3905a5e39df2ef67cd3 (patch)
tree385c4f824e3b48ea8105418478de6436fc129a42 /gcc/pass_manager.h
parentdb6c4d9f8a5ea1fe0535dbbc7403f5ea887708ee (diff)
downloadgcc-a6ae2cf4cfdd79b97135c3905a5e39df2ef67cd3.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201549 138bc75d-0d04-0410-961f-82ee72b054a4
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 00f0b1c50f4..41d2c7605d2 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;