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 ulrich.weig...@de.ibm.com