1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2025-01-31 12:41:49 +01:00

Move operator << from Value.h to Assembly/Writer.h

llvm-svn: 626
This commit is contained in:
Chris Lattner 2001-09-18 17:03:14 +00:00
parent 7f96c71d97
commit 36b943c222

View File

@ -89,4 +89,19 @@ inline ostream &operator<<(ostream &o, const Type *T) {
return o << T->getDescription();
}
inline ostream &operator<<(ostream &o, const Value &I) {
switch (I.getValueType()) {
case Value::TypeVal: return o << I.castTypeAsserting();
case Value::ConstantVal: WriteToAssembly((const ConstPoolVal*)&I,o);break;
case Value::MethodArgumentVal: return o << I.getType() << " "<< I.getName();
case Value::InstructionVal:WriteToAssembly((const Instruction *)&I, o);break;
case Value::BasicBlockVal: WriteToAssembly((const BasicBlock *)&I, o);break;
case Value::MethodVal: WriteToAssembly((const Method *)&I, o);break;
case Value::GlobalVal: WriteToAssembly((const GlobalVariable*)&I,o);break;
case Value::ModuleVal: WriteToAssembly((const Module *)&I,o); break;
default: return o << "<unknown value type: " << I.getValueType() << ">";
}
return o;
}
#endif