paul@141 | 1 | Optimisation Prerequisites and Effect
|
paul@141 | 2 | ------------ ------------------------
|
paul@141 | 3 |
|
paul@141 | 4 | constant_storage value instruction references a constant;
|
paul@142 | 5 | (elimination) storage instruction references a constant;
|
paul@142 | 6 | remove both instructions (currently a single
|
paul@142 | 7 | merged instruction)
|
paul@141 | 8 |
|
paul@141 | 9 | source_storage source instruction is a simple input operation;
|
paul@142 | 10 | (elimination) source instruction is the last instruction;
|
paul@141 | 11 | remove the source instruction
|
paul@141 | 12 |
|
paul@141 | 13 | known_target value instruction references a constant;
|
paul@142 | 14 | (guidance) target and context are provided (no instructions removed)
|
paul@141 | 15 |
|
paul@141 | 16 | self_access value instruction references "self" in a method;
|
paul@142 | 17 | (guidance) specified attribute name always has the same position;
|
paul@141 | 18 | appropriate instruction generated
|
paul@141 | 19 |
|
paul@141 | 20 | temp_storage value instruction is a simple input operation;
|
paul@142 | 21 | (elimination) value instruction is the last instruction;
|
paul@142 | 22 | (guidance) remove the value instruction, provide the value
|
paul@141 | 23 | instruction in place of a temporary storage
|
paul@141 | 24 | reference
|
paul@141 | 25 |
|
paul@141 | 26 | load_operations value instruction is a simple input operation;
|
paul@142 | 27 | (merge) value instruction is the last instruction;
|
paul@141 | 28 | current instruction uses simple input;
|
paul@141 | 29 | remove the value instruction, make the value
|
paul@141 | 30 | instruction the input to the current instruction
|
paul@141 | 31 |
|
paul@141 | 32 | no_operations input to the current instruction loads from the
|
paul@142 | 33 | (elimination) destination of the current instruction;
|
paul@141 | 34 | omit the current instruction
|
paul@141 | 35 |
|
paul@141 | 36 | unused_results value instruction is a simple input operation;
|
paul@142 | 37 | (elimination) value instruction is the final instruction of a
|
paul@141 | 38 | discarded expression;
|
paul@141 | 39 | remove the value instruction
|