Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable new optimizer by default #27087

Merged
merged 2 commits into from
May 14, 2018
Merged

Enable new optimizer by default #27087

merged 2 commits into from
May 14, 2018

Conversation

Keno
Copy link
Member

@Keno Keno commented May 12, 2018

No description provided.

@Keno Keno requested review from vtjnash and JeffBezanson May 12, 2018 22:14
@vtjnash
Copy link
Member

vtjnash commented May 12, 2018

Can we run binary builder on this PR (helps with doing PkgEval)

@ararslan ararslan added the compiler:optimizer Optimization passes (mostly in base/compiler/ssair/) label May 12, 2018
@ararslan
Copy link
Member

Getting this on Circle:

error during bootstrap:
LoadError(at "compiler/compiler.jl" line 3: LoadError(at "compiler/bootstrap.jl" line 8: MethodError(f=Array{Tuple{Int64, Int64}, 1}, args=(Array{Tuple{Int32, Int32}, (1,)}[(4, 17)],), world=0x00000fa3)))
rec_backtrace at /home/circleci/project/src/stackwalk.c:94
record_backtrace at /home/circleci/project/src/task.c:246
jl_throw at /home/circleci/project/src/task.c:577
jl_method_error_bare at /home/circleci/project/src/gf.c:1601
jl_method_error at /home/circleci/project/src/gf.c:1619
jl_lookup_generic_ at /home/circleci/project/src/gf.c:2110 [inlined]
jl_apply_generic at /home/circleci/project/src/gf.c:2130
unknown function (ip: 0xf0d136ef)
jl_fptr_sparam at /home/circleci/project/src/gf.c:1831
jl_fptr_trampoline at /home/circleci/project/src/gf.c:1816
jl_apply_generic at /home/circleci/project/src/gf.c:2133
unknown function (ip: 0xf0516cf6)

Once this branch builds and passes and all that, we can just trigger a buildbot build using the branch SHA, then running PackageEvaluator using the resulting binary is quite straightforward. (Essentially the same as is outlined in DISTRIBUTING.md.)

@Keno
Copy link
Member Author

Keno commented May 12, 2018

Yeah, I saw, looks like we need to Int64->Int somewhere.

@martinholters
Copy link
Member

How is the compile time using the new vs. the old optimizer, e.g. building the sysimg?

@Keno
Copy link
Member Author

Keno commented May 14, 2018

Worse, but we intend to address that in the 1.0 time frame.

@JeffBezanson
Copy link
Member

How much worse?

@Keno
Copy link
Member Author

Keno commented May 14, 2018

About 40% regression on pure sysimg build time (stdlib is essentially unchanged) it seems. That includes the time it takes to compile the optimizer itwelf. A bit less when disabling the IR verifier which we should do. Don't think that's entirely due to compile time regression testing though. We may have to take a look at the inlining thresholds post new optimizer, since the IR looks quite a bit different now. On the other hand, last I checked it was about on par if we also merge kf/iterate (makes the old optimizer quite a bit slower, essentially no effect on the new one).

@Keno Keno merged commit fcaa379 into master May 14, 2018
@ararslan ararslan deleted the kf/enablenew branch May 14, 2018 22:25
@mbauman
Copy link
Member

mbauman commented May 14, 2018

🎉

@iblislin
Copy link
Member

Got error on master branch build, after this PR merged.
https://freebsdci.julialang.org/#/builders/1/builds/9415

@iblislin
Copy link
Member

seems it's FreeBSD only issue.

@ararslan
Copy link
Member

Reported in #27109

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compiler:optimizer Optimization passes (mostly in base/compiler/ssair/)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants