summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenedikt Huber <benedikt.huber@theobroma-systems.com>2014-12-22 02:22:27 +0100
committerChristoph Muellner <christoph.muellner@theobroma-systems.com>2018-04-27 12:21:34 +0200
commit6fec8836a472fbf6306ee4db5291dc85f91944f3 (patch)
treea6f5653a3ab51aad63b28c86fb0413ab43f232f4
parente8214e9512d568fa85cdd5660544649de75c8486 (diff)
Added clone functions to duplicated passes.
-rw-r--r--gcc/tree-call-cdce.c6
-rw-r--r--gcc/tree-ssa-ifcombine.c1
-rw-r--r--gcc/tree-ssa-phiopt.c1
-rw-r--r--gcc/tree-ssa-phiprop.c1
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 *);