Add code that can be used for debugging

llvm-svn: 4888
This commit is contained in:
Chris Lattner 2002-12-03 20:01:04 +00:00
parent 807a36c458
commit 1d7d4f64c4
1 changed files with 11 additions and 2 deletions

View File

@ -201,6 +201,14 @@ static Record *ParseMachineCode(std::vector<Record*>::iterator InstsB,
abort(); abort();
} }
#if 0
std::cerr << "FVB: " << FirstVaryingBit << " - " << LastFixedBit
<< ": [" << RangeEnd-RangeBegin << "] - ";
for (int i = LastFixedBit-1; i >= (int)FirstVaryingBit; --i)
std::cerr << (int)((BitInit*)getBit(*RangeBegin, i))->getValue() << " ";
std::cerr << "\n";
#endif
if (Record *R = ParseMachineCode(RangeBegin, RangeEnd, M)) { if (Record *R = ParseMachineCode(RangeBegin, RangeEnd, M)) {
if (Match) { if (Match) {
std::cerr << "Error: Multiple matches found:\n"; std::cerr << "Error: Multiple matches found:\n";
@ -281,7 +289,8 @@ static void PrintInstruction(Record *I, unsigned char *Ptr) {
} }
static void ParseMachineCode() { static void ParseMachineCode() {
unsigned char Buffer[] = { 0x55, // push EBP unsigned char Buffer[] = {
0x55, // push EBP
0x89, 0xE5, // mov EBP, ESP 0x89, 0xE5, // mov EBP, ESP
//0x83, 0xEC, 0x08, // sub ESP, 0x8 //0x83, 0xEC, 0x08, // sub ESP, 0x8
0xE8, 1, 2, 3, 4, // call +0x04030201 0xE8, 1, 2, 3, 4, // call +0x04030201
@ -291,10 +300,10 @@ static void ParseMachineCode() {
0x90, // nop 0x90, // nop
0xC9, // leave 0xC9, // leave
0x89, 0xF6, // mov ESI, ESI 0x89, 0xF6, // mov ESI, ESI
0xB8, 1, 2, 3, 4, // mov EAX, 0x04030201
0x68, 1, 2, 3, 4, // push 0x04030201 0x68, 1, 2, 3, 4, // push 0x04030201
0x5e, // pop ESI 0x5e, // pop ESI
0xFF, 0xD0, // call EAX 0xFF, 0xD0, // call EAX
0xB8, 1, 2, 3, 4, // mov EAX, 0x04030201
0x85, 0xC0, // test EAX, EAX 0x85, 0xC0, // test EAX, EAX
0xF4, // hlt 0xF4, // hlt
}; };