Hi, I am currently experimenting with superblock and trace scheduling in GCC (using the -fsched2-use-superblocks option). In an attempt to get traces with more parallelism, I tried to change the phase ordering so that superblcok scheduling is done before register allocation. However, when I switched the order and ran the compiler I got the following error message: bits.c:113: internal compiler error: basic blocks not laid down consecutively Please submit a full bug report, So, the question is: will it be possible to do superblock scheduling before regsiter allocation or there is a fundamental reason that prohibits that? If that's possible, any idea what changes I need to make besides simply switching the order in which the two phases are invoked? The above error message may give you a good idea about the problem. Thanks -Ghassan