Skip to content
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

YouTube
  • 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

Why it's here

1 person recommends this

u/mttdin r/Compilers • Recommends

The Compiler As A Database Of Code Transformations