diff options
author | Chris Lattner <sabre@nondot.org> | 2005-08-03 23:30:08 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2005-08-03 23:30:08 +0000 |
commit | be3e5212e23edc9210f774fac18d801de252e906 (patch) | |
tree | 7e7b04927a7389170a0882748b1dfa132da4706c /lib/Transforms/Scalar/LoopStrengthReduce.cpp | |
parent | 1c73c7be9df4ccd6f97e4ab3f67d0b823efcfaa2 (diff) |
improve debug output
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22638 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/Scalar/LoopStrengthReduce.cpp')
-rw-r--r-- | lib/Transforms/Scalar/LoopStrengthReduce.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/lib/Transforms/Scalar/LoopStrengthReduce.cpp b/lib/Transforms/Scalar/LoopStrengthReduce.cpp index 27d0e5c667..ddce751104 100644 --- a/lib/Transforms/Scalar/LoopStrengthReduce.cpp +++ b/lib/Transforms/Scalar/LoopStrengthReduce.cpp @@ -15,6 +15,7 @@ // //===----------------------------------------------------------------------===// +#define DEBUG_TYPE "loop-reduce" #include "llvm/Transforms/Scalar.h" #include "llvm/Constants.h" #include "llvm/Instructions.h" @@ -553,6 +554,8 @@ void LoopStrengthReduce::StrengthReduceStridedIVUsers(Value *Stride, BasicBlock *LatchBlock = SomeLoopPHI->getIncomingBlock(SomeLoopPHI->getIncomingBlock(0) == Preheader); + DEBUG(std::cerr << "INSERTING IVs of STRIDE " << *Stride << ":\n"); + // FIXME: This loop needs increasing levels of intelligence. // STAGE 0: just emit everything as its own base. // STAGE 1: factor out common vars from bases, and try and push resulting @@ -565,7 +568,9 @@ void LoopStrengthReduce::StrengthReduceStridedIVUsers(Value *Stride, std::sort(UsersToProcess.begin(), UsersToProcess.end()); while (!UsersToProcess.empty()) { SCEVHandle Base = UsersToProcess.front().first; - + + DEBUG(std::cerr << " INSERTING PHI with BASE = " << *Base << ":\n"); + // Create a new Phi for this base, and stick it in the loop header. const Type *ReplacedTy = Base->getType(); PHINode *NewPHI = new PHINode(ReplacedTy, "iv.", PhiInsertBefore); @@ -595,14 +600,14 @@ void LoopStrengthReduce::StrengthReduceStridedIVUsers(Value *Stride, Rewriter.clear(); SCEVHandle NewValSCEV = SCEVAddExpr::get(SCEVUnknown::get(NewPHI), User.Imm); - Value *Replaced = UsersToProcess.front().second.OperandValToReplace; + Value *Replaced = User.OperandValToReplace; Value *newVal = Rewriter.expandCodeFor(NewValSCEV, User.Inst, Replaced->getType()); // Replace the use of the operand Value with the new Phi we just created. - DEBUG(std::cerr << "REPLACING: " << *Replaced << "IN: " << - *User.Inst << "WITH: "<< *newVal << '\n'); User.Inst->replaceUsesOfWith(Replaced, newVal); + DEBUG(std::cerr << " CHANGED: IMM =" << *User.Imm << " Inst = " + << *User.Inst); // Mark old value we replaced as possibly dead, so that it is elminated // if we just replaced the last use of that value. |