mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-09 11:25:55 +00:00
Remove a final dependency on the form field in tablegen; which is a remnant
of the old jit and which we don't intend to support in mips16 or micromips. This dependency is for the testing of whether an instruction is a pseudo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175297 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -141,12 +141,6 @@ EncodeInstruction(const MCInst &MI, raw_ostream &OS,
|
|||||||
llvm_unreachable("unimplemented opcode in EncodeInstruction()");
|
llvm_unreachable("unimplemented opcode in EncodeInstruction()");
|
||||||
|
|
||||||
const MCInstrDesc &Desc = MCII.get(TmpInst.getOpcode());
|
const MCInstrDesc &Desc = MCII.get(TmpInst.getOpcode());
|
||||||
uint64_t TSFlags = Desc.TSFlags;
|
|
||||||
|
|
||||||
// Pseudo instructions don't get encoded and shouldn't be here
|
|
||||||
// in the first place!
|
|
||||||
if ((TSFlags & MipsII::FormMask) == MipsII::Pseudo)
|
|
||||||
llvm_unreachable("Pseudo opcode found in EncodeInstruction()");
|
|
||||||
|
|
||||||
// Get byte count of instruction
|
// Get byte count of instruction
|
||||||
unsigned Size = Desc.getSize();
|
unsigned Size = Desc.getSize();
|
||||||
|
@@ -74,6 +74,16 @@ void MipsAsmPrinter::EmitInstruction(const MachineInstr *MI) {
|
|||||||
if (emitPseudoExpansionLowering(OutStreamer, &*I))
|
if (emitPseudoExpansionLowering(OutStreamer, &*I))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
// The inMips16Mode() test is not permanent.
|
||||||
|
// Some instructions are marked as pseudo right now which
|
||||||
|
// would make the test fail for the wrong reason but
|
||||||
|
// that will be fixed soon. We need this here because we are
|
||||||
|
// removing another test for this situation downstream in the
|
||||||
|
// callchain.
|
||||||
|
//
|
||||||
|
if (I->isPseudo() && !Subtarget->inMips16Mode())
|
||||||
|
llvm_unreachable("Pseudo opcode found in EmitInstruction()");
|
||||||
|
|
||||||
MCInst TmpInst0;
|
MCInst TmpInst0;
|
||||||
MCInstLowering.Lower(I, TmpInst0);
|
MCInstLowering.Lower(I, TmpInst0);
|
||||||
OutStreamer.EmitInstruction(TmpInst0);
|
OutStreamer.EmitInstruction(TmpInst0);
|
||||||
|
Reference in New Issue
Block a user