aboutsummaryrefslogtreecommitdiff
path: root/gcc/mode-switching.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/mode-switching.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/mode-switching.c')
-rw-r--r--gcc/mode-switching.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/mode-switching.c b/gcc/mode-switching.c
index c941eb1..56c4d0f 100644
--- a/gcc/mode-switching.c
+++ b/gcc/mode-switching.c
@@ -809,6 +809,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_mode_switching (ctxt_); }
bool gate () { return gate_mode_switching (); }
unsigned int execute () { return rest_of_handle_mode_switching (); }