builder: add support for -opt=0

This optimization level wasn't working before because some passes expect
some globals to be cleaned up afterwards. Cleaning these globals is
easy, just add the pass necessary for it. This shouldn't reduce the
usefulness of the -opt=0 build flag as most optimizations are still
skipped.
This commit is contained in:
Ayke van Laethem
2021-03-05 14:28:18 +01:00
committed by Ron Evans
parent 99b129d366
commit 5a4dcfb367
3 changed files with 10 additions and 9 deletions
+6
View File
@@ -111,6 +111,12 @@ func Optimize(mod llvm.Module, config *compileopts.Config, optLevel, sizeLevel i
if len(errs) > 0 {
return errs
}
// Clean up some leftover symbols of the previous transformations.
goPasses := llvm.NewPassManager()
defer goPasses.Dispose()
goPasses.AddGlobalDCEPass()
goPasses.Run(mod)
}
// Lower async implementations.