I was wondering if anyone has seen this bug involving LRA and inline assembly code. On MIPS, I am getting the attached ICE. Somehow the 'first' pointer in the live_reload_and_inheritance_pseudos bitmap structure is either getting clobbered or is not being correctly initialized to begin with. I am not sure which yet.
Steve Ellcey sell...@mips.com % cat x.c int NoBarrier_AtomicIncrement(volatile int* ptr, int increment) { int temp, temp2; __asm__ __volatile__(".set push\n" ".set noreorder\n" "1:\n" "ll %0, 0(%3)\n" "addu %1, %0, %2\n" "sc %1, 0(%3)\n" "beqz %1, 1b\n" "addu %1, %0, %2\n" ".set pop\n" : "=&r" (temp), "=&r" (temp2) : "Ir" (increment), "r" (ptr) : "memory"); return temp2; } % mips-mti-linux-gnu-gcc -O1 -c x.c x.c: In function 'NoBarrier_AtomicIncrement': x.c:16:1: internal compiler error: Segmentation fault } ^ 0x9b199f crash_signal /scratch/sellcey/nightly/src/gcc/gcc/toplev.c:339 0x5d3950 bitmap_element_link /scratch/sellcey/nightly/src/gcc/gcc/bitmap.c:456 0x5d3950 bitmap_set_bit(bitmap_head*, int) /scratch/sellcey/nightly/src/gcc/gcc/bitmap.c:673 0x87c370 init_live_reload_and_inheritance_pseudos /scratch/sellcey/nightly/src/gcc/gcc/lra-assigns.c:413 0x87c370 lra_assign() /scratch/sellcey/nightly/src/gcc/gcc/lra-assigns.c:1499 0x877966 lra(_IO_FILE*) /scratch/sellcey/nightly/src/gcc/gcc/lra.c:2236 0x8337de do_reload /scratch/sellcey/nightly/src/gcc/gcc/ira.c:5311 0x8337de execute /scratch/sellcey/nightly/src/gcc/gcc/ira.c:5470 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions.