Work Package 1
Revision as of 17:00, 1 August 2014 by James
- Identify code that can be superoptimized (for speed, size or energy) focussing on finding awkward constructs.
- Use rapid prototyping to evaluate key algorithms. Consider novel constructive techniques as well as exploring existing approaches.
- Possibly not too difficult if only considering a single basic block
- Memory liveness needs to be taken into account (To discuss next week)
- Skip instructions
- Possibly difficult to encode. Consider as seperate basic blocks for now?
- Naively modelling flags results in a large number of constraints
- However, the constraints should fall naturally out of the bitvector arithmetic in most cases.
- Increase in constraint-generator complexity for reduction in final constraint complexity (which should reduce superoptimization time)
- Few instructions that use the flags (except branches), so maybe low effectiveness in superoptimization