diff options
author | Benedikt Huber <benedikt.huber@theobroma-systems.com> | 2014-12-22 02:22:27 +0100 |
---|---|---|
committer | Christoph Muellner <christoph.muellner@theobroma-systems.com> | 2018-04-27 12:21:34 +0200 |
commit | 6fec8836a472fbf6306ee4db5291dc85f91944f3 (patch) | |
tree | a6f5653a3ab51aad63b28c86fb0413ab43f232f4 | |
parent | e8214e9512d568fa85cdd5660544649de75c8486 (diff) |
Added clone functions to duplicated passes.
-rw-r--r-- | gcc/tree-call-cdce.c | 6 | ||||
-rw-r--r-- | gcc/tree-ssa-ifcombine.c | 1 | ||||
-rw-r--r-- | gcc/tree-ssa-phiopt.c | 1 | ||||
-rw-r--r-- | gcc/tree-ssa-phiprop.c | 1 |
4 files changed, 7 insertions, 2 deletions
diff --git a/gcc/tree-call-cdce.c b/gcc/tree-call-cdce.c index 7bd242c53369..834341ff3788 100644 --- a/gcc/tree-call-cdce.c +++ b/gcc/tree-call-cdce.c @@ -1101,12 +1101,14 @@ public: {} /* opt_pass methods: */ - virtual bool gate (function *) + opt_pass * clone () { return new pass_call_cdce (m_ctxt); } + virtual bool gate (function *fun) { /* The limit constants used in the implementation assume IEEE floating point format. Other formats can be supported in the future if needed. */ - return flag_tree_builtin_call_dce != 0; + return flag_tree_builtin_call_dce != 0 + && optimize_function_for_speed_p (fun); } virtual unsigned int execute (function *); diff --git a/gcc/tree-ssa-ifcombine.c b/gcc/tree-ssa-ifcombine.c index 16f6c73d7e6a..2e598c1bd6dc 100644 --- a/gcc/tree-ssa-ifcombine.c +++ b/gcc/tree-ssa-ifcombine.c @@ -789,6 +789,7 @@ public: {} /* opt_pass methods: */ + opt_pass * clone () { return new pass_tree_ifcombine (m_ctxt); } virtual unsigned int execute (function *); }; // class pass_tree_ifcombine diff --git a/gcc/tree-ssa-phiopt.c b/gcc/tree-ssa-phiopt.c index b5e46c988973..a97e0ccb058a 100644 --- a/gcc/tree-ssa-phiopt.c +++ b/gcc/tree-ssa-phiopt.c @@ -2550,6 +2550,7 @@ public: {} /* opt_pass methods: */ + opt_pass * clone () { return new pass_cselim (m_ctxt); } virtual bool gate (function *) { return flag_tree_cselim; } virtual unsigned int execute (function *) { return tree_ssa_cs_elim (); } diff --git a/gcc/tree-ssa-phiprop.c b/gcc/tree-ssa-phiprop.c index 63c3c1648949..72be85fab67e 100644 --- a/gcc/tree-ssa-phiprop.c +++ b/gcc/tree-ssa-phiprop.c @@ -465,6 +465,7 @@ public: {} /* opt_pass methods: */ + opt_pass * clone () { return new pass_phiprop (m_ctxt); } virtual bool gate (function *) { return flag_tree_phiprop; } virtual unsigned int execute (function *); |