From 4744d85c50363ad60fe1767877fb0875e09c6b11 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Mon, 24 Nov 2008 22:40:05 +0000 Subject: [PATCH] minor cleanups to debug code, no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59989 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Transforms/Scalar/CodeGenPrepare.cpp | 57 ++++++++++++++---------- 1 file changed, 33 insertions(+), 24 deletions(-) diff --git a/lib/Transforms/Scalar/CodeGenPrepare.cpp b/lib/Transforms/Scalar/CodeGenPrepare.cpp index 96c2e7013b4..71bd402c544 100644 --- a/lib/Transforms/Scalar/CodeGenPrepare.cpp +++ b/lib/Transforms/Scalar/CodeGenPrepare.cpp @@ -485,40 +485,44 @@ static void EraseDeadInstructions(Value *V) { } namespace { + /// ExtAddrMode - This is an extended version of TargetLowering::AddrMode + /// which holds actual Value*'s for register values. + struct ExtAddrMode : public TargetLowering::AddrMode { + Value *BaseReg; + Value *ScaledReg; + ExtAddrMode() : BaseReg(0), ScaledReg(0) {} + void print(OStream &OS) const; + void dump() const { + print(cerr); + cerr << '\n'; + } + }; +} // end anonymous namespace -/// ExtAddrMode - This is an extended version of TargetLowering::AddrMode which -/// holds actual Value*'s for register values. -struct ExtAddrMode : public TargetLowering::AddrMode { - Value *BaseReg; - Value *ScaledReg; - ExtAddrMode() : BaseReg(0), ScaledReg(0) {} - void dump() const; -}; +static OStream &operator<<(OStream &OS, const ExtAddrMode &AM) { + AM.print(OS); + return OS; +} -static std::ostream &operator<<(std::ostream &OS, const ExtAddrMode &AM) { + +void ExtAddrMode::print(OStream &OS) const { bool NeedPlus = false; OS << "["; - if (AM.BaseGV) + if (BaseGV) OS << (NeedPlus ? " + " : "") - << "GV:%" << AM.BaseGV->getName(), NeedPlus = true; + << "GV:%" << BaseGV->getName(), NeedPlus = true; - if (AM.BaseOffs) - OS << (NeedPlus ? " + " : "") << AM.BaseOffs, NeedPlus = true; + if (BaseOffs) + OS << (NeedPlus ? " + " : "") << BaseOffs, NeedPlus = true; - if (AM.BaseReg) + if (BaseReg) OS << (NeedPlus ? " + " : "") - << "Base:%" << AM.BaseReg->getName(), NeedPlus = true; - if (AM.Scale) + << "Base:%" << BaseReg->getName(), NeedPlus = true; + if (Scale) OS << (NeedPlus ? " + " : "") - << AM.Scale << "*%" << AM.ScaledReg->getName(), NeedPlus = true; - - return OS << "]"; -} - -void ExtAddrMode::dump() const { - cerr << *this << "\n"; -} + << Scale << "*%" << ScaledReg->getName(), NeedPlus = true; + OS << ']'; } static bool TryMatchingScaledValue(Value *ScaleReg, int64_t Scale, @@ -572,6 +576,11 @@ static bool FindMaximalLegalAddressingMode(Value *Addr, const Type *AccessTy, if (Instruction *I = dyn_cast_or_null(AddrInst)) AddrModeInsts.push_back(I); +#if 0 + if (AddrInst && !AddrInst->hasOneUse()) + ; + else +#endif switch (Opcode) { case Instruction::PtrToInt: // PtrToInt is always a noop, as we know that the int type is pointer sized.