mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-18 17:55:18 +00:00
Removed #include <iostream> and replaced streams with llvm streams.
llvm-svn: 31949
This commit is contained in:
parent
f284b201e7
commit
dc4b499ace
@ -24,7 +24,6 @@
|
||||
#include "llvm/Support/MutexGuard.h"
|
||||
#include "llvm/System/DynamicLibrary.h"
|
||||
#include "llvm/Target/TargetData.h"
|
||||
#include <iostream>
|
||||
using namespace llvm;
|
||||
|
||||
namespace {
|
||||
@ -159,13 +158,13 @@ static void *CreateArgv(ExecutionEngine *EE,
|
||||
unsigned PtrSize = EE->getTargetData()->getPointerSize();
|
||||
char *Result = new char[(InputArgv.size()+1)*PtrSize];
|
||||
|
||||
DEBUG(std::cerr << "ARGV = " << (void*)Result << "\n");
|
||||
DOUT << "ARGV = " << (void*)Result << "\n";
|
||||
const Type *SBytePtr = PointerType::get(Type::SByteTy);
|
||||
|
||||
for (unsigned i = 0; i != InputArgv.size(); ++i) {
|
||||
unsigned Size = InputArgv[i].size()+1;
|
||||
char *Dest = new char[Size];
|
||||
DEBUG(std::cerr << "ARGV[" << i << "] = " << (void*)Dest << "\n");
|
||||
DOUT << "ARGV[" << i << "] = " << (void*)Dest << "\n";
|
||||
|
||||
std::copy(InputArgv[i].begin(), InputArgv[i].end(), Dest);
|
||||
Dest[Size-1] = 0;
|
||||
@ -403,7 +402,7 @@ GenericValue ExecutionEngine::getConstantValue(const Constant *C) {
|
||||
default:
|
||||
break;
|
||||
}
|
||||
std::cerr << "ConstantExpr not handled as global var init: " << *CE << "\n";
|
||||
llvm_cerr << "ConstantExpr not handled as global var init: " << *CE << "\n";
|
||||
abort();
|
||||
}
|
||||
|
||||
@ -433,7 +432,7 @@ GenericValue ExecutionEngine::getConstantValue(const Constant *C) {
|
||||
assert(0 && "Unknown constant pointer type!");
|
||||
break;
|
||||
default:
|
||||
std::cout << "ERROR: Constant unimp for type: " << *C->getType() << "\n";
|
||||
llvm_cerr << "ERROR: Constant unimp for type: " << *C->getType() << "\n";
|
||||
abort();
|
||||
}
|
||||
return Result;
|
||||
@ -478,7 +477,7 @@ void ExecutionEngine::StoreValueToMemory(GenericValue Val, GenericValue *Ptr,
|
||||
Ptr->Untyped[7] = (unsigned char)(Val.ULongVal >> 56);
|
||||
break;
|
||||
default:
|
||||
std::cout << "Cannot store value of type " << *Ty << "!\n";
|
||||
llvm_cerr << "Cannot store value of type " << *Ty << "!\n";
|
||||
}
|
||||
} else {
|
||||
switch (Ty->getTypeID()) {
|
||||
@ -512,7 +511,7 @@ void ExecutionEngine::StoreValueToMemory(GenericValue Val, GenericValue *Ptr,
|
||||
Ptr->Untyped[0] = (unsigned char)(Val.ULongVal >> 56);
|
||||
break;
|
||||
default:
|
||||
std::cout << "Cannot store value of type " << *Ty << "!\n";
|
||||
llvm_cerr << "Cannot store value of type " << *Ty << "!\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -553,7 +552,7 @@ GenericValue ExecutionEngine::LoadValueFromMemory(GenericValue *Ptr,
|
||||
((uint64_t)Ptr->Untyped[7] << 56);
|
||||
break;
|
||||
default:
|
||||
std::cout << "Cannot load value of type " << *Ty << "!\n";
|
||||
llvm_cerr << "Cannot load value of type " << *Ty << "!\n";
|
||||
abort();
|
||||
}
|
||||
} else {
|
||||
@ -587,7 +586,7 @@ GenericValue ExecutionEngine::LoadValueFromMemory(GenericValue *Ptr,
|
||||
((uint64_t)Ptr->Untyped[0] << 56);
|
||||
break;
|
||||
default:
|
||||
std::cout << "Cannot load value of type " << *Ty << "!\n";
|
||||
llvm_cerr << "Cannot load value of type " << *Ty << "!\n";
|
||||
abort();
|
||||
}
|
||||
}
|
||||
@ -635,7 +634,7 @@ void ExecutionEngine::InitializeMemory(const Constant *Init, void *Addr) {
|
||||
}
|
||||
|
||||
default:
|
||||
std::cerr << "Bad Type: " << *Init->getType() << "\n";
|
||||
llvm_cerr << "Bad Type: " << *Init->getType() << "\n";
|
||||
assert(0 && "Unknown constant type to initialize memory with!");
|
||||
}
|
||||
}
|
||||
@ -719,7 +718,7 @@ void ExecutionEngine::emitGlobals() {
|
||||
sys::DynamicLibrary::SearchForAddressOfSymbol(I->getName().c_str()))
|
||||
addGlobalMapping(I, SymAddr);
|
||||
else {
|
||||
std::cerr << "Could not resolve external global address: "
|
||||
llvm_cerr << "Could not resolve external global address: "
|
||||
<< I->getName() << "\n";
|
||||
abort();
|
||||
}
|
||||
@ -761,7 +760,7 @@ void ExecutionEngine::emitGlobals() {
|
||||
// already in the map.
|
||||
void ExecutionEngine::EmitGlobalVariable(const GlobalVariable *GV) {
|
||||
void *GA = getPointerToGlobalIfAvailable(GV);
|
||||
DEBUG(std::cerr << "Global '" << GV->getName() << "' -> " << GA << "\n");
|
||||
DOUT << "Global '" << GV->getName() << "' -> " << GA << "\n";
|
||||
|
||||
const Type *ElTy = GV->getType()->getElementType();
|
||||
size_t GVSize = (size_t)getTargetData()->getTypeSize(ElTy);
|
||||
|
@ -187,7 +187,7 @@ GenericValue Interpreter::getConstantExprValue (ConstantExpr *CE,
|
||||
getOperandValue(CE->getOperand(1), SF),
|
||||
getOperandValue(CE->getOperand(2), SF));
|
||||
default:
|
||||
std::cerr << "Unhandled ConstantExpr: " << *CE << "\n";
|
||||
llvm_cerr << "Unhandled ConstantExpr: " << *CE << "\n";
|
||||
abort();
|
||||
return GenericValue();
|
||||
}
|
||||
@ -235,7 +235,7 @@ static GenericValue executeAddInst(GenericValue Src1, GenericValue Src2,
|
||||
IMPLEMENT_BINARY_OPERATOR(+, Float);
|
||||
IMPLEMENT_BINARY_OPERATOR(+, Double);
|
||||
default:
|
||||
std::cout << "Unhandled type for Add instruction: " << *Ty << "\n";
|
||||
llvm_cerr << "Unhandled type for Add instruction: " << *Ty << "\n";
|
||||
abort();
|
||||
}
|
||||
return Dest;
|
||||
@ -256,7 +256,7 @@ static GenericValue executeSubInst(GenericValue Src1, GenericValue Src2,
|
||||
IMPLEMENT_BINARY_OPERATOR(-, Float);
|
||||
IMPLEMENT_BINARY_OPERATOR(-, Double);
|
||||
default:
|
||||
std::cout << "Unhandled type for Sub instruction: " << *Ty << "\n";
|
||||
llvm_cerr << "Unhandled type for Sub instruction: " << *Ty << "\n";
|
||||
abort();
|
||||
}
|
||||
return Dest;
|
||||
@ -277,7 +277,7 @@ static GenericValue executeMulInst(GenericValue Src1, GenericValue Src2,
|
||||
IMPLEMENT_BINARY_OPERATOR(*, Float);
|
||||
IMPLEMENT_BINARY_OPERATOR(*, Double);
|
||||
default:
|
||||
std::cout << "Unhandled type for Mul instruction: " << *Ty << "\n";
|
||||
llvm_cerr << "Unhandled type for Mul instruction: " << *Ty << "\n";
|
||||
abort();
|
||||
}
|
||||
return Dest;
|
||||
@ -295,7 +295,7 @@ static GenericValue executeUDivInst(GenericValue Src1, GenericValue Src2,
|
||||
IMPLEMENT_SIGNLESS_BINOP(/, UInt, Int);
|
||||
IMPLEMENT_SIGNLESS_BINOP(/, ULong, Long);
|
||||
default:
|
||||
std::cout << "Unhandled type for UDiv instruction: " << *Ty << "\n";
|
||||
llvm_cerr << "Unhandled type for UDiv instruction: " << *Ty << "\n";
|
||||
abort();
|
||||
}
|
||||
return Dest;
|
||||
@ -310,7 +310,7 @@ static GenericValue executeSDivInst(GenericValue Src1, GenericValue Src2,
|
||||
IMPLEMENT_SIGNLESS_BINOP(/, Int, UInt);
|
||||
IMPLEMENT_SIGNLESS_BINOP(/, Long, ULong);
|
||||
default:
|
||||
std::cout << "Unhandled type for SDiv instruction: " << *Ty << "\n";
|
||||
llvm_cerr << "Unhandled type for SDiv instruction: " << *Ty << "\n";
|
||||
abort();
|
||||
}
|
||||
return Dest;
|
||||
@ -323,7 +323,7 @@ static GenericValue executeFDivInst(GenericValue Src1, GenericValue Src2,
|
||||
IMPLEMENT_BINARY_OPERATOR(/, Float);
|
||||
IMPLEMENT_BINARY_OPERATOR(/, Double);
|
||||
default:
|
||||
std::cout << "Unhandled type for Div instruction: " << *Ty << "\n";
|
||||
llvm_cerr << "Unhandled type for Div instruction: " << *Ty << "\n";
|
||||
abort();
|
||||
}
|
||||
return Dest;
|
||||
@ -338,7 +338,7 @@ static GenericValue executeURemInst(GenericValue Src1, GenericValue Src2,
|
||||
IMPLEMENT_SIGNLESS_BINOP(%, UInt, Int);
|
||||
IMPLEMENT_SIGNLESS_BINOP(%, ULong, Long);
|
||||
default:
|
||||
std::cout << "Unhandled type for URem instruction: " << *Ty << "\n";
|
||||
llvm_cerr << "Unhandled type for URem instruction: " << *Ty << "\n";
|
||||
abort();
|
||||
}
|
||||
return Dest;
|
||||
@ -353,7 +353,7 @@ static GenericValue executeSRemInst(GenericValue Src1, GenericValue Src2,
|
||||
IMPLEMENT_SIGNLESS_BINOP(%, Int, UInt);
|
||||
IMPLEMENT_SIGNLESS_BINOP(%, Long, ULong);
|
||||
default:
|
||||
std::cout << "Unhandled type for Rem instruction: " << *Ty << "\n";
|
||||
llvm_cerr << "Unhandled type for Rem instruction: " << *Ty << "\n";
|
||||
abort();
|
||||
}
|
||||
return Dest;
|
||||
@ -370,7 +370,7 @@ static GenericValue executeFRemInst(GenericValue Src1, GenericValue Src2,
|
||||
Dest.DoubleVal = fmod(Src1.DoubleVal, Src2.DoubleVal);
|
||||
break;
|
||||
default:
|
||||
std::cout << "Unhandled type for Rem instruction: " << *Ty << "\n";
|
||||
llvm_cerr << "Unhandled type for Rem instruction: " << *Ty << "\n";
|
||||
abort();
|
||||
}
|
||||
return Dest;
|
||||
@ -390,7 +390,7 @@ static GenericValue executeAndInst(GenericValue Src1, GenericValue Src2,
|
||||
IMPLEMENT_BINARY_OPERATOR(&, ULong);
|
||||
IMPLEMENT_BINARY_OPERATOR(&, Long);
|
||||
default:
|
||||
std::cout << "Unhandled type for And instruction: " << *Ty << "\n";
|
||||
llvm_cerr << "Unhandled type for And instruction: " << *Ty << "\n";
|
||||
abort();
|
||||
}
|
||||
return Dest;
|
||||
@ -410,7 +410,7 @@ static GenericValue executeOrInst(GenericValue Src1, GenericValue Src2,
|
||||
IMPLEMENT_BINARY_OPERATOR(|, ULong);
|
||||
IMPLEMENT_BINARY_OPERATOR(|, Long);
|
||||
default:
|
||||
std::cout << "Unhandled type for Or instruction: " << *Ty << "\n";
|
||||
llvm_cerr << "Unhandled type for Or instruction: " << *Ty << "\n";
|
||||
abort();
|
||||
}
|
||||
return Dest;
|
||||
@ -430,7 +430,7 @@ static GenericValue executeXorInst(GenericValue Src1, GenericValue Src2,
|
||||
IMPLEMENT_BINARY_OPERATOR(^, ULong);
|
||||
IMPLEMENT_BINARY_OPERATOR(^, Long);
|
||||
default:
|
||||
std::cout << "Unhandled type for Xor instruction: " << *Ty << "\n";
|
||||
llvm_cerr << "Unhandled type for Xor instruction: " << *Ty << "\n";
|
||||
abort();
|
||||
}
|
||||
return Dest;
|
||||
@ -464,7 +464,7 @@ static GenericValue executeSetEQInst(GenericValue Src1, GenericValue Src2,
|
||||
IMPLEMENT_SETCC(==, Double);
|
||||
IMPLEMENT_POINTERSETCC(==);
|
||||
default:
|
||||
std::cout << "Unhandled type for SetEQ instruction: " << *Ty << "\n";
|
||||
llvm_cerr << "Unhandled type for SetEQ instruction: " << *Ty << "\n";
|
||||
abort();
|
||||
}
|
||||
return Dest;
|
||||
@ -487,7 +487,7 @@ static GenericValue executeSetNEInst(GenericValue Src1, GenericValue Src2,
|
||||
IMPLEMENT_POINTERSETCC(!=);
|
||||
|
||||
default:
|
||||
std::cout << "Unhandled type for SetNE instruction: " << *Ty << "\n";
|
||||
llvm_cerr << "Unhandled type for SetNE instruction: " << *Ty << "\n";
|
||||
abort();
|
||||
}
|
||||
return Dest;
|
||||
@ -509,7 +509,7 @@ static GenericValue executeSetLEInst(GenericValue Src1, GenericValue Src2,
|
||||
IMPLEMENT_SETCC(<=, Double);
|
||||
IMPLEMENT_POINTERSETCC(<=);
|
||||
default:
|
||||
std::cout << "Unhandled type for SetLE instruction: " << *Ty << "\n";
|
||||
llvm_cerr << "Unhandled type for SetLE instruction: " << *Ty << "\n";
|
||||
abort();
|
||||
}
|
||||
return Dest;
|
||||
@ -531,7 +531,7 @@ static GenericValue executeSetGEInst(GenericValue Src1, GenericValue Src2,
|
||||
IMPLEMENT_SETCC(>=, Double);
|
||||
IMPLEMENT_POINTERSETCC(>=);
|
||||
default:
|
||||
std::cout << "Unhandled type for SetGE instruction: " << *Ty << "\n";
|
||||
llvm_cerr << "Unhandled type for SetGE instruction: " << *Ty << "\n";
|
||||
abort();
|
||||
}
|
||||
return Dest;
|
||||
@ -553,7 +553,7 @@ static GenericValue executeSetLTInst(GenericValue Src1, GenericValue Src2,
|
||||
IMPLEMENT_SETCC(<, Double);
|
||||
IMPLEMENT_POINTERSETCC(<);
|
||||
default:
|
||||
std::cout << "Unhandled type for SetLT instruction: " << *Ty << "\n";
|
||||
llvm_cerr << "Unhandled type for SetLT instruction: " << *Ty << "\n";
|
||||
abort();
|
||||
}
|
||||
return Dest;
|
||||
@ -575,7 +575,7 @@ static GenericValue executeSetGTInst(GenericValue Src1, GenericValue Src2,
|
||||
IMPLEMENT_SETCC(>, Double);
|
||||
IMPLEMENT_POINTERSETCC(>);
|
||||
default:
|
||||
std::cout << "Unhandled type for SetGT instruction: " << *Ty << "\n";
|
||||
llvm_cerr << "Unhandled type for SetGT instruction: " << *Ty << "\n";
|
||||
abort();
|
||||
}
|
||||
return Dest;
|
||||
@ -608,7 +608,7 @@ void Interpreter::visitBinaryOperator(BinaryOperator &I) {
|
||||
case Instruction::SetLT: R = executeSetLTInst(Src1, Src2, Ty); break;
|
||||
case Instruction::SetGT: R = executeSetGTInst(Src1, Src2, Ty); break;
|
||||
default:
|
||||
std::cout << "Don't know how to handle this binary operator!\n-->" << I;
|
||||
llvm_cerr << "Don't know how to handle this binary operator!\n-->" << I;
|
||||
abort();
|
||||
}
|
||||
|
||||
@ -709,7 +709,7 @@ void Interpreter::visitUnwindInst(UnwindInst &I) {
|
||||
}
|
||||
|
||||
void Interpreter::visitUnreachableInst(UnreachableInst &I) {
|
||||
std::cerr << "ERROR: Program executed an 'unreachable' instruction!\n";
|
||||
llvm_cerr << "ERROR: Program executed an 'unreachable' instruction!\n";
|
||||
abort();
|
||||
}
|
||||
|
||||
@ -977,7 +977,7 @@ static GenericValue executeShlInst(GenericValue Src1, GenericValue Src2,
|
||||
IMPLEMENT_SHIFT(<<, ULong);
|
||||
IMPLEMENT_SHIFT(<<, Long);
|
||||
default:
|
||||
std::cout << "Unhandled type for Shl instruction: " << *Ty << "\n";
|
||||
llvm_cerr << "Unhandled type for Shl instruction: " << *Ty << "\n";
|
||||
}
|
||||
return Dest;
|
||||
}
|
||||
@ -991,7 +991,7 @@ static GenericValue executeLShrInst(GenericValue Src1, GenericValue Src2,
|
||||
IMPLEMENT_SIGNLESS_SHIFT(>>, UInt, Int);
|
||||
IMPLEMENT_SIGNLESS_SHIFT(>>, ULong, Long);
|
||||
default:
|
||||
std::cout << "Unhandled type for LShr instruction: " << *Ty << "\n";
|
||||
llvm_cerr << "Unhandled type for LShr instruction: " << *Ty << "\n";
|
||||
abort();
|
||||
}
|
||||
return Dest;
|
||||
@ -1006,7 +1006,7 @@ static GenericValue executeAShrInst(GenericValue Src1, GenericValue Src2,
|
||||
IMPLEMENT_SIGNLESS_SHIFT(>>, Int, UInt);
|
||||
IMPLEMENT_SIGNLESS_SHIFT(>>, Long, ULong);
|
||||
default:
|
||||
std::cout << "Unhandled type for AShr instruction: " << *Ty << "\n";
|
||||
llvm_cerr << "Unhandled type for AShr instruction: " << *Ty << "\n";
|
||||
abort();
|
||||
}
|
||||
return Dest;
|
||||
@ -1064,14 +1064,14 @@ void Interpreter::visitAShr(ShiftInst &I) {
|
||||
IMPLEMENT_CAST(DESTTY, DESTCTY, Float); \
|
||||
IMPLEMENT_CAST(DESTTY, DESTCTY, Double) \
|
||||
default: \
|
||||
std::cout << "Unhandled cast: " \
|
||||
llvm_cerr << "Unhandled cast: " \
|
||||
<< *SrcTy << " to " << *DstTy << "\n"; \
|
||||
abort(); \
|
||||
} \
|
||||
break
|
||||
|
||||
#define IMPLEMENT_CAST_END \
|
||||
default: std::cout \
|
||||
default: llvm_cerr \
|
||||
<< "Unhandled dest type for cast instruction: " \
|
||||
<< *DstTy << "\n"; \
|
||||
abort(); \
|
||||
@ -1225,7 +1225,7 @@ GenericValue Interpreter::executeCastOperation(Instruction::CastOps opcode,
|
||||
IMPLEMENT_CAST_END
|
||||
break;
|
||||
default:
|
||||
std::cout
|
||||
llvm_cerr
|
||||
<< "Invalid cast opcode for cast instruction: " << opcode << "\n";
|
||||
abort();
|
||||
}
|
||||
@ -1265,7 +1265,7 @@ void Interpreter::visitVAArgInst(VAArgInst &I) {
|
||||
IMPLEMENT_VAARG(Double);
|
||||
IMPLEMENT_VAARG(Bool);
|
||||
default:
|
||||
std::cout << "Unhandled dest type for vaarg instruction: " << *Ty << "\n";
|
||||
llvm_cerr << "Unhandled dest type for vaarg instruction: " << *Ty << "\n";
|
||||
abort();
|
||||
}
|
||||
|
||||
@ -1328,7 +1328,7 @@ void Interpreter::run() {
|
||||
// Track the number of dynamic instructions executed.
|
||||
++NumDynamicInsts;
|
||||
|
||||
DEBUG(std::cerr << "About to interpret: " << I);
|
||||
DOUT << "About to interpret: " << I;
|
||||
visit(I); // Dispatch to one of the visit* methods...
|
||||
}
|
||||
}
|
||||
|
@ -22,6 +22,7 @@
|
||||
#include "Interpreter.h"
|
||||
#include "llvm/DerivedTypes.h"
|
||||
#include "llvm/Module.h"
|
||||
#include "llvm/Support/Streams.h"
|
||||
#include "llvm/System/DynamicLibrary.h"
|
||||
#include "llvm/Target/TargetData.h"
|
||||
#include <csignal>
|
||||
@ -91,7 +92,7 @@ GenericValue Interpreter::callExternalFunction(Function *F,
|
||||
std::map<const Function *, ExFunc>::iterator FI = Functions.find(F);
|
||||
ExFunc Fn = (FI == Functions.end()) ? lookupFunction(F) : FI->second;
|
||||
if (Fn == 0) {
|
||||
std::cout << "Tried to execute an unknown external function: "
|
||||
llvm_cerr << "Tried to execute an unknown external function: "
|
||||
<< F->getType()->getDescription() << " " << F->getName() << "\n";
|
||||
if (F->getName() == "__main")
|
||||
return GenericValue();
|
||||
@ -112,19 +113,19 @@ extern "C" { // Don't add C++ manglings to llvm mangling :)
|
||||
|
||||
// void putchar(sbyte)
|
||||
GenericValue lle_Vb_putchar(FunctionType *M, const vector<GenericValue> &Args) {
|
||||
std::cout << Args[0].SByteVal;
|
||||
llvm_cout << Args[0].SByteVal;
|
||||
return GenericValue();
|
||||
}
|
||||
|
||||
// int putchar(int)
|
||||
GenericValue lle_ii_putchar(FunctionType *M, const vector<GenericValue> &Args) {
|
||||
std::cout << ((char)Args[0].IntVal) << std::flush;
|
||||
llvm_cout << ((char)Args[0].IntVal) << std::flush;
|
||||
return Args[0];
|
||||
}
|
||||
|
||||
// void putchar(ubyte)
|
||||
GenericValue lle_VB_putchar(FunctionType *M, const vector<GenericValue> &Args) {
|
||||
std::cout << Args[0].SByteVal << std::flush;
|
||||
llvm_cout << Args[0].SByteVal << std::flush;
|
||||
return Args[0];
|
||||
}
|
||||
|
||||
@ -330,7 +331,7 @@ GenericValue lle_X_sprintf(FunctionType *M, const vector<GenericValue> &Args) {
|
||||
sprintf(Buffer, FmtBuf, (void*)GVTOP(Args[ArgNo++])); break;
|
||||
case 's':
|
||||
sprintf(Buffer, FmtBuf, (char*)GVTOP(Args[ArgNo++])); break;
|
||||
default: std::cout << "<unknown printf code '" << *FmtStr << "'!>";
|
||||
default: llvm_cerr << "<unknown printf code '" << *FmtStr << "'!>";
|
||||
ArgNo++; break;
|
||||
}
|
||||
strcpy(OutputBuffer, Buffer);
|
||||
@ -348,7 +349,7 @@ GenericValue lle_X_printf(FunctionType *M, const vector<GenericValue> &Args) {
|
||||
NewArgs.push_back(PTOGV(Buffer));
|
||||
NewArgs.insert(NewArgs.end(), Args.begin(), Args.end());
|
||||
GenericValue GV = lle_X_sprintf(M, NewArgs);
|
||||
std::cout << Buffer;
|
||||
llvm_cout << Buffer;
|
||||
return GV;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user