diff options
| author | Vikram S. Adve <vadve@cs.uiuc.edu> | 2002-04-25 04:31:18 +0000 | 
|---|---|---|
| committer | Vikram S. Adve <vadve@cs.uiuc.edu> | 2002-04-25 04:31:18 +0000 | 
| commit | d79d2c3892298427675e6c1b5712beb23031c3ae (patch) | |
| tree | 5f86ef10ccde03ef0e276a6ab6f6ef100fb9e0da /llvm/lib | |
| parent | 709277247509f7ab0888291956e83ed35009397f (diff) | |
| download | bcm5719-llvm-d79d2c3892298427675e6c1b5712beb23031c3ae.tar.gz bcm5719-llvm-d79d2c3892298427675e6c1b5712beb23031c3ae.zip  | |
Improve printing during dumps.
llvm-svn: 2311
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/CodeGen/MachineInstr.cpp | 44 | 
1 files changed, 16 insertions, 28 deletions
diff --git a/llvm/lib/CodeGen/MachineInstr.cpp b/llvm/lib/CodeGen/MachineInstr.cpp index 6a51f978931..b113c602cf2 100644 --- a/llvm/lib/CodeGen/MachineInstr.cpp +++ b/llvm/lib/CodeGen/MachineInstr.cpp @@ -84,6 +84,17 @@ MachineInstr::dump(unsigned int indent) const    cerr << *this;  } +static inline std::ostream &OutputValue(std::ostream &os, +                                        const Value* val) +{ +  os << "(val "; +  if (val && val->hasName()) +    return os << val->getName(); +  else +    return os << (void*) val;              // print address only +  os << ")"; +} +  std::ostream &operator<<(std::ostream& os, const MachineInstr& minstr)  {    os << TargetInstrDescriptors[minstr.opCode].opCodeString; @@ -94,34 +105,17 @@ std::ostream &operator<<(std::ostream& os, const MachineInstr& minstr)        os << "*";    } -#undef DEBUG_VAL_OP_ITERATOR -#ifdef DEBUG_VAL_OP_ITERATOR -  os << "\n\tValue operands are: "; -  for (MachineInstr::val_const_op_iterator vo(&minstr); ! vo.done(); ++vo) -    { -      const Value* val = *vo; -      os << val << (vo.isDef()? "(def), " : ", "); -    } -#endif -   -  - -#if 1    // code for printing implict references -    unsigned NumOfImpRefs =  minstr.getNumImplicitRefs();    if(  NumOfImpRefs > 0 ) { -	 -    os << "\tImplicit:"; - +    os << "\tImplicit: ";      for(unsigned z=0; z < NumOfImpRefs; z++) { -      os << minstr.getImplicitRef(z); +      OutputValue(os, minstr.getImplicitRef(z));         if( minstr.implicitRefIsDefined(z)) os << "*";        os << "\t";      }    } - -#endif +      return os << "\n";  } @@ -133,15 +127,9 @@ static inline std::ostream &OutputOperand(std::ostream &os,      {      case MachineOperand::MO_CCRegister:      case MachineOperand::MO_VirtualRegister: -      val = mop.getVRegValue(); -      os << "(val "; -      if (val && val->hasName()) -        os << val->getName(); -      else -        os << val; -      return os << ")"; +      return OutputValue(os, mop.getVRegValue());      case MachineOperand::MO_MachineRegister: -      return os << "("     << mop.getMachineRegNum() << ")"; +      return os << "(" << mop.getMachineRegNum() << ")";      default:        assert(0 && "Unknown operand type");        return os;  | 

