summaryrefslogtreecommitdiff
path: root/compiler/llvm
diff options
context:
space:
mode:
author Brian Carlstrom <bdc@google.com> 2013-11-25 16:24:17 -0800
committer Android Git Automerger <android-git-automerger@android.com> 2013-11-25 16:24:17 -0800
commitfa1063b8b2fed872bb652be3737a576baeef3dc3 (patch)
tree895d3f03073fca0ca6715bcb523816fa6f03cc0a /compiler/llvm
parent4541c7a9423239f26b93a4d3dfb3712f89d788b6 (diff)
parent26c6dce526a90a7345600f5f82050a42740d12f8 (diff)
am 26c6dce5: Merge branch \'dalvik-dev\' of persistent-https://googleplex-android.git.corp.google.com/platform/art into merge-goog-dalvik-dev-to-aosp-master
* commit '26c6dce526a90a7345600f5f82050a42740d12f8': (75 commits) Fix dumpsys meminfo <pid>. Minor field name cleanup in debugger. Faster Signature::operator==(const StringPiece& rhs). Add -xGc: MS, CMS, SS options to specify which GC to use. Fix a crash with -XX:DumpGCPerformanceOnShutdown. Add developer option for dumping GC cumulative timings on shutdown. Compact zygote. Fix a libartd.so boot crash when kMovingCollector is true. Inline RosAlloc::Alloc(). Make verifier log hard failures by default. Refactor intrinsic CAS, prepare for 64-bit version. Search for miranda methods in virtual methods instead of interface. Fix concurrent GC to properly handle no zygote. Fix a libartd.so boot crash in Heap::AllocObjectWithAllocator() Add histogram for GC pause times. Remove sleep workaround in thread pool. Avoid some string allocations. Fix histogram test. Improve histogram and timing logger dumping. Fix memory leak caused by not adding lage objects to allocation stack. ...
Diffstat (limited to 'compiler/llvm')
-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 038f5dc4eb..feb495e35f 100644
--- a/compiler/llvm/llvm_compilation_unit.cc
+++ b/compiler/llvm/llvm_compilation_unit.cc
@@ -211,6 +211,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;
@@ -254,7 +255,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()) {
@@ -274,6 +275,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);