-
Notifications
You must be signed in to change notification settings - Fork 11.5k
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
[RISCV] Add support for getHostCPUFeatures using hwprobe #94352
Merged
Merged
Changes from 2 commits
Commits
Show all changes
26 commits
Select commit
Hold shift + click to select a range
ff839be
[RISCV] Add support for getHostCPUFeatures using hwprobe
dtcxzyw a2fa6e3
[RISCV] Address review comments.
dtcxzyw f3f61d6
[RISCV] Check IMA
dtcxzyw 212ddab
[Clang][RISCV] Add clang -mcpu=native support
dtcxzyw 8a40b9e
[RISCV] Fix generic targets
dtcxzyw 0176960
[RISCV] Fix typo. NFC.
dtcxzyw 8c01bdd
[RISCV] Fix missing return statement
dtcxzyw 753d1af
[RISCV] Mark ztso as experimental
dtcxzyw 835bd26
Revert "[RISCV] Mark ztso as experimental"
dtcxzyw 3f6d0d6
Merge branch 'main' into rv-native-hwprobe
dtcxzyw 6c63389
[RISCV] Update release notes. NFC.
dtcxzyw 2e4f615
Merge branch 'main' into rv-native-hwprobe
dtcxzyw fc8998f
[RISCV] Remove ztso support.
dtcxzyw 7563384
[RISCV] Detect target features in `riscv::getRISCVArch`
dtcxzyw 622bd65
Revert "[RISCV] Detect target features in `riscv::getRISCVArch`"
dtcxzyw 7ce92bb
Merge branch 'main' into rv-native-hwprobe
dtcxzyw 6be7eea
[RISCV][Driver] Remove `Args.MakeArgString`
dtcxzyw 33c063e
Merge branch 'main' into rv-native-hwprobe
dtcxzyw a515f3b
[RISCV] Format code. NFC.
dtcxzyw ad887bc
Reland `[RISCV] Add support for getHostCPUFeatures using hwprobe`
dtcxzyw 208a172
[RISCV] Set ztso
dtcxzyw 4acb528
Merge branch 'main' into rv-native-hwprobe
dtcxzyw adbb036
[RISCV] Fix compilation error
dtcxzyw 6b6fd88
[RISCV] Fallback when hwprobe is unavailable
dtcxzyw 513d9f5
Merge branch 'main' into rv-native-hwprobe
dtcxzyw 558bc0c
[RISCV][Clang] Address review comments.
dtcxzyw File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
Consider this a purely stylistic comment.
We should probably be using either the vDSO symbol or the glibc shim. In either case, we'd have a weak symbol which could possibly be nullptr, and need to return early.
In this use case, the difference likely doesn't matter, but if we reuse this code, the lack of caching provided by vDSO could be problematic.
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.
Currently
sys::getHostCPUFeatures
has three callers:riscv::getRISCVTargetFeatures
codegen::getFeaturesStr
JITTargetMachineBuilder::detectHost
I don't think there are any opportunities to reuse the result.
BTW, #85790 may benefit from the vDSO symbol, but it implements caching itself.
I didn't use the glibc call
__riscv_hwprobe
sincesys/hwprobe.h
was unavailable on my RV board :(