summaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-loop-im.c
diff options
context:
space:
mode:
authorchrbr <chrbr@138bc75d-0d04-0410-961f-82ee72b054a4>2014-06-06 07:21:02 +0000
committerchrbr <chrbr@138bc75d-0d04-0410-961f-82ee72b054a4>2014-06-06 07:21:02 +0000
commit413fb82004f24162b9ab4c68232dac16fd8edf3a (patch)
treee8aeff7f4e0f8ff2ca895abc3ea5f4e11f53171a /gcc/tree-ssa-loop-im.c
parent3f1c8dea76f60f90c002c43ba0fb3790a272cb44 (diff)
PR tree-optimization/43934
* tree-ssa-loop-im.c (determine_max_movement): Add PHI def constant cost. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211302 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-ssa-loop-im.c')
-rw-r--r--gcc/tree-ssa-loop-im.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/gcc/tree-ssa-loop-im.c b/gcc/tree-ssa-loop-im.c
index 5863127c4937..e957f9211415 100644
--- a/gcc/tree-ssa-loop-im.c
+++ b/gcc/tree-ssa-loop-im.c
@@ -719,8 +719,14 @@ determine_max_movement (gimple stmt, bool must_preserve_exec)
FOR_EACH_PHI_ARG (use_p, stmt, iter, SSA_OP_USE)
{
val = USE_FROM_PTR (use_p);
+
if (TREE_CODE (val) != SSA_NAME)
- continue;
+ {
+ /* Assign const 1 to constants. */
+ min_cost = MIN (min_cost, 1);
+ total_cost += 1;
+ continue;
+ }
if (!add_dependency (val, lim_data, loop, false))
return false;
def_data = get_lim_data (SSA_NAME_DEF_STMT (val));