mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-24 13:31:22 +08:00
re PR middle-end/33029 (libgcc2.c:1890: internal compiler error: in local_cprop_pass, at gcse.c:3236)
PR middle-end/33029 * lower-subreg.c (resolve_clobber): If we remove a REG_LIBCALL note, remove the associated REG_RETVAL note. From-SVN: r128119
This commit is contained in:
parent
437cc56a07
commit
bda9fc3983
@ -1,3 +1,9 @@
|
||||
2007-09-04 Steven Bosscher <steven@gcc.gnu.org>
|
||||
|
||||
PR middle-end/33029
|
||||
* lower-subreg.c (resolve_clobber): If we remove a REG_LIBCALL
|
||||
note, remove the associated REG_RETVAL note.
|
||||
|
||||
2007-09-04 Andrew Pinski <andrew_pinski@playstation.sony.com>
|
||||
|
||||
* config.gcc (powerpc*-*-*): Install
|
||||
@ -8463,7 +8469,6 @@
|
||||
PR tree-optimization/19590
|
||||
* tree-vrp.c (adjust_range_with_scev): Set the range when the result
|
||||
of scev is a constant.
|
||||
* gcc/testsuite/gcc.dg/tree-ssa/pr19590.c: New.
|
||||
|
||||
2007-06-21 Kenneth Zadeck <zadeck@naturalbridge.com>
|
||||
|
||||
|
@ -897,7 +897,7 @@ resolve_simple_move (rtx set, rtx insn)
|
||||
static bool
|
||||
resolve_clobber (rtx pat, rtx insn)
|
||||
{
|
||||
rtx reg;
|
||||
rtx reg, note;
|
||||
enum machine_mode orig_mode;
|
||||
unsigned int words, i;
|
||||
int ret;
|
||||
@ -909,8 +909,10 @@ resolve_clobber (rtx pat, rtx insn)
|
||||
/* If this clobber has a REG_LIBCALL note, then it is the initial
|
||||
clobber added by emit_no_conflict_block. We were able to
|
||||
decompose the register, so we no longer need the clobber. */
|
||||
if (find_reg_note (insn, REG_LIBCALL, NULL_RTX) != NULL_RTX)
|
||||
note = find_reg_note (insn, REG_LIBCALL, NULL_RTX);
|
||||
if (note != NULL_RTX)
|
||||
{
|
||||
remove_retval_note (XEXP (note, 0));
|
||||
delete_insn (insn);
|
||||
return true;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user