[clang] [RISCV][FMV] Support target_clones (PR #85786)
Craig Topper via cfe-commits
cfe-commits at lists.llvm.org
Thu Aug 22 10:43:28 PDT 2024
================
@@ -63,9 +63,55 @@ class RISCVABIInfo : public DefaultABIInfo {
CharUnits Field2Off) const;
ABIArgInfo coerceVLSVector(QualType Ty) const;
+
+ using ABIInfo::appendAttributeMangling;
+ void appendAttributeMangling(TargetClonesAttr *Attr, unsigned Index,
+ raw_ostream &Out) const override;
+ void appendAttributeMangling(StringRef AttrStr,
+ raw_ostream &Out) const override;
};
} // end anonymous namespace
+void RISCVABIInfo::appendAttributeMangling(TargetClonesAttr *Attr,
+ unsigned Index,
+ raw_ostream &Out) const {
+ appendAttributeMangling(Attr->getFeatureStr(Index), Out);
+}
+
+void RISCVABIInfo::appendAttributeMangling(StringRef AttrStr,
+ raw_ostream &Out) const {
+ if (AttrStr == "default") {
+ Out << ".default";
+ return;
+ }
+
+ Out << '.';
+
+ SmallVector<StringRef, 8> Attrs;
+ AttrStr.split(Attrs, ";");
+
+ // Drop Priority syntax.
----------------
topperc wrote:
It's not obvious how this comment relates to the code that follows it. Since priority doesn't appear in the code.
https://github.com/llvm/llvm-project/pull/85786
More information about the cfe-commits
mailing list