http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49789
Summary: Bootstrap failure with SMS flags on ARM Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: bootstrap AssignedTo: unassig...@gcc.gnu.org ReportedBy: revital.e...@linaro.org Host: arm-linux-gnueabi Target: arm-linux-gnueabi I get the following error while bootstrap trunk -r176434 on ARM machine with SMS flags: -O2 -fmodulo-sched -fmodulo-sched-allow-regmoves -fno-auto-inc-dec --param sms-min-sc=1 configure:3269: /home/40014/mainline/build3/./gcc/xgcc -B/home/40014/mainline/build3/./gcc/ -B/home/40014/mainline/build3/armv7l-unknown-linux-gnueabi/bin/ -B/home/40014/mainline/build3/armv7l-unknown-linux-gnueabi/lib/ -isystem /home/40014/mainline/build3/armv7l-unknown-linux-gnueabi/include -isystem /home/40014/mainline/build3/armv7l-unknown-linux-gnueabi/sys-include -c -g -O2 conftest.c >&5 conftest.c: In function 'main': conftest.c:16:1: internal compiler error: vector VEC(edge,base) index domain error, in ei_edge at basic-block.h:672 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. configure:3273: $? = 1 Investigating the problem; it seems that the cause is not related to SMS but rather to the doloop optimization which is enabled only when SMS flags are set. (but that also does not mean that doloop is the reason for the fail; it could be some later passes) The first file that doloop is applied on and causes bootstrap failure is bb-reorder.c. The problematic loop seems to be the last FOR_EACH_EDGE in connect_traces function which is inlined into reorder_basic_block.