From 6b205c3ef12fdeee8c931c614233f2aa5b420994 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Tue, 30 Nov 2004 17:09:06 +0000 Subject: [PATCH] This pass is completely broken. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18387 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Transforms/Scalar/PRE.cpp | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/lib/Transforms/Scalar/PRE.cpp b/lib/Transforms/Scalar/PRE.cpp index 15884b6c761..b8934d213d2 100644 --- a/lib/Transforms/Scalar/PRE.cpp +++ b/lib/Transforms/Scalar/PRE.cpp @@ -152,20 +152,13 @@ bool PRE::runOnFunction(Function &F) { bool PRE::ProcessBlock(BasicBlock *BB) { bool Changed = false; + // DISABLED: This pass invalidates iterators and then uses them. + return false; + // PRE expressions first defined in this block... - Instruction *PrevInst = 0; for (BasicBlock::iterator I = BB->begin(); I != BB->end(); ) - if (ProcessExpression(I)) { - // The current instruction may have been deleted, make sure to back up to - // PrevInst instead. - if (PrevInst) - I = PrevInst; - else - I = BB->begin(); + if (ProcessExpression(I++)) Changed = true; - } else { - PrevInst = I++; - } return Changed; }