summaryrefslogtreecommitdiff
path: root/utils/TableGen/InstrInfoEmitter.h
diff options
context:
space:
mode:
authorJim Laskey <jlaskey@mac.com>2005-10-31 17:16:46 +0000
committerJim Laskey <jlaskey@mac.com>2005-10-31 17:16:46 +0000
commitb5a0c0ee059db5994d4fec7ebd03c048b4fcd308 (patch)
treeddeea488a4f9796fc7a9442a59644c72e35bd1e9 /utils/TableGen/InstrInfoEmitter.h
parent10b1dd99f342d2d7af51dd43f3840f3bf40b0b87 (diff)
downloadllvm-b5a0c0ee059db5994d4fec7ebd03c048b4fcd308.tar.gz
llvm-b5a0c0ee059db5994d4fec7ebd03c048b4fcd308.tar.bz2
llvm-b5a0c0ee059db5994d4fec7ebd03c048b4fcd308.tar.xz
Emit itinerary class in instruction info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24122 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/TableGen/InstrInfoEmitter.h')
-rw-r--r--utils/TableGen/InstrInfoEmitter.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/utils/TableGen/InstrInfoEmitter.h b/utils/TableGen/InstrInfoEmitter.h
index 93f0e605ab..2389f3a951 100644
--- a/utils/TableGen/InstrInfoEmitter.h
+++ b/utils/TableGen/InstrInfoEmitter.h
@@ -28,8 +28,11 @@ struct CodeGenInstruction;
class InstrInfoEmitter : public TableGenBackend {
RecordKeeper &Records;
+ bool IsItineraries;
+ std::map<std::string, unsigned> ItinClassMap;
+
public:
- InstrInfoEmitter(RecordKeeper &R) : Records(R) {}
+ InstrInfoEmitter(RecordKeeper &R) : Records(R), IsItineraries(false) {}
// run - Output the instruction set description, returning true on failure.
void run(std::ostream &OS);
@@ -44,6 +47,8 @@ private:
std::map<std::vector<Record*>, unsigned> &EL,
std::map<std::vector<Record*>, unsigned> &OpInfo,
std::ostream &OS);
+ void GatherItinClasses();
+ unsigned ItinClassNumber(std::string ItinName);
void emitShiftedValue(Record *R, StringInit *Val, IntInit *Shift,
std::ostream &OS);
};