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@155 | 9 | constant_accessor value instruction references a constant;
|
paul@155 | 10 | (guidance) target name provided (for use in producing an
|
paul@155 | 11 | address access instruction)
|
paul@155 | 12 |
|
paul@141 | 13 | known_target value instruction references a constant;
|
paul@155 | 14 | (guidance) target and context are provided (no instructions
|
paul@155 | 15 | removed)
|
paul@141 | 16 |
|
paul@141 | 17 | self_access value instruction references "self" in a method;
|
paul@155 | 18 | (guidance) specified attribute name always has the same
|
paul@155 | 19 | position;
|
paul@141 | 20 | appropriate instruction generated
|
paul@141 | 21 |
|
paul@141 | 22 | temp_storage value instruction is a simple input operation;
|
paul@142 | 23 | (elimination) value instruction is the last instruction;
|
paul@142 | 24 | (guidance) remove the value instruction, provide the value
|
paul@141 | 25 | instruction in place of a temporary storage
|
paul@141 | 26 | reference
|
paul@141 | 27 |
|
paul@141 | 28 | load_operations value instruction is a simple input operation;
|
paul@142 | 29 | (merge) value instruction is the last instruction;
|
paul@141 | 30 | current instruction uses simple input;
|
paul@141 | 31 | remove the value instruction, make the value
|
paul@141 | 32 | instruction the input to the current instruction
|
paul@141 | 33 |
|
paul@141 | 34 | no_operations input to the current instruction loads from the
|
paul@142 | 35 | (elimination) destination of the current instruction;
|
paul@141 | 36 | omit the current instruction
|
paul@141 | 37 |
|
paul@141 | 38 | unused_results value instruction is a simple input operation;
|
paul@142 | 39 | (elimination) value instruction is the final instruction of a
|
paul@141 | 40 | discarded expression;
|
paul@141 | 41 | remove the value instruction
|