mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-28 22:11:21 +08:00
re PR rtl-optimization/32776 (ICE RTL check: expected code 'reg', have 'concatn' in rhs_regno, at rtl.h:972)
PR rtl-optimization/32776 * lower-subreg.c (resolve_clobber): Call resolve_reg_notes. (resolve_use): Likewise. (decompose_multiword_subregs): Remove "changed" local variable. From-SVN: r127282
This commit is contained in:
parent
9c94a88187
commit
d4fd3465b6
@ -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.
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user