diff options
author | Bob Wilson <bob.wilson@apple.com> | 2013-03-29 23:28:55 +0000 |
---|---|---|
committer | Bob Wilson <bob.wilson@apple.com> | 2013-03-29 23:28:55 +0000 |
commit | f36f15fc06a54b82d00644d2807862b8abfba42d (patch) | |
tree | 01fba67c08a4e8aed1dd7bfc3ce655a6bbb68625 /llvm/tools | |
parent | a7d8c21b8f215447ea7246f05ee0c6576ac0566e (diff) | |
download | bcm5719-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.cpp | 5 |
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"; |