-
-
Notifications
You must be signed in to change notification settings - Fork 415
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 12.0.1 #3745
Update to LLVM 12.0.1 #3745
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. |
I am able to build this using nix somewhat cleanly, except I appear to fail the same test-stdlib-release as some of the CI below:
etc... |
The build initially failed as nix configures warnings to be errors by default. The specific build error I got was this:
... which I believe refers to this: https://github.com/ponylang/ponyc/blob/llvm1200/src/ponyc/main.c#L92 |
I have narrowed the LLVM problem to the HeapToStack pass. |
I'd got it down as far as not being present in a debug compile so was about to start chewing down the Optimization path. I doubt I would have the skills yet to get to that level of detail. I shall wander into the wilderness and start prepping a (nixpkgs) build job for this new branch. Thanks! |
bbe0d17
to
2a46c40
Compare
This program will reproduce the behaviour:
|
@kulibali reproduce what behavior? |
The |
Sorry -- I mean the 32-bit ARM failures. |
There is some mention of problems with exception handling on ARM https://stackoverflow.com/questions/51673343/clang-with-libc-exceptions I haven't had time to investigate further. |
Here is a stacktrace from 32-bit arm:
|
Per today's sync we will disable the 32-bit ARM tests for the time being. |
I have rebased on |
.release-notes/3745.md
Outdated
|
||
Updated the vendored LLVM submodule to tag `llvmorg-12.0.1`, and updated the build system, code generation, and JIT code to work with LLVM 12. | ||
|
||
Disabled 32-bit ARM cross-compilation tests pending fixes for 32-bit ARM and M1. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I dont think this is release note worthy.
Are we basically saying though that we are dropping 32-bit ARM support? I believe so, so we should so that.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
updated
@kulibali if you dont get to it before me, i can update the release notes this evening. |
- Update the LLVM submodule to `llvmorg-12.0.0` - Update the JIT code to work with LLVM 12. - Update custom optimizations to work with LLVM 12. - Move old JIT and optimization code to separate files for historical reference - Update handling LLVM library dependencies: - Consolidate LLVM library configuration in the root `CMakeLists.txt` file. - Deprecate the `llvm_config` cmake macro in favour of using individual components with `llvm_map_components_to_libnames`. - Include the in-progress work on Mac M1: - Update CMakeLists.txt to require C++14 (LLVM now does). - Add missing header to cpu.c that is required on Apple M1. - Fixes #1930
I updated the release notes. |
Supersedes #3731
llvmorg-12.0.0