-
-
Notifications
You must be signed in to change notification settings - Fork 262
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
Add LLVM 19.1.x support for LDC #4772
Conversation
Cheers! I'm preparing the LLVM fork based on v19.1.3. |
Okay not looking bad, just lit-test failures to look into, most apparently intrinsic-related too. |
8edf863
to
5265dcb
Compare
Done; now all tests passed on CI systems. I also "accidentally" fixed a D-Compute regression introduced in the LLVM 18 port. |
Awesome! - I've released https://github.com/ldc-developers/llvm-project/releases/tag/ldc-v19.1.3, so we can switch back to v19.1.3 in the YAMLs. |
Done. I have edited your commit to exclude the commit hash changes. |
Done. CI passed again. |
Oh, I think I accidentally shadowed #4726 |
#define SPIR_DATALAYOUT64 \ | ||
"e-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128" \ | ||
"-v192:256-v256:256-v512:512-v1024:1024-G1" | ||
#endif |
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.
@thewilsonator: Please take a look.
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.
@thewilsonator: Is your approval a definitive this-is-OK, or rather a I-guess-it's-OK? :) - Just wondering wrt. #4772 (comment), the missing n
parts that clang uses.
I don't know why the macOS ARM64 CI runner had a problem. According to https://github.com/actions/runner-images/blob/main/images/macos/macos-14-arm64-Readme.md, the CI runner image did not change. Maybe it is a temporary failure that can be fixed by a retry. |
Yeah don't worry about that apparent GHA hickup. And note that I can take care of the remaining nits, I'll add a changelog entry anyway. Just waiting for @thewilsonator to confirm the SPIRV stuff. - Thanks! |
f5eb0e0
to
90c43e0
Compare
I will need to rebase the pull request against the latest master branch anyways, I will just address those.
For the context, the new data layout string comes from: https://github.com/llvm/llvm-project/blob/85eec89600085a054650585d3a3287a6e0a93a50/clang/lib/Basic/Targets/SPIR.h#L248-L276 |
Ah thx. I see there are similar strings for SPIRV targets a bit below: https://github.com/llvm/llvm-project/blob/85eec89600085a054650585d3a3287a6e0a93a50/clang/lib/Basic/Targets/SPIR.h#L321-L367. Those have an extra |
I have tested both data layouts; the one with the |
Rebased the pull request against the latest master branch. |
The CI blew up because CircleCI recently upgraded their VM host to Ubuntu 24.04 which uses |
Thx for digging wrt. Circle! Keeping CI working can be tedious at times indeed. I lean towards trying to use the latest Ubuntu image (24.04 or 24.10) for Circle (the 2 jobs don't offer much value, not covering a lot that isn't covered by other CI jobs); hopefully their gdb is recent enough to not hit #4389, which is the main (only?) blocker for using more recent distros for CI. |
I see, Ubuntu 24.04 is the first release that got GDB regression fixed. Also Ubuntu 22.04 will also get this regression fixed very soon: https://launchpad.net/ubuntu/+source/gdb/12.1-0ubuntu1~22.04.3 |
... because now LLVM requires most intrinsics to have parameter types specified
... also fixes tests/codegen/xtensa.d
... LDC_LLVM_VER >= 1900 instead of 1901
Feel free to add a changelog entry yourself, analogous to Line 33 in 00a4493
Lines 37 to 38 in 00a4493
Note that there's this already, please remove it (but maybe keep the PR reference): Line 5 in 00a4493
|
Done. Changelog entries added. |
Thanks mate; I'll merge manually after CI has run - we've run out of free credits for Cirrus CI for this month. |
There's https://github.blog/news-insights/product-news/arm64-on-github-actions-powering-faster-more-efficient-build-systems/#github-and-arm-a-new-class-of-image; maybe we will be able to use these (hopefully) next year. |
Yep that's exactly the announcement I'm waiting for; I assumed/hoped they'd open it to the public in this year still. |
This pull request adds LLVM 19.1.x support for LDC. It is based on previous work by @kinke and @thewilsonator in #4763 and #4735.
Some CI setup is required because it needs 19.1.3 binaries in the forked LLVM repository.