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 | d696544eacbab22277924bc5f5acd85f615f31ea (patch) | |
tree | 42cd3dbbacf858384e6be3560e2c4c89f01532a5 | |
parent | 2030d5f3e9bdde75c9585f1df5994dd4d63ce5f1 (diff) |
Run the ObjCARCContract pass for LTO. <rdar://problem/13538084>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178385 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | tools/lto/LTOCodeGenerator.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/tools/lto/LTOCodeGenerator.cpp b/tools/lto/LTOCodeGenerator.cpp index cf7ffe2800..e7c83f94f5 100644 --- a/tools/lto/LTOCodeGenerator.cpp +++ b/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"; |