aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-chrec.h
diff options
context:
space:
mode:
authorSebastian Pop <sebastian.pop@amd.com>2009-10-21 23:05:39 +0000
committerSebastian Pop <spop@gcc.gnu.org>2009-10-21 23:05:39 +0000
commitf29deac9bd4ae965809d7735631f707e38b40f82 (patch)
tree19f73c5acca1dc29d3476bc353efe3c387d3dae3 /gcc/tree-chrec.h
parentf4e1881041d1458b50cba9e892ed94c483ea64ec (diff)
downloadgcc-f29deac9bd4ae965809d7735631f707e38b40f82.zip
gcc-f29deac9bd4ae965809d7735631f707e38b40f82.tar.gz
gcc-f29deac9bd4ae965809d7735631f707e38b40f82.tar.bz2
re PR tree-optimization/41497 (apparent integer wrong code bug)
PR tree-optimization/41497 * tree-scalar-evolution.c (analyze_evolution_in_loop): Return chrec_dont_know if the evolution function returned by follow_ssa_edge is constant in the analyzed loop and is not compatible with the initial value before the loop. * tree-chrec.h (no_evolution_in_loop_p): Call STRIP_NOPS. * gcc.dg/tree-ssa/pr41497.c: New. From-SVN: r153441
Diffstat (limited to 'gcc/tree-chrec.h')
-rw-r--r--gcc/tree-chrec.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/tree-chrec.h b/gcc/tree-chrec.h
index f21aa74..545db38 100644
--- a/gcc/tree-chrec.h
+++ b/gcc/tree-chrec.h
@@ -115,6 +115,7 @@ no_evolution_in_loop_p (tree chrec, unsigned loop_num, bool *res)
|| chrec_contains_symbols_defined_in_loop (chrec, loop_num))
return false;
+ STRIP_NOPS (chrec);
scev = hide_evolution_in_other_loops_than_loop (chrec, loop_num);
*res = !tree_is_chrec (scev);
return true;