Difference between revisions of "Work Package 1"

From Superoptimization
Jump to: navigation, search
(Created page with " == Description == :Identify code that can be superoptimized (for speed, size or energy) focussing on finding awkward constructs. :Use rapid prototyping to evaluate key algo...")
(No difference)

Revision as of 17:00, 1 August 2014

Description

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.

Notes

Difficult constructs

Memory
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?
Flags
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