-
Notifications
You must be signed in to change notification settings - Fork 11.9k
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
[LLVM] Trim intrinsics #112791
base: main
Are you sure you want to change the base?
[LLVM] Trim intrinsics #112791
Conversation
6cc20c4
to
1edb5e5
Compare
✅ With the latest revision this PR passed the C/C++ code formatter. |
ab3b221
to
0880fa9
Compare
0880fa9
to
2e61571
Compare
@@ -1,3 +1,4 @@ | |||
// REQUIRES: directx-registered-target |
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.
This seems wrong. Emitting LLVM IR from the Clang frontend should not require anything about the set of targets enabled in LLVM itself.
"[LLVM] Trim intrinsics" is not a helpful commit message. What exactly are you trying to achieve and why? Is there an RFC for this given it seems to be having significant consequences across the tree? |
Yes, please see here: https://discourse.llvm.org/t/rfc-compress-intrinsic-name-table/82412/23 This is not yet the final PR so I did not add any commit message. The intent is to gather initial feedback and then split this PR into multiple ones for commit. |
Please write that, especially including the RFC link, in future so anyone who didn't happen to see the Discourse thread go past but gets notified about the PR knows what on earth is going on. |
Yes, agreed. This PR is not ready for review, I mistakenly marked it so and the reverted to draft. The split up PRs will have all those details. |
Rework intrinsic ID enums to pack target index and intrinsic index into the enum.
Add support for disabling support for a subset of intrinsics based on enabled targets in LLVM. This helps reduce code/data bloat for intrinsics that may not be exercised.