-
-
Notifications
You must be signed in to change notification settings - Fork 419
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # 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