mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-28 09:31:03 +00:00
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
This commit is contained in:
parent
3015dfb7d7
commit
133f9d9894
@ -137,12 +137,12 @@ public:
|
|||||||
unsigned short NumDefs; // Num of args that are definitions
|
unsigned short NumDefs; // Num of args that are definitions
|
||||||
unsigned short SchedClass; // enum identifying instr sched class
|
unsigned short SchedClass; // enum identifying instr sched class
|
||||||
unsigned short Size; // Number of bytes in encoding.
|
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
|
unsigned Flags; // Flags identifying machine instr class
|
||||||
uint64_t TSFlags; // Target Specific Flag values
|
uint64_t TSFlags; // Target Specific Flag values
|
||||||
const unsigned *ImplicitUses; // Registers implicitly read by this instr
|
const unsigned *ImplicitUses; // Registers implicitly read by this instr
|
||||||
const unsigned *ImplicitDefs; // Registers implicitly defined by this instr
|
const unsigned *ImplicitDefs; // Registers implicitly defined by this instr
|
||||||
const MCOperandInfo *OpInfo; // 'NumOperands' entries about operands
|
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
|
/// getOperandConstraint - Returns the value of the specific constraint if
|
||||||
/// it is set. Returns -1 if it is not set.
|
/// it is set. Returns -1 if it is not set.
|
||||||
|
@ -264,8 +264,7 @@ void InstrInfoEmitter::emitRecord(const CodeGenInstruction &Inst, unsigned Num,
|
|||||||
OS << Num << ",\t" << MinOperands << ",\t"
|
OS << Num << ",\t" << MinOperands << ",\t"
|
||||||
<< Inst.Operands.NumDefs << ",\t"
|
<< Inst.Operands.NumDefs << ",\t"
|
||||||
<< getItinClassNumber(Inst.TheDef) << ",\t"
|
<< getItinClassNumber(Inst.TheDef) << ",\t"
|
||||||
<< Inst.TheDef->getValueAsInt("Size") << ",\t\""
|
<< Inst.TheDef->getValueAsInt("Size") << ",\t0";
|
||||||
<< Inst.TheDef->getName() << "\", 0";
|
|
||||||
|
|
||||||
// Emit all of the target indepedent flags...
|
// Emit all of the target indepedent flags...
|
||||||
if (Inst.isPseudo) OS << "|(1<<MCID::Pseudo)";
|
if (Inst.isPseudo) OS << "|(1<<MCID::Pseudo)";
|
||||||
@ -330,6 +329,8 @@ void InstrInfoEmitter::emitRecord(const CodeGenInstruction &Inst, unsigned Num,
|
|||||||
else
|
else
|
||||||
OS << "OperandInfo" << OpInfo.find(OperandInfo)->second;
|
OS << "OperandInfo" << OpInfo.find(OperandInfo)->second;
|
||||||
|
|
||||||
|
OS << ", \"" << Inst.TheDef->getName() << '"';
|
||||||
|
|
||||||
OS << " }, // Inst #" << Num << " = " << Inst.TheDef->getName() << "\n";
|
OS << " }, // Inst #" << Num << " = " << Inst.TheDef->getName() << "\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user