aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/IR/Function.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/IR/Function.cpp')
-rw-r--r--llvm/lib/IR/Function.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/llvm/lib/IR/Function.cpp b/llvm/lib/IR/Function.cpp
index 9360e6d..1190a3f 100644
--- a/llvm/lib/IR/Function.cpp
+++ b/llvm/lib/IR/Function.cpp
@@ -397,6 +397,12 @@ Function *Function::createWithDefaultAttr(FunctionType *Ty,
}
if (M->getModuleFlag("function_return_thunk_extern"))
B.addAttribute(Attribute::FnRetThunkExtern);
+ StringRef DefaultCPU = F->getContext().getDefaultTargetCPU();
+ if (!DefaultCPU.empty())
+ B.addAttribute("target-cpu", DefaultCPU);
+ StringRef DefaultFeatures = F->getContext().getDefaultTargetFeatures();
+ if (!DefaultFeatures.empty())
+ B.addAttribute("target-features", DefaultFeatures);
F->addFnAttrs(B);
return F;
}