diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a165f5ec9c3..224642c314e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2006-02-08 Jeff Law + + PR tree-optimization/26169 + * tree-vrp.c (execute_vrp): Perform any queued SSA updates before + threading jumps. + 2006-02-08 Zdenek Dvorak * df.h (DF_REG_SIZE): Return the length of the initialized diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c index 9fa311b3c5e..80dcf39ac4e 100644 --- a/gcc/tree-vrp.c +++ b/gcc/tree-vrp.c @@ -4499,6 +4499,14 @@ execute_vrp (void) as finalizing jump threads calls the CFG cleanup code which does not properly handle ASSERT_EXPRs. */ remove_range_assertions (); + + /* If we exposed any new variables, go ahead and put them into + SSA form now, before we handle jump threading. This simplifies + interactions between rewriting of _DECL nodes into SSA form + and rewriting SSA_NAME nodes into SSA form after block + duplication and CFG manipulation. */ + update_ssa (TODO_update_ssa); + finalize_jump_threads (); }