diff options
author | Akira Hatanaka <ahatanaka@apple.com> | 2015-05-26 20:17:20 +0000 |
---|---|---|
committer | Akira Hatanaka <ahatanaka@apple.com> | 2015-05-26 20:17:20 +0000 |
commit | e36505c7f5a034e591679f7dea7384ba78733356 (patch) | |
tree | ef1a7312de3147d432e21c7ef4027d1e47582d61 /llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp | |
parent | 6f8c1b6be6487d1c0330fa5609763196f43a2a9b (diff) | |
download | bcm5719-llvm-e36505c7f5a034e591679f7dea7384ba78733356.tar.gz bcm5719-llvm-e36505c7f5a034e591679f7dea7384ba78733356.zip |
Remove NoFramePointerElim and NoFramePointerElimOverride from TargetOptions and
remove ExecutionEngine's dependence on CodeGen. NFC.
This is a follow-up to r238080.
Differential Revision: http://reviews.llvm.org/D9830
llvm-svn: 238244
Diffstat (limited to 'llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp')
-rw-r--r-- | llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp b/llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp index d7d3d19d0af..ce1ab594dfa 100644 --- a/llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp +++ b/llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp @@ -177,15 +177,19 @@ LLVMBool LLVMCreateMCJITCompilerForModule( memcpy(&options, PassedOptions, SizeOfPassedOptions); TargetOptions targetOptions; - targetOptions.NoFramePointerElim = options.NoFramePointerElim; targetOptions.EnableFastISel = options.EnableFastISel; std::unique_ptr<Module> Mod(unwrap(M)); if (Mod) // Set function attribute "no-frame-pointer-elim" based on // NoFramePointerElim. - setFunctionAttributes(/* CPU */ "", /* Features */ "", targetOptions, *Mod, - /* AlwaysRecordAttrs */ true); + for (auto &F : *Mod) { + auto Attrs = F.getAttributes(); + auto Value = options.NoFramePointerElim ? "true" : "false"; + Attrs = Attrs.addAttribute(F.getContext(), AttributeSet::FunctionIndex, + "no-frame-pointer-elim", Value); + F.setAttributes(Attrs); + } std::string Error; EngineBuilder builder(std::move(Mod)); |