diff options
author | ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-08-07 22:43:55 +0000 |
---|---|---|
committer | ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-08-07 22:43:55 +0000 |
commit | db2200eb29d404298af201d053500c7ca2c6896a (patch) | |
tree | 35317e8ce965742d89bd2dfc7ea0f9271e85e464 | |
parent | 11d973e51b39ade5476bf6bb8592f60de09dd0ed (diff) | |
download | gcc-db2200eb29d404298af201d053500c7ca2c6896a.tar.gz |
PR rtl-optimization/32776
* lower-subreg.c (resolve_clobber): Call resolve_reg_notes.
(resolve_use): Likewise.
(decompose_multiword_subregs): Remove "changed" local variable.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127282 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/lower-subreg.c | 22 |
2 files changed, 14 insertions, 15 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 498460c58c3..374c15009aa 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2007-08-07 Ian Lance Taylor <iant@google.com> + + PR rtl-optimization/32776 + * lower-subreg.c (resolve_clobber): Call resolve_reg_notes. + (resolve_use): Likewise. + (decompose_multiword_subregs): Remove "changed" local variable. + 2007-08-07 Carlos O'Donell <carlos@codesourcery.com> * configure.ac: Define HAVE_GNU_AS if $gas_flag is yes. diff --git a/gcc/lower-subreg.c b/gcc/lower-subreg.c index 288566d87b5..c61a8b7759e 100644 --- a/gcc/lower-subreg.c +++ b/gcc/lower-subreg.c @@ -936,6 +936,8 @@ resolve_clobber (rtx pat, rtx insn) emit_insn_after (x, insn); } + resolve_reg_notes (insn); + return true; } @@ -950,6 +952,9 @@ resolve_use (rtx pat, rtx insn) delete_insn (insn); return true; } + + resolve_reg_notes (insn); + return false; } @@ -1251,25 +1256,17 @@ decompose_multiword_subregs (void) FOR_BB_INSNS (bb, insn) { rtx next, pat; - bool changed; if (!INSN_P (insn)) continue; next = NEXT_INSN (insn); - changed = false; pat = PATTERN (insn); if (GET_CODE (pat) == CLOBBER) - { - if (resolve_clobber (pat, insn)) - changed = true; - } + resolve_clobber (pat, insn); else if (GET_CODE (pat) == USE) - { - if (resolve_use (pat, insn)) - changed = true; - } + resolve_use (pat, insn); else { rtx set; @@ -1302,8 +1299,6 @@ decompose_multiword_subregs (void) insn = resolve_simple_move (set, insn); if (insn != orig_insn) { - changed = true; - remove_retval_note (insn); recog_memoized (insn); @@ -1320,7 +1315,6 @@ decompose_multiword_subregs (void) decomposed_shift = resolve_shift_zext (insn); if (decomposed_shift != NULL_RTX) { - changed = true; insn = decomposed_shift; recog_memoized (insn); extract_insn (insn); @@ -1349,8 +1343,6 @@ decompose_multiword_subregs (void) gcc_assert (i); remove_retval_note (insn); - - changed = true; } } } |