summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/Passes.cpp
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2012-12-21 02:57:04 +0000
committerEvan Cheng <evan.cheng@apple.com>2012-12-21 02:57:04 +0000
commit59421aee3dc819081097ccbc65c97ee3a7b8bdaa (patch)
tree6bbd0ae6d8d8e41f63ab31d7069f8927cf01b089 /llvm/lib/CodeGen/Passes.cpp
parent3df909d03047da914118cca3ee31cab5b0bdbb6a (diff)
downloadbcm5719-llvm-59421aee3dc819081097ccbc65c97ee3a7b8bdaa.tar.gz
bcm5719-llvm-59421aee3dc819081097ccbc65c97ee3a7b8bdaa.zip
Add targets to skip running the GC passes.
llvm-svn: 170836
Diffstat (limited to 'llvm/lib/CodeGen/Passes.cpp')
-rw-r--r--llvm/lib/CodeGen/Passes.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/llvm/lib/CodeGen/Passes.cpp b/llvm/lib/CodeGen/Passes.cpp
index 96e2cf2d02c..02ac836337a 100644
--- a/llvm/lib/CodeGen/Passes.cpp
+++ b/llvm/lib/CodeGen/Passes.cpp
@@ -513,9 +513,10 @@ void TargetPassConfig::addMachinePasses() {
}
// GC
- addPass(&GCMachineCodeAnalysisID);
- if (PrintGCInfo)
- addPass(createGCInfoPrinter(dbgs()));
+ if (addGCPasses()) {
+ if (PrintGCInfo)
+ addPass(createGCInfoPrinter(dbgs()));
+ }
// Basic block placement.
if (getOptLevel() != CodeGenOpt::None)
@@ -732,6 +733,12 @@ void TargetPassConfig::addMachineLateOptimization() {
printAndVerify("After copy propagation pass");
}
+/// Add standard GC passes.
+bool TargetPassConfig::addGCPasses() {
+ addPass(&GCMachineCodeAnalysisID);
+ return true;
+}
+
/// Add standard basic block placement passes.
void TargetPassConfig::addBlockPlacement() {
AnalysisID PassID = 0;
OpenPOWER on IntegriCloud