[RISCV][NFC] Reimplementation of target attribute override mechanism #106680
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.
This patch aims to replace the target attribute override mechanism based on
__RISCV_TargetAttrNeedOverride
with the insertion of several negative target featuresWhen the target attribute uses the full architecture string ("arch=rv64gc") or specifies the CPU ("cpu=rocket-rv64") as the version, it will override the module-level target feature. Currently, this mechanism is implemented by inserting
__RISCV_TargetAttrNeedOverride
as a dummy target feature immediately before the target attribute's feature.The RISCVTargetInfo::initFeatureMap function will remove the "module target features" and use only the "target attribute's features".
This patch changes the process as follows:
The
module target features
will be disable bynegative target feature for all supported extension
inTargetInfo::initFeatureMap