summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/Passes.cpp
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2012-11-30 22:08:55 +0000
committerBill Wendling <isanbard@gmail.com>2012-11-30 22:08:55 +0000
commitc786b31233f58b8edb2909bf94a072041aae0119 (patch)
tree6103c8d1363ee46143a50c80546906dab6bd8068 /llvm/lib/CodeGen/Passes.cpp
parent993acd0c542ab951d568534749fcc71ecb4f55e6 (diff)
downloadbcm5719-llvm-c786b31233f58b8edb2909bf94a072041aae0119.tar.gz
bcm5719-llvm-c786b31233f58b8edb2909bf94a072041aae0119.zip
Replace r168930 with a more reasonable patch.
The original patch removed a bunch of code that the SjLjEHPrepare pass placed into the entry block if all of the landing pads were removed during the CodeGenPrepare class. The more natural way of doing things is to run the CGP *before* we run the SjLjEHPrepare pass. Make it so! llvm-svn: 169044
Diffstat (limited to 'llvm/lib/CodeGen/Passes.cpp')
-rw-r--r--llvm/lib/CodeGen/Passes.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/llvm/lib/CodeGen/Passes.cpp b/llvm/lib/CodeGen/Passes.cpp
index 526d994abbc..36c60b415de 100644
--- a/llvm/lib/CodeGen/Passes.cpp
+++ b/llvm/lib/CodeGen/Passes.cpp
@@ -400,12 +400,16 @@ void TargetPassConfig::addPassesToHandleExceptions() {
}
}
-/// Add common passes that perform LLVM IR to IR transforms in preparation for
-/// instruction selection.
-void TargetPassConfig::addISelPrepare() {
+/// Add pass to prepare the LLVM IR for code generation. This should be done
+/// before exception handling preparation passes.
+void TargetPassConfig::addCodeGenPrepare() {
if (getOptLevel() != CodeGenOpt::None && !DisableCGP)
addPass(createCodeGenPreparePass(getTargetLowering()));
+}
+/// Add common passes that perform LLVM IR to IR transforms in preparation for
+/// instruction selection.
+void TargetPassConfig::addISelPrepare() {
addPass(createStackProtectorPass(getTargetLowering()));
addPreISel();
OpenPOWER on IntegriCloud