Hello,
this fixes the following testsuite regression on spu-elf:
FAIL: g++.dg/torture/pr57499.C -O1 (internal compiler error)
which was caused by a code path in pad_bb that would simply crash
if the very last active insn in a function happened to be a
"blockage".
Tested on spu-elf, committed to mainline.
Bye,
Ulrich
ChangeLog:
* config/spu/spu.c (pad_bb): Do not crash when the last
insn is CODE_FOR_blockage.
Index: gcc/config/spu/spu.c
===================================================================
*** gcc/config/spu/spu.c (revision 208964)
--- gcc/config/spu/spu.c (working copy)
*************** pad_bb(void)
*** 2064,2070 ****
}
hbr_insn = insn;
}
! if (INSN_CODE (insn) == CODE_FOR_blockage)
{
if (GET_MODE (insn) == TImode)
PUT_MODE (next_insn, TImode);
--- 2064,2070 ----
}
hbr_insn = insn;
}
! if (INSN_CODE (insn) == CODE_FOR_blockage && next_insn)
{
if (GET_MODE (insn) == TImode)
PUT_MODE (next_insn, TImode);
--
Dr. Ulrich Weigand
GNU/Linux compilers and toolchain
[email protected]