1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/docs/optimisations.txt Sun Sep 07 00:35:03 2008 +0200
1.3 @@ -0,0 +1,45 @@
1.4 +Optimisation Prerequisites and Effect
1.5 +------------ ------------------------
1.6 +
1.7 +constant_storage value instruction references a constant;
1.8 + storage instruction references a constant;
1.9 + remove both instructions (currently a single merged instruction)
1.10 +
1.11 +source_storage source instruction is a simple input operation;
1.12 + source instruction is the last instruction;
1.13 + remove the source instruction
1.14 +
1.15 +known_target value instruction references a constant;
1.16 + target and context are provided (no instructions removed)
1.17 +
1.18 +self_access value instruction references "self" in a method;
1.19 + specified attribute name always has the same position;
1.20 + appropriate instruction generated
1.21 +
1.22 +temp_storage value instruction is a simple input operation;
1.23 + value instruction is the last instruction;
1.24 + remove the value instruction, provide the value
1.25 + instruction in place of a temporary storage
1.26 + reference
1.27 +
1.28 +load_operations value instruction is a simple input operation;
1.29 + value instruction is the last instruction;
1.30 + current instruction uses simple input;
1.31 + remove the value instruction, make the value
1.32 + instruction the input to the current instruction
1.33 +
1.34 +no_operations input to the current instruction loads from the
1.35 + destination of the current instruction;
1.36 + omit the current instruction
1.37 +
1.38 +unused_results value instruction is a simple input operation;
1.39 + value instruction is the final instruction of a
1.40 + discarded expression;
1.41 + remove the value instruction
1.42 +
1.43 +superfluous_temp_operations source instruction writes to temporary storage;
1.44 + current instruction reads from the same storage;
1.45 + source instruction is the last instruction;
1.46 + remove the source instruction, make the current
1.47 + instruction use the input of the source
1.48 + instruction