mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-04 09:54:09 +00:00
* Add capability of printing out a global variable
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@534 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
be07811cd0
commit
74f4a766c4
@ -20,6 +20,7 @@
|
||||
#include "llvm/Type.h"
|
||||
|
||||
class Module;
|
||||
class GlobalVariable;
|
||||
class Method;
|
||||
class BasicBlock;
|
||||
class Instruction;
|
||||
@ -30,6 +31,7 @@ class SlotCalculator;
|
||||
// understand later... (the parser only understands whole classes though)
|
||||
//
|
||||
void WriteToAssembly(const Module *Module, ostream &o);
|
||||
void WriteToAssembly(const GlobalVariable *G, ostream &o);
|
||||
void WriteToAssembly(const Method *Method, ostream &o);
|
||||
void WriteToAssembly(const BasicBlock *BB, ostream &o);
|
||||
void WriteToAssembly(const Instruction *In, ostream &o);
|
||||
@ -61,6 +63,10 @@ inline ostream &operator<<(ostream &o, const Module *C) {
|
||||
WriteToAssembly(C, o); return o;
|
||||
}
|
||||
|
||||
inline ostream &operator<<(ostream &o, const GlobalVariable *G) {
|
||||
WriteToAssembly(G, o); return o;
|
||||
}
|
||||
|
||||
inline ostream &operator<<(ostream &o, const Method *M) {
|
||||
WriteToAssembly(M, o); return o;
|
||||
}
|
||||
@ -91,6 +97,7 @@ inline ostream &operator<<(ostream &o, const Value *I) {
|
||||
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() << ">";
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user