diff options
author | Michael Matz <matz@suse.de> | 2010-06-30 16:34:22 +0000 |
---|---|---|
committer | Michael Matz <matz@gcc.gnu.org> | 2010-06-30 16:34:22 +0000 |
commit | 8a1561bcd07c8e630f1e7492c364a664dd6f3d69 (patch) | |
tree | 2852023f84692231142ea669a9e5ceed97a70395 /gcc/tree-vrp.c | |
parent | 6b180c51344c45d4b0b4a792de68b634f4a354cd (diff) | |
download | gcc-8a1561bcd07c8e630f1e7492c364a664dd6f3d69.zip gcc-8a1561bcd07c8e630f1e7492c364a664dd6f3d69.tar.gz gcc-8a1561bcd07c8e630f1e7492c364a664dd6f3d69.tar.bz2 |
re PR bootstrap/44699 (Bootstrap failure for x86_64-apple-darwin10: ICE while compiling genmodes.c)
PR bootstrap/44699
* tree-vrp.c (vrp_finalize): Deal with changing num_ssa_names.
* gimple-fold.c (gimplify_and_update_call_from_tree): If LHS is
a gimple reg, attach the original VDEF to the last store in the
sequence.
testsuite/
PR bootstrap/44699
* gcc.dg/pr44699.c: New test.
From-SVN: r161614
Diffstat (limited to 'gcc/tree-vrp.c')
-rw-r--r-- | gcc/tree-vrp.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c index 590fa74..3da2dc8 100644 --- a/gcc/tree-vrp.c +++ b/gcc/tree-vrp.c @@ -7315,6 +7315,7 @@ vrp_finalize (void) size_t i; prop_value_t *single_val_range; bool do_value_subst_p; + unsigned num = num_ssa_names; if (dump_file) { @@ -7326,10 +7327,10 @@ vrp_finalize (void) /* We may have ended with ranges that have exactly one value. Those values can be substituted as any other const propagated value using substitute_and_fold. */ - single_val_range = XCNEWVEC (prop_value_t, num_ssa_names); + single_val_range = XCNEWVEC (prop_value_t, num); do_value_subst_p = false; - for (i = 0; i < num_ssa_names; i++) + for (i = 0; i < num; i++) if (vr_value[i] && vr_value[i]->type == VR_RANGE && vr_value[i]->min == vr_value[i]->max @@ -7357,7 +7358,7 @@ vrp_finalize (void) identify_jump_threads (); /* Free allocated memory. */ - for (i = 0; i < num_ssa_names; i++) + for (i = 0; i < num; i++) if (vr_value[i]) { BITMAP_FREE (vr_value[i]->equiv); |