From: Benjamin Kramer Date: Thu, 9 Feb 2012 11:25:09 +0000 (+0000) Subject: Move the Name field in MCInstrDesc to the end, saving 8 bytes of padding per entry... X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=133f9d989485376ce8ad0d6c61ba12e913fa6366;p=oota-llvm.git Move the Name field in MCInstrDesc to the end, saving 8 bytes of padding per entry on x86_64. No change on i386. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150170 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/MC/MCInstrDesc.h b/include/llvm/MC/MCInstrDesc.h index 6d71cf570ae..3fe5643369e 100644 --- a/include/llvm/MC/MCInstrDesc.h +++ b/include/llvm/MC/MCInstrDesc.h @@ -137,12 +137,12 @@ public: unsigned short NumDefs; // Num of args that are definitions unsigned short SchedClass; // enum identifying instr sched class unsigned short Size; // Number of bytes in encoding. - const char * Name; // Name of the instruction record in td file unsigned Flags; // Flags identifying machine instr class uint64_t TSFlags; // Target Specific Flag values const unsigned *ImplicitUses; // Registers implicitly read by this instr const unsigned *ImplicitDefs; // Registers implicitly defined by this instr const MCOperandInfo *OpInfo; // 'NumOperands' entries about operands + const char *Name; // Name of the instruction record in td file /// getOperandConstraint - Returns the value of the specific constraint if /// it is set. Returns -1 if it is not set. diff --git a/utils/TableGen/InstrInfoEmitter.cpp b/utils/TableGen/InstrInfoEmitter.cpp index 89abb844615..46c9f86c17f 100644 --- a/utils/TableGen/InstrInfoEmitter.cpp +++ b/utils/TableGen/InstrInfoEmitter.cpp @@ -264,8 +264,7 @@ void InstrInfoEmitter::emitRecord(const CodeGenInstruction &Inst, unsigned Num, OS << Num << ",\t" << MinOperands << ",\t" << Inst.Operands.NumDefs << ",\t" << getItinClassNumber(Inst.TheDef) << ",\t" - << Inst.TheDef->getValueAsInt("Size") << ",\t\"" - << Inst.TheDef->getName() << "\", 0"; + << Inst.TheDef->getValueAsInt("Size") << ",\t0"; // Emit all of the target indepedent flags... if (Inst.isPseudo) OS << "|(1<second; + OS << ", \"" << Inst.TheDef->getName() << '"'; + OS << " }, // Inst #" << Num << " = " << Inst.TheDef->getName() << "\n"; }