summaryrefslogtreecommitdiffstats
path: root/llvm/tools
diff options
context:
space:
mode:
authorBob Wilson <bob.wilson@apple.com>2013-03-29 23:28:55 +0000
committerBob Wilson <bob.wilson@apple.com>2013-03-29 23:28:55 +0000
commitf36f15fc06a54b82d00644d2807862b8abfba42d (patch)
tree01fba67c08a4e8aed1dd7bfc3ce655a6bbb68625 /llvm/tools
parenta7d8c21b8f215447ea7246f05ee0c6576ac0566e (diff)
downloadbcm5719-llvm-f36f15fc06a54b82d00644d2807862b8abfba42d.tar.gz
bcm5719-llvm-f36f15fc06a54b82d00644d2807862b8abfba42d.zip
Run the ObjCARCContract pass for LTO. <rdar://problem/13538084>
llvm-svn: 178385
Diffstat (limited to 'llvm/tools')
-rw-r--r--llvm/tools/lto/LTOCodeGenerator.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/tools/lto/LTOCodeGenerator.cpp b/llvm/tools/lto/LTOCodeGenerator.cpp
index cf7ffe28009..e7c83f94f53 100644
--- a/llvm/tools/lto/LTOCodeGenerator.cpp
+++ b/llvm/tools/lto/LTOCodeGenerator.cpp
@@ -44,6 +44,7 @@
#include "llvm/Target/TargetRegisterInfo.h"
#include "llvm/Transforms/IPO.h"
#include "llvm/Transforms/IPO/PassManagerBuilder.h"
+#include "llvm/Transforms/ObjCARC.h"
using namespace llvm;
static cl::opt<bool>
@@ -397,6 +398,10 @@ bool LTOCodeGenerator::generateObjectFile(raw_ostream &out,
formatted_raw_ostream Out(out);
+ // If the bitcode files contain ARC code and were compiled with optimization,
+ // the ObjCARCContractPass must be run, so do it unconditionally here.
+ codeGenPasses.add(createObjCARCContractPass());
+
if (_target->addPassesToEmitFile(codeGenPasses, Out,
TargetMachine::CGFT_ObjectFile)) {
errMsg = "target file type not supported";
OpenPOWER on IntegriCloud