mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-05 13:26:55 +00:00
ARM isel bug fix for adds/subs operands.
Modified ARMISelLowering::AdjustInstrPostInstrSelection to handle the full gamut of CPSR defs/uses including instructins whose "optional" cc_out operand is not really optional. This allowed removal of the hasPostISelHook to simplify the .td files and make the implementation more robust. Fixes rdar://10137436: sqlite3 miscompile git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140134 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -288,7 +288,6 @@ void InstrInfoEmitter::emitRecord(const CodeGenInstruction &Inst, unsigned Num,
|
||||
if (Inst.isNotDuplicable) OS << "|(1<<MCID::NotDuplicable)";
|
||||
if (Inst.Operands.hasOptionalDef) OS << "|(1<<MCID::HasOptionalDef)";
|
||||
if (Inst.usesCustomInserter) OS << "|(1<<MCID::UsesCustomInserter)";
|
||||
if (Inst.hasPostISelHook) OS << "|(1<<MCID::HasPostISelHook)";
|
||||
if (Inst.Operands.isVariadic)OS << "|(1<<MCID::Variadic)";
|
||||
if (Inst.hasSideEffects) OS << "|(1<<MCID::UnmodeledSideEffects)";
|
||||
if (Inst.isAsCheapAsAMove) OS << "|(1<<MCID::CheapAsAMove)";
|
||||
@@ -345,7 +344,7 @@ void InstrInfoEmitter::emitEnums(raw_ostream &OS) {
|
||||
|
||||
// We must emit the PHI opcode first...
|
||||
std::string Namespace = Target.getInstNamespace();
|
||||
|
||||
|
||||
if (Namespace.empty()) {
|
||||
fprintf(stderr, "No instructions defined!\n");
|
||||
exit(1);
|
||||
|
Reference in New Issue
Block a user