diff options
author | Kazu Hirata <kazu@gcc.gnu.org> | 2004-12-12 03:05:20 +0000 |
---|---|---|
committer | Kazu Hirata <kazu@gcc.gnu.org> | 2004-12-12 03:05:20 +0000 |
commit | c431e4997fcca052667b780341ddf4df5f6eb55c (patch) | |
tree | 9f2ee440767bb3cd740aecbb2cc28f4fd9dfb61d /gcc | |
parent | 00fc055e0580c479a325b6f6c11324d12ec6b557 (diff) | |
download | gcc-c431e4997fcca052667b780341ddf4df5f6eb55c.zip gcc-c431e4997fcca052667b780341ddf4df5f6eb55c.tar.gz gcc-c431e4997fcca052667b780341ddf4df5f6eb55c.tar.bz2 |
lcm.c (optimize_mode_switching): Free ptr even when mode_set is NULL_RTX.
* lcm.c (optimize_mode_switching): Free ptr even when mode_set
is NULL_RTX.
From-SVN: r92044
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/lcm.c | 22 |
2 files changed, 17 insertions, 12 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c2e5865..66b4708 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,4 +1,9 @@ -2004-12-11 Roger Sayle <roger@eyesopen.com> +2004-12-12 Kazu Hirata <kazu@cs.umass.edu> + + * lcm.c (optimize_mode_switching): Free ptr even when mode_set + is NULL_RTX. + +2004-12-12 Roger Sayle <roger@eyesopen.com> * reg-stack.c (change_stack): Avoid placing the new top-of-stack in its correct location during popping if we need to permute the stack @@ -1274,17 +1274,17 @@ optimize_mode_switching (FILE *file) mode_set = get_insns (); end_sequence (); - /* Do not bother to insert empty sequence. */ - if (mode_set == NULL_RTX) - continue; - - emited = true; - if (NOTE_P (ptr->insn_ptr) - && (NOTE_LINE_NUMBER (ptr->insn_ptr) - == NOTE_INSN_BASIC_BLOCK)) - emit_insn_after (mode_set, ptr->insn_ptr); - else - emit_insn_before (mode_set, ptr->insn_ptr); + /* Insert MODE_SET only if it is nonempty. */ + if (mode_set != NULL_RTX) + { + emited = true; + if (NOTE_P (ptr->insn_ptr) + && (NOTE_LINE_NUMBER (ptr->insn_ptr) + == NOTE_INSN_BASIC_BLOCK)) + emit_insn_after (mode_set, ptr->insn_ptr); + else + emit_insn_before (mode_set, ptr->insn_ptr); + } } free (ptr); |