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 /gcc/lower-subreg.c | |
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
Diffstat (limited to 'gcc/lower-subreg.c')
-rw-r--r-- | gcc/lower-subreg.c | 22 |
1 files changed, 7 insertions, 15 deletions
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; } } } |