summaryrefslogtreecommitdiff
path: root/compiler/llvm/llvm_compilation_unit.cc
diff options
context:
space:
mode:
author Brian Carlstrom <bdc@google.com> 2013-08-13 22:45:51 -0700
committer Brian Carlstrom <bdc@google.com> 2013-08-13 22:45:51 -0700
commit9a32bade16ef4794ddfc28f1659ac732ab16ec8f (patch)
tree2f908f5d7a51d4e7b028b307e5d43a9e794abc10 /compiler/llvm/llvm_compilation_unit.cc
parent34de74bb9d91534ab7ebbd1f73ee1d96db894b4c (diff)
parent0f40ac31134d9ae0f059d4c448165599dc8459c1 (diff)
Merge remote-tracking branch 'goog/dalvik-dev' into merge-art
Diffstat (limited to 'compiler/llvm/llvm_compilation_unit.cc')
-rw-r--r--compiler/llvm/llvm_compilation_unit.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/compiler/llvm/llvm_compilation_unit.cc b/compiler/llvm/llvm_compilation_unit.cc
index 7542b841a1..9296fc7050 100644
--- a/compiler/llvm/llvm_compilation_unit.cc
+++ b/compiler/llvm/llvm_compilation_unit.cc
@@ -214,6 +214,7 @@ bool LlvmCompilationUnit::MaterializeToRawOStream(::llvm::raw_ostream& out_strea
::llvm::TargetOptions target_options;
target_options.FloatABIType = ::llvm::FloatABI::Soft;
target_options.NoFramePointerElim = true;
+ target_options.NoFramePointerElimNonLeaf = true;
target_options.UseSoftFloat = false;
target_options.EnableFastISel = false;
@@ -257,7 +258,7 @@ bool LlvmCompilationUnit::MaterializeToRawOStream(::llvm::raw_ostream& out_strea
::llvm::OwningPtr< ::llvm::tool_output_file> out_file(
new ::llvm::tool_output_file(bitcode_filename_.c_str(), errmsg,
- ::llvm::sys::fs::F_Binary));
+ ::llvm::raw_fd_ostream::F_Binary));
if (!errmsg.empty()) {
@@ -277,6 +278,7 @@ bool LlvmCompilationUnit::MaterializeToRawOStream(::llvm::raw_ostream& out_strea
// pm_builder.Inliner = ::llvm::createAlwaysInlinerPass();
// pm_builder.Inliner = ::llvm::createPartialInliningPass();
pm_builder.OptLevel = 3;
+ pm_builder.DisableSimplifyLibCalls = 1;
pm_builder.DisableUnitAtATime = 1;
pm_builder.populateFunctionPassManager(fpm);
pm_builder.populateModulePassManager(pm);