[llvm-commits] CVS: llvm/lib/Transforms/Scalar/GVNPRE.cpp
Owen Anderson
resistor at mac.com
Mon Jun 11 09:25:39 PDT 2007
Changes in directory llvm/lib/Transforms/Scalar:
GVNPRE.cpp updated: 1.28 -> 1.29
---
Log message:
Handle functions with multiple exit blocks properly.
---
Diffs of the changes: (+6 -0)
GVNPRE.cpp | 6 ++++++
1 files changed, 6 insertions(+)
Index: llvm/lib/Transforms/Scalar/GVNPRE.cpp
diff -u llvm/lib/Transforms/Scalar/GVNPRE.cpp:1.28 llvm/lib/Transforms/Scalar/GVNPRE.cpp:1.29
--- llvm/lib/Transforms/Scalar/GVNPRE.cpp:1.28 Sat Jun 9 13:35:31 2007
+++ llvm/lib/Transforms/Scalar/GVNPRE.cpp Mon Jun 11 11:25:17 2007
@@ -526,6 +526,9 @@
df_begin(PDT.getRootNode()), E = df_end(PDT.getRootNode());
PDI != E; ++PDI) {
BasicBlock* BB = PDI->getBlock();
+ if (BB == 0)
+ continue;
+
DOUT << "Block: " << BB->getName() << "\n";
DOUT << "TMP_GEN: ";
dump(generatedTemporaries[BB]);
@@ -635,6 +638,9 @@
E = df_end(DT.getRootNode()); DI != E; ++DI) {
BasicBlock* BB = DI->getBlock();
+ if (BB == 0)
+ continue;
+
std::set<Value*, ExprLT>& new_set = new_sets[BB];
std::set<Value*, ExprLT>& availOut = availableOut[BB];
std::set<Value*, ExprLT>& anticIn = anticipatedIn[BB];
More information about the llvm-commits
mailing list