diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 20b13512aaff3a13cff1bf426acb546a6f4ce892..018bb83a3f5ce735dac4ce79e71eca146a204aec 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2003-06-11 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> + + * cfgloopanal.c (variable_initial_value): Update the set of altered + registers correctly. + 2003-06-11 Roger Sayle <roger@eyesopen.com> Kaveh R. Ghazi <ghazi@caip.rutgers.edu> diff --git a/gcc/cfgloopanal.c b/gcc/cfgloopanal.c index 88eaa2ce3848790a94e4b69857b57e64e2bdf799..af7d8127cf4311373beaa88d9109296f5175ff9f 100644 --- a/gcc/cfgloopanal.c +++ b/gcc/cfgloopanal.c @@ -359,12 +359,12 @@ variable_initial_value (insn, invariant_regs, var, set_insn) { for (; insn != bb->head; insn = PREV_INSN (insn)) { - if (modified_between_p (var, PREV_INSN (insn), NEXT_INSN (insn))) - break; if (INSN_P (insn)) note_stores (PATTERN (insn), (void (*) PARAMS ((rtx, rtx, void *))) unmark_altered, invariant_regs); + if (modified_between_p (var, PREV_INSN (insn), NEXT_INSN (insn))) + break; } if (insn != bb->head)