 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
• |
Basic blocks
can be now rearranged into any
|
|
|
ordering
|
|
|
|
– |
All start with a
label, end with a jump
|
|
|
• |
Trace
|
|
|
|
– |
Sequence of
statements that could be executed
|
|
|
consecutively
|
|
|
• |
Find a set of
non-overlapping traces that covers
|
|
the entire
program
|
|
|
|
– |
Can remove
unconditional jumps directly followed by
|
|
|
targets
|
|
|
|
– |
Most false
targets now follow conditional jumps
|
|