re PR middle-end/82145 (i386/pr38988.c, i386/pr46254.c, i386/pr55154.c, i386/pr81766.c fails)
PR target/82145 * postreload.c (reload_cse_simplify_operands): Skip NOTE_INSN_DELETED_LABEL similarly to skipping CODE_LABEL. * gcc.target/i386/pr82145.c: New test. From-SVN: r252791
This commit is contained in:
parent
22d07ec278
commit
854dde43ae
4 changed files with 28 additions and 2 deletions
|
@ -1,3 +1,9 @@
|
|||
2017-09-15 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR target/82145
|
||||
* postreload.c (reload_cse_simplify_operands): Skip
|
||||
NOTE_INSN_DELETED_LABEL similarly to skipping CODE_LABEL.
|
||||
|
||||
2017-09-15 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/68823
|
||||
|
|
|
@ -409,9 +409,12 @@ reload_cse_simplify_operands (rtx_insn *insn, rtx testreg)
|
|||
CLEAR_HARD_REG_SET (equiv_regs[i]);
|
||||
|
||||
/* cselib blows up on CODE_LABELs. Trying to fix that doesn't seem
|
||||
right, so avoid the problem here. Likewise if we have a constant
|
||||
and the insn pattern doesn't tell us the mode we need. */
|
||||
right, so avoid the problem here. Similarly NOTE_INSN_DELETED_LABEL.
|
||||
Likewise if we have a constant and the insn pattern doesn't tell us
|
||||
the mode we need. */
|
||||
if (LABEL_P (recog_data.operand[i])
|
||||
|| (NOTE_P (recog_data.operand[i])
|
||||
&& NOTE_KIND (recog_data.operand[i]) == NOTE_INSN_DELETED_LABEL)
|
||||
|| (CONSTANT_P (recog_data.operand[i])
|
||||
&& recog_data.operand_mode[i] == VOIDmode))
|
||||
continue;
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2017-09-15 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR target/82145
|
||||
* gcc.target/i386/pr82145.c: New test.
|
||||
|
||||
2017-09-15 Paul Thomas <pault@gcc.gnu.org>
|
||||
|
||||
PR fortran/82184
|
||||
|
|
12
gcc/testsuite/gcc.target/i386/pr82145.c
Normal file
12
gcc/testsuite/gcc.target/i386/pr82145.c
Normal file
|
@ -0,0 +1,12 @@
|
|||
/* PR target/82145 */
|
||||
/* { dg-do compile { target { pie && lp64 } } } */
|
||||
/* { dg-options "-O2 -fpie -mcmodel=large -march=haswell" } */
|
||||
|
||||
int l;
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
l++;
|
||||
return 0;
|
||||
}
|
Loading…
Add table
Reference in a new issue