From 7b1d49b61d212d3428f7505d550ef767f19543f8 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Tue, 3 Dec 2002 20:01:04 +0000 Subject: [PATCH] Add code that can be used for debugging git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4888 91177308-0d34-0410-b5e6-96231b3b80d8 --- support/tools/TableGen/TableGen.cpp | 13 +++++++++++-- utils/TableGen/TableGen.cpp | 13 +++++++++++-- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/support/tools/TableGen/TableGen.cpp b/support/tools/TableGen/TableGen.cpp index 6f330ea8187..35df907c2d6 100644 --- a/support/tools/TableGen/TableGen.cpp +++ b/support/tools/TableGen/TableGen.cpp @@ -201,6 +201,14 @@ static Record *ParseMachineCode(std::vector::iterator InstsB, 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 (Match) { std::cerr << "Error: Multiple matches found:\n"; @@ -281,7 +289,8 @@ static void PrintInstruction(Record *I, unsigned char *Ptr) { } static void ParseMachineCode() { - unsigned char Buffer[] = { 0x55, // push EBP + unsigned char Buffer[] = { + 0x55, // push EBP 0x89, 0xE5, // mov EBP, ESP //0x83, 0xEC, 0x08, // sub ESP, 0x8 0xE8, 1, 2, 3, 4, // call +0x04030201 @@ -291,10 +300,10 @@ static void ParseMachineCode() { 0x90, // nop 0xC9, // leave 0x89, 0xF6, // mov ESI, ESI - 0xB8, 1, 2, 3, 4, // mov EAX, 0x04030201 0x68, 1, 2, 3, 4, // push 0x04030201 0x5e, // pop ESI 0xFF, 0xD0, // call EAX + 0xB8, 1, 2, 3, 4, // mov EAX, 0x04030201 0x85, 0xC0, // test EAX, EAX 0xF4, // hlt }; diff --git a/utils/TableGen/TableGen.cpp b/utils/TableGen/TableGen.cpp index 6f330ea8187..35df907c2d6 100644 --- a/utils/TableGen/TableGen.cpp +++ b/utils/TableGen/TableGen.cpp @@ -201,6 +201,14 @@ static Record *ParseMachineCode(std::vector::iterator InstsB, 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 (Match) { std::cerr << "Error: Multiple matches found:\n"; @@ -281,7 +289,8 @@ static void PrintInstruction(Record *I, unsigned char *Ptr) { } static void ParseMachineCode() { - unsigned char Buffer[] = { 0x55, // push EBP + unsigned char Buffer[] = { + 0x55, // push EBP 0x89, 0xE5, // mov EBP, ESP //0x83, 0xEC, 0x08, // sub ESP, 0x8 0xE8, 1, 2, 3, 4, // call +0x04030201 @@ -291,10 +300,10 @@ static void ParseMachineCode() { 0x90, // nop 0xC9, // leave 0x89, 0xF6, // mov ESI, ESI - 0xB8, 1, 2, 3, 4, // mov EAX, 0x04030201 0x68, 1, 2, 3, 4, // push 0x04030201 0x5e, // pop ESI 0xFF, 0xD0, // call EAX + 0xB8, 1, 2, 3, 4, // mov EAX, 0x04030201 0x85, 0xC0, // test EAX, EAX 0xF4, // hlt }; -- 2.34.1