Optimize

 

Some standard intra-procedural optimizations. Useful to clean up code after certain transformations. This transformation is experimental. mergeLocals is particularly useful after inlining, as it reduces the number of local variables in the combined function. This can be helpful for subsequent transformations (like virtualization).


Options

OptionArgumentsDescription
--Transform Optimize Some standard intra-procedural optimizations. Useful to clean up code after certain transformations.
--OptimizeKinds constProp, copyProp, mergeLocals List of optimizing transformations to apply Default=NONE.
  • constProp = Constant Propagation, i.e. replace a variable with its value, if it is constant.
  • copyProp = Copy Propagation, i.e. after the assignment x=y replaces uses of variable x with y.
  • mergeLocals = Reduce the number of local variables by merging locals that are not live at the same time. Particularly useful after inlining,
--OptimizeDumpInterferenceGraph For, mergeLocals, write the interference graph to a *.neato file. It can be visualized using neato -Tpdf foo-interferenceGraph.neato > foo.pdf. Default=False.
--OptimizeShortMergedNames For, mergeLocals, generate short names for merged local variables, instead of the default var1_var2_.... Default=False.