Move the Name field in MCInstrDesc to the end, saving 8 bytes of padding per entry on x86_64.

No change on i386.

llvm-svn: 150170
This commit is contained in:
Benjamin Kramer 2012-02-09 11:25:09 +00:00
parent d9ba4fd48f
commit 8e012f5f22
2 changed files with 4 additions and 3 deletions

View File

@ -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.

View File

@ -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<<MCID::Pseudo)";
@ -330,6 +329,8 @@ void InstrInfoEmitter::emitRecord(const CodeGenInstruction &Inst, unsigned Num,
else
OS << "OperandInfo" << OpInfo.find(OperandInfo)->second;
OS << ", \"" << Inst.TheDef->getName() << '"';
OS << " }, // Inst #" << Num << " = " << Inst.TheDef->getName() << "\n";
}