[clang] [llvm] [RISCV][FMV] Support target_clones (PR #85786)
Philip Reames via cfe-commits
cfe-commits at lists.llvm.org
Fri Jul 19 09:35:08 PDT 2024
================
@@ -63,9 +63,32 @@ 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 << '.';
----------------
preames wrote:
Using an unnormalized arch string here appears unlikely to be what we want. This is not what aarch64 does for instance. It also seems questionable to me to have e.g. "+" in a mangled name.
https://github.com/llvm/llvm-project/pull/85786
More information about the cfe-commits
mailing list