aboutsummaryrefslogtreecommitdiff
path: root/gcc/recog.c
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/recog.c
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/recog.c')
-rw-r--r--gcc/recog.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/recog.c b/gcc/recog.c
index 352fbac..2d44416 100644
--- a/gcc/recog.c
+++ b/gcc/recog.c
@@ -3803,6 +3803,9 @@ public:
{}
/* opt_pass methods: */
+ /* The epiphany backend creates a second instance of this pass, so we need
+ a clone method. */
+ opt_pass * clone () { return new pass_peephole2 (ctxt_); }
bool gate () { return gate_handle_peephole2 (); }
unsigned int execute () { return rest_of_handle_peephole2 (); }
@@ -3848,6 +3851,9 @@ public:
{}
/* opt_pass methods: */
+ /* The epiphany backend creates a second instance of this pass, so
+ we need a clone method. */
+ opt_pass * clone () { return new pass_split_all_insns (ctxt_); }
unsigned int execute () { return rest_of_handle_split_all_insns (); }
}; // class pass_split_all_insns