Phase Ordering of Scheduling and Allocation in GCC

Ghassan Shobaki
Fri Nov 24 18:42:00 GMT 2006


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 

bits.c:113: internal compiler error: basic blocks not laid down 
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 

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.


More information about the Gcc-help mailing list