 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
• |
Some programs
will never take certain
|
|
|
branches dynamically
(at execution)
|
|
|
|
– |
Allows us to
define dynamic liveness
|
|
|
• |
However
predicting branching behaviour
|
|
|
requires complex
analysis
|
|
|
|
– |
In fact the
Halting Problem can be used to show that
|
|
full behaviour
can never be predicted, in general
|
|
|
• |
We stick to
static liveness, based on CFGs
|
|
|
|
– |
Assuming
execution can always follow all branches
|
|