[PATCH] D139608: [Clang][NFC] Add default `getBFloat16Mangling` impl
Pierre van Houtryve via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Dec 8 00:22:39 PST 2022
Pierre-vh created this revision.
Pierre-vh added reviewers: MaskRay, stuij.
Herald added subscribers: kosarev, mattd, gchakrabarti, asavonic, StephenFan, kerbowa, jvesely.
Herald added a project: All.
Pierre-vh requested review of this revision.
Herald added subscribers: cfe-commits, jholewinski.
Herald added a project: clang.
All targets that currently implement `__bf16` use the exact same mangled name.
Reduce code duplication by adding that name to the default implementation, like it's done in e.g. `getLongDoubleMangling` and `getFloat128Mangling`
Depends on D139398 <https://reviews.llvm.org/D139398>
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D139608
Files:
clang/include/clang/Basic/TargetInfo.h
clang/lib/Basic/Targets/AArch64.h
clang/lib/Basic/Targets/AMDGPU.h
clang/lib/Basic/Targets/ARM.h
clang/lib/Basic/Targets/NVPTX.h
clang/lib/Basic/Targets/X86.h
Index: clang/lib/Basic/Targets/X86.h
===================================================================
--- clang/lib/Basic/Targets/X86.h
+++ clang/lib/Basic/Targets/X86.h
@@ -415,8 +415,6 @@
uint64_t getPointerAlignV(LangAS AddrSpace) const override {
return getPointerWidthV(AddrSpace);
}
-
- const char *getBFloat16Mangling() const override { return "u6__bf16"; };
};
// X86-32 generic target
Index: clang/lib/Basic/Targets/NVPTX.h
===================================================================
--- clang/lib/Basic/Targets/NVPTX.h
+++ clang/lib/Basic/Targets/NVPTX.h
@@ -179,7 +179,6 @@
bool hasBitIntType() const override { return true; }
bool hasBFloat16Type() const override { return true; }
- const char *getBFloat16Mangling() const override { return "u6__bf16"; };
};
} // namespace targets
} // namespace clang
Index: clang/lib/Basic/Targets/ARM.h
===================================================================
--- clang/lib/Basic/Targets/ARM.h
+++ clang/lib/Basic/Targets/ARM.h
@@ -197,8 +197,6 @@
bool hasSjLjLowering() const override;
bool hasBitIntType() const override { return true; }
-
- const char *getBFloat16Mangling() const override { return "u6__bf16"; };
};
class LLVM_LIBRARY_VISIBILITY ARMleTargetInfo : public ARMTargetInfo {
Index: clang/lib/Basic/Targets/AMDGPU.h
===================================================================
--- clang/lib/Basic/Targets/AMDGPU.h
+++ clang/lib/Basic/Targets/AMDGPU.h
@@ -116,7 +116,6 @@
}
bool hasBFloat16Type() const override { return isAMDGCN(getTriple()); }
- const char *getBFloat16Mangling() const override { return "u6__bf16"; };
const char *getClobbers() const override { return ""; }
Index: clang/lib/Basic/Targets/AArch64.h
===================================================================
--- clang/lib/Basic/Targets/AArch64.h
+++ clang/lib/Basic/Targets/AArch64.h
@@ -167,7 +167,6 @@
int getEHDataRegisterNumber(unsigned RegNo) const override;
- const char *getBFloat16Mangling() const override { return "u6__bf16"; };
bool hasInt128Type() const override;
bool hasBitIntType() const override { return true; }
Index: clang/include/clang/Basic/TargetInfo.h
===================================================================
--- clang/include/clang/Basic/TargetInfo.h
+++ clang/include/clang/Basic/TargetInfo.h
@@ -758,9 +758,7 @@
}
/// Return the mangled code of bfloat.
- virtual const char *getBFloat16Mangling() const {
- llvm_unreachable("bfloat not implemented on this target");
- }
+ virtual const char *getBFloat16Mangling() const { return "u6__bf16"; }
/// Return the value for the C99 FLT_EVAL_METHOD macro.
virtual LangOptions::FPEvalMethodKind getFPEvalMethod() const {
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D139608.481167.patch
Type: text/x-patch
Size: 2765 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20221208/2ee916dd/attachment.bin>
More information about the cfe-commits
mailing list