[llvm-commits] [llvm] r134444 - in /llvm/trunk: include/llvm/Support/PassManagerBuilder.h lib/CodeGen/LLVMTargetMachine.cpp
Dan Gohman
gohman at apple.com
Tue Jul 5 15:01:44 PDT 2011
Author: djg
Date: Tue Jul 5 17:01:44 2011
New Revision: 134444
URL: http://llvm.org/viewvc/llvm-project?rev=134444&view=rev
Log:
Remove the ObjC ARC passes from the default optimization list, and add
extension points to be used by clang.
Modified:
llvm/trunk/include/llvm/Support/PassManagerBuilder.h
llvm/trunk/lib/CodeGen/LLVMTargetMachine.cpp
Modified: llvm/trunk/include/llvm/Support/PassManagerBuilder.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Support/PassManagerBuilder.h?rev=134444&r1=134443&r2=134444&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Support/PassManagerBuilder.h (original)
+++ llvm/trunk/include/llvm/Support/PassManagerBuilder.h Tue Jul 5 17:01:44 2011
@@ -67,7 +67,12 @@
/// EP_LoopOptimizerEnd - This extension point allows adding loop passes to
/// the end of the loop optimizer.
- EP_LoopOptimizerEnd
+ EP_LoopOptimizerEnd,
+
+ /// EP_ScalarOptimizerLate - This extension point allows adding optimization
+ /// passes after most of the main optimizations, but before the last
+ /// cleanup-ish optimizations.
+ EP_ScalarOptimizerLate
};
/// The Optimization Level - Specify the basic optimization level.
@@ -188,7 +193,6 @@
MPM.add(createArgumentPromotionPass()); // Scalarize uninlined fn args
// Start of function pass.
- MPM.add(createObjCARCExpandPass()); // Canonicalize ObjC ARC code.
// Break up aggregate allocas, using SSAUpdater.
MPM.add(createScalarReplAggregatesPass(-1, false));
MPM.add(createEarlyCSEPass()); // Catch trivial redundancies
@@ -224,7 +228,9 @@
MPM.add(createJumpThreadingPass()); // Thread jumps
MPM.add(createCorrelatedValuePropagationPass());
MPM.add(createDeadStoreEliminationPass()); // Delete dead stores
- MPM.add(createObjCARCOptPass()); // Objective-C ARC optimizations.
+
+ addExtensionsToPM(EP_ScalarOptimizerLate, MPM);
+
MPM.add(createAggressiveDCEPass()); // Delete dead instructions
MPM.add(createCFGSimplificationPass()); // Merge & remove BBs
MPM.add(createInstructionCombiningPass()); // Clean up after everything.
Modified: llvm/trunk/lib/CodeGen/LLVMTargetMachine.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/LLVMTargetMachine.cpp?rev=134444&r1=134443&r2=134444&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/LLVMTargetMachine.cpp (original)
+++ llvm/trunk/lib/CodeGen/LLVMTargetMachine.cpp Tue Jul 5 17:01:44 2011
@@ -303,10 +303,6 @@
if (!DisableVerify)
PM.add(createVerifierPass());
- // Simplify ObjC ARC code. This is done late because it makes re-optimization
- // difficult.
- PM.add(createObjCARCContractPass());
-
// Run loop strength reduction before anything else.
if (OptLevel != CodeGenOpt::None && !DisableLSR) {
PM.add(createLoopStrengthReducePass(getTargetLowering()));
More information about the llvm-commits
mailing list