mirror of
https://github.com/tinygo-org/tinygo.git
synced 2026-08-03 02:27:48 +00:00
main: optimize 'tinygo run'
Apparently -Oz without inliner is the fastest, probably because it removes code that would otherwise need to be emitted. TODO: does this mean that the ExecutionEngine compiles the module before running it? Can we control this?
This commit is contained in:
@@ -210,7 +210,10 @@ func Run(pkgName string) error {
|
||||
if err := c.Verify(); err != nil {
|
||||
return errors.New("compiler error: failed to verify module: " + err.Error())
|
||||
}
|
||||
c.Optimize(1, 0, 0) // -O1, the fastest optimization level that doesn't crash
|
||||
// -Oz, which is the fastest optimization level (faster than -O0, -O1, -O2
|
||||
// and -Os). Turn off the inliner, as the inliner increases optimization
|
||||
// time.
|
||||
c.Optimize(2, 2, 0)
|
||||
|
||||
engine, err := llvm.NewExecutionEngine(c.Module())
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user