mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-01 00:33:09 +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)
|
||||
: TheDef(R), AsmString(AsmStr) {
|
||||
Name = R->getValueAsString("Name");
|
||||
Namespace = R->getValueAsString("Namespace");
|
||||
|
||||
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
|
||||
/// non-empty name. If the instruction does not have an operand with the
|
||||
/// specified name, throw an exception.
|
||||
|
@ -26,17 +26,12 @@ namespace llvm {
|
||||
class CodeGenInstruction {
|
||||
public:
|
||||
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.
|
||||
|
||||
/// AsmString - The format string used to emit a .s file for the
|
||||
/// instruction.
|
||||
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
|
||||
/// operand list for a tablegen instruction.
|
||||
struct OperandInfo {
|
||||
|
@ -205,7 +205,7 @@ void InstrInfoEmitter::InferFromPattern(const CodeGenInstruction &Inst,
|
||||
fprintf(stderr,
|
||||
"Warning: mayStore flag explicitly set on instruction '%s'"
|
||||
" but flag already inferred from pattern.\n",
|
||||
Inst.getName().c_str());
|
||||
Inst.TheDef->getName().c_str());
|
||||
mayStore = true;
|
||||
}
|
||||
|
||||
@ -285,7 +285,7 @@ void InstrInfoEmitter::emitRecord(const CodeGenInstruction &Inst, unsigned Num,
|
||||
InferFromPattern(Inst, mayStore, isLoad, NeverHasSideEffects);
|
||||
|
||||
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";
|
||||
exit(1);
|
||||
}
|
||||
@ -298,7 +298,7 @@ void InstrInfoEmitter::emitRecord(const CodeGenInstruction &Inst, unsigned Num,
|
||||
|
||||
OS << " { ";
|
||||
OS << Num << ",\t" << MinOperands << ",\t"
|
||||
<< Inst.NumDefs << ",\t\"" << Inst.getName();
|
||||
<< Inst.NumDefs << ",\t\"" << Inst.TheDef->getName();
|
||||
OS << "\",\t" << getItinClassNumber(Inst.TheDef) << ", 0";
|
||||
|
||||
// Emit all of the target indepedent flags...
|
||||
|
Loading…
Reference in New Issue
Block a user