0:00 / 0:00
#superoptimization#peepholeoptimization#equivalencechecking
The Compiler As A Database Of Code Transformations
LLVM Social Bangalore
2.1K subscribers • 1 video on Hallway
- Recommended by 1 person: 1 in engineering communities.
Advanced. Deep dive for people who know the field.
1.5K views4 years ago1 recommendation
Systems programmingCompilers and interpretersPerformance and optimization
This talk explores using superoptimization and automatic equivalence checking to discover and validate peephole optimization rules for compilers.
A modern compiler is perhaps the most complex machine developed by humankind. Yet it remains fragile and inadequate for meeting the demands of modern optimization tasks necessitated by Moore’s law saturation. In our research, we explore a different approach to building compiler optimizers that is both completely automatic and more systematic. The basic idea is to use superoptimization techniques to automatically discover replacement rules that resemble peephole optimizations. A key component of this compiler architecture is an equivalence checker that validates the optimization rules automatically. I will describe the overall scheme, and delve into some interesting details of automatic equivalence checking. I will also share our recent work on automatic generation of debugging headers. This talk is based on work published at ASPLOS06, OSDI08, SOSP13, APLAS17, HVC17, SAT18, PLDI20, OOPSLA20, and CGO22. slides: drive.google.com/file/d/16p-V0BochNYPbvMMFIOrogJGg-TdkeEh/vi… - QA