mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-05 12:31:33 +00:00
the name field of instructions is never set to a non-empty string,
just unconditionally use the def name of the instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45684 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
7358c193fd
commit
af3eb7c758
@ -76,7 +76,6 @@ static void ParseConstraints(const std::string &CStr, CodeGenInstruction *I) {
|
|||||||
|
|
||||||
CodeGenInstruction::CodeGenInstruction(Record *R, const std::string &AsmStr)
|
CodeGenInstruction::CodeGenInstruction(Record *R, const std::string &AsmStr)
|
||||||
: TheDef(R), AsmString(AsmStr) {
|
: TheDef(R), AsmString(AsmStr) {
|
||||||
Name = R->getValueAsString("Name");
|
|
||||||
Namespace = R->getValueAsString("Namespace");
|
Namespace = R->getValueAsString("Namespace");
|
||||||
|
|
||||||
isReturn = R->getValueAsBit("isReturn");
|
isReturn = R->getValueAsBit("isReturn");
|
||||||
@ -214,14 +213,6 @@ CodeGenInstruction::CodeGenInstruction(Record *R, const std::string &AsmStr)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// getName - Return the contents of the instruction Name field if set,
|
|
||||||
/// otherwise return the name of the def.
|
|
||||||
std::string CodeGenInstruction::getName() const {
|
|
||||||
if (!Name.empty()) return Name;
|
|
||||||
return TheDef->getName();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/// getOperandNamed - Return the index of the operand with the specified
|
/// getOperandNamed - Return the index of the operand with the specified
|
||||||
/// non-empty name. If the instruction does not have an operand with the
|
/// non-empty name. If the instruction does not have an operand with the
|
||||||
/// specified name, throw an exception.
|
/// specified name, throw an exception.
|
||||||
|
@ -26,17 +26,12 @@ namespace llvm {
|
|||||||
class CodeGenInstruction {
|
class CodeGenInstruction {
|
||||||
public:
|
public:
|
||||||
Record *TheDef; // The actual record defining this instruction.
|
Record *TheDef; // The actual record defining this instruction.
|
||||||
std::string Name; // Contents of the 'Name' field.
|
|
||||||
std::string Namespace; // The namespace the instruction is in.
|
std::string Namespace; // The namespace the instruction is in.
|
||||||
|
|
||||||
/// AsmString - The format string used to emit a .s file for the
|
/// AsmString - The format string used to emit a .s file for the
|
||||||
/// instruction.
|
/// instruction.
|
||||||
std::string AsmString;
|
std::string AsmString;
|
||||||
|
|
||||||
/// getName - Return the contents of the instruction Name field if set,
|
|
||||||
/// otherwise return the name of the def.
|
|
||||||
std::string getName() const;
|
|
||||||
|
|
||||||
/// OperandInfo - The information we keep track of for each operand in the
|
/// OperandInfo - The information we keep track of for each operand in the
|
||||||
/// operand list for a tablegen instruction.
|
/// operand list for a tablegen instruction.
|
||||||
struct OperandInfo {
|
struct OperandInfo {
|
||||||
|
@ -205,7 +205,7 @@ void InstrInfoEmitter::InferFromPattern(const CodeGenInstruction &Inst,
|
|||||||
fprintf(stderr,
|
fprintf(stderr,
|
||||||
"Warning: mayStore flag explicitly set on instruction '%s'"
|
"Warning: mayStore flag explicitly set on instruction '%s'"
|
||||||
" but flag already inferred from pattern.\n",
|
" but flag already inferred from pattern.\n",
|
||||||
Inst.getName().c_str());
|
Inst.TheDef->getName().c_str());
|
||||||
mayStore = true;
|
mayStore = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -285,7 +285,7 @@ void InstrInfoEmitter::emitRecord(const CodeGenInstruction &Inst, unsigned Num,
|
|||||||
InferFromPattern(Inst, mayStore, isLoad, NeverHasSideEffects);
|
InferFromPattern(Inst, mayStore, isLoad, NeverHasSideEffects);
|
||||||
|
|
||||||
if (NeverHasSideEffects && Inst.mayHaveSideEffects) {
|
if (NeverHasSideEffects && Inst.mayHaveSideEffects) {
|
||||||
std::cerr << "error: Instruction '" << Inst.getName()
|
std::cerr << "error: Instruction '" << Inst.TheDef->getName()
|
||||||
<< "' is marked with 'mayHaveSideEffects', but it can never have them!\n";
|
<< "' is marked with 'mayHaveSideEffects', but it can never have them!\n";
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
@ -298,7 +298,7 @@ void InstrInfoEmitter::emitRecord(const CodeGenInstruction &Inst, unsigned Num,
|
|||||||
|
|
||||||
OS << " { ";
|
OS << " { ";
|
||||||
OS << Num << ",\t" << MinOperands << ",\t"
|
OS << Num << ",\t" << MinOperands << ",\t"
|
||||||
<< Inst.NumDefs << ",\t\"" << Inst.getName();
|
<< Inst.NumDefs << ",\t\"" << Inst.TheDef->getName();
|
||||||
OS << "\",\t" << getItinClassNumber(Inst.TheDef) << ", 0";
|
OS << "\",\t" << getItinClassNumber(Inst.TheDef) << ", 0";
|
||||||
|
|
||||||
// Emit all of the target indepedent flags...
|
// Emit all of the target indepedent flags...
|
||||||
|
Loading…
Reference in New Issue
Block a user