re PR rtl-optimization/11440 (gcc-3.3.1 miscompiles c++ code with -O2, -fno-gcse cures it)

2003-07-14  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>

	PR optimization/11440
	* gcse.c (try_replace_reg): Don't attach notes to ZERO_EXTRACT or
	SIGN_EXTRACT SETs.

From-SVN: r69325
This commit is contained in:
Franz Sirl 2003-07-14 09:29:44 +00:00 committed by Franz Sirl
parent 3a009999ba
commit bbd288a44d
2 changed files with 12 additions and 3 deletions

View File

@ -1,3 +1,9 @@
2003-07-14 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
PR optimization/11440
* gcse.c (try_replace_reg): Don't attach notes to ZERO_EXTRACT or
SIGN_EXTRACT SETs.
2003-07-14 Alan Modra <amodra@bigpond.net.au>
* doc/tm.texi (BLOCK_REG_PADDING): Describe.

View File

@ -3856,9 +3856,12 @@ try_replace_reg (rtx from, rtx to, rtx insn)
&& validate_change (insn, &SET_SRC (set), src, 0))
success = 1;
/* If we've failed to do replacement, have a single SET, and don't already
have a note, add a REG_EQUAL note to not lose information. */
if (!success && note == 0 && set != 0)
/* If we've failed to do replacement, have a single SET, don't already
have a note, and have no special SET, add a REG_EQUAL note to not
lose information. */
if (!success && note == 0 && set != 0
&& GET_CODE (XEXP (set, 0)) != ZERO_EXTRACT
&& GET_CODE (XEXP (set, 0)) != SIGN_EXTRACT)
note = set_unique_reg_note (insn, REG_EQUAL, copy_rtx (src));
}