summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
diff options
context:
space:
mode:
authorZakk Chen <zakk.chen@sifive.com>2019-12-30 07:14:37 -0800
committerHans Wennborg <hans@chromium.org>2020-01-27 19:05:31 +0100
commit01fd650ba3d29709e82a608dfa7fcec35606385d (patch)
treef3d099aeca7138c0fe867813202a6dc7beea3067 /clang/lib/CodeGen
parent99464b7eb1d7bbeb7380a6ccc19b0ffdb2f08d40 (diff)
downloadbcm5719-llvm-01fd650ba3d29709e82a608dfa7fcec35606385d.tar.gz
bcm5719-llvm-01fd650ba3d29709e82a608dfa7fcec35606385d.zip
[RISCV] Pass target-abi via module flag metadata
Reviewers: lenary, asb Reviewed By: lenary Tags: #clang Differential Revision: https://reviews.llvm.org/D72755 (cherry picked from commit e15fb06e2d0a068de549464d72081811e7fac612)
Diffstat (limited to 'clang/lib/CodeGen')
-rw-r--r--clang/lib/CodeGen/CodeGenModule.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CodeGenModule.cpp b/clang/lib/CodeGen/CodeGenModule.cpp
index 57beda26677..f8866ac4f7f 100644
--- a/clang/lib/CodeGen/CodeGenModule.cpp
+++ b/clang/lib/CodeGen/CodeGenModule.cpp
@@ -537,6 +537,13 @@ void CodeGenModule::Release() {
getModule().addModuleFlag(llvm::Module::Error, "min_enum_size", EnumWidth);
}
+ if (Arch == llvm::Triple::riscv32 || Arch == llvm::Triple::riscv64) {
+ StringRef ABIStr = Target.getABI();
+ llvm::LLVMContext &Ctx = TheModule.getContext();
+ getModule().addModuleFlag(llvm::Module::Error, "target-abi",
+ llvm::MDString::get(Ctx, ABIStr));
+ }
+
if (CodeGenOpts.SanitizeCfiCrossDso) {
// Indicate that we want cross-DSO control flow integrity checks.
getModule().addModuleFlag(llvm::Module::Override, "Cross-DSO CFI", 1);
OpenPOWER on IntegriCloud