-
-
Notifications
You must be signed in to change notification settings - Fork 418
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
Update to LLVM 13.0.0 #3837
Update to LLVM 13.0.0 #3837
Conversation
Hi @kulibali, The changelog - changed label was added to this pull request; all PRs with a changelog label need to have release notes included as part of the PR. If you haven't added release notes already, please do. Release notes are added by creating a uniquely named file in the The basic format of the release notes (using markdown) should be:
Thanks. |
This should wait for the official release. No API changes at all, only the JIT needed a couple of things. |
Awesome. Do you know when the release is? Will the commit change then? |
RC3 is scheduled for September 7 (https://lists.llvm.org/pipermail/llvm-dev/2021-August/152353.html); they usually mark it final a few days after RC3. When there is an official tag we'll need to update the submodule again in this branch. |
Obligatory "It works fine on my Ubuntu 20.04 machine" post. I'll investigate further. |
That's a cool error though. |
Obligatory "It works fine on my Fedora 31 machine" post. I wasn't able to reproduce the CI error. I don't know much about the CI setup for LLVM building, but is it possible there is a CI cache issue? |
I'm going to try locally to see what I get for results. |
Using an Ubuntu 20.04 system with WSL2, I am able to recreate the issue from CI:
I used the following commands to build (same as CI): make libs build_flags=-j8
make configure arch=x86-64
make build arch=x86-64 build_flags=-j8
make test-ci arch=x86-64 My clang version is doing: make libs build_flags=-j8
make configure
make build
make test-ci also fails. note in both cases, linking for debug works, it fails when doing optimized builds. |
@kulibali are you sure you checked everything in and pushed it all? the other question would be... did you try doing |
|
Turning off the inliner on line 1381 of genopt.cc fixes the issue for me, so it would appear to be related to name mangling of inlined functions. //pmb.Inliner = createFunctionInliningPass(275); |
@jemc can you put the command you used to build here? is there a difference from either of mine? |
The only difference is that I used 4 instead of 8 cores to build LLVM, so it wouldn't bring my system to a crawl: make libs build_flags=-j4
make configure
make build
make test-ci |
Looks like this is an issue with the LLVM vectorization optimizations - maybe my CPU is different enough from yours that LLVM is trying to make different vectorization choices? |
I have an I9 vPro. |
@SeanTAllen - does it compile successfully for you if you disable Pony-specific optimizations? That would hopefully indicate whether it may be a bug in our Pony-specific optimizations or a bug in LLVM itself. |
Nope. That's the first thing I tried. |
My CPU on this machine is:
|
Mine is |
This may be a legitimate LLVM bug that we may want to consider reporting as part of their release candidate validation process. |
@kulibali is there still time to report a bug on the 13.00 release? |
Not sure. I only have superficial knowledge of the release process. I'm in a bit of a crunch at work today so if you have time to investigate that would be great. |
@kulibali i have a deadline for the 15th so, I don't have time to look into it. I had a bit of downtime this morning while waiting on others that I used to do the triaging. |
Turning off |
Turning off |
I dont understand how the pass manager works so this is probably wrong but... moving
Would I be correct in assuming that effectively turns the pass off? |
So I think this might be our best fix: changing to:
which ONLY strips debug symbols. also works for me. Here's the definition:
|
@jemc how do you feel about the fix? |
Sounds good to me - I gave my 👍 emoji earlier on your comment above. |
I never ever notice emojis @jemc as I get no notification from GitHub about them. |
I just noticed these emojis @jemc... |
RC4 has now been tagged as |
Awesome. |
@kulibali so we can merge now, yes? |
Yes. |
Ugh I forgot to squash so this went in as 6 commits. Ooops. |
Updated our LLVM submodule to
llvm-org-13.0.0
and updated code to compile with it.