3. The compiler's role
As previously mentioned, the compiler is responsible for generating long instructions according to the different slots available. VLIW instructions can have up to 8 slots, whereas the length of basic blocks in programs, i.e. the sequence of instructions followed by a branch, varies on average between 4 to 5 for integer programs and 8 to 10 for float programs. This means that a basic block requires one instruction or a very small number of VLIW instructions.
The compiler must first schedule the basic blocks. To optimize further, the compiler must schedule instructions across several basic blocks to form super-blocks. This technique is called trace scheduling. It is illustrated in figure
13...
You do not have access to this resource.
Exclusive to subscribers. 97% yet to be discovered!
Already subscribed?
Log in!
Ongoing reading
The compiler's role