mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-28 21:34:23 +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:
parent
5661fcdde2
commit
79cd411809
@ -141,12 +141,6 @@ EncodeInstruction(const MCInst &MI, raw_ostream &OS,
|
||||
llvm_unreachable("unimplemented opcode in EncodeInstruction()");
|
||||
|
||||
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
|
||||
unsigned Size = Desc.getSize();
|
||||
|
@ -74,6 +74,16 @@ void MipsAsmPrinter::EmitInstruction(const MachineInstr *MI) {
|
||||
if (emitPseudoExpansionLowering(OutStreamer, &*I))
|
||||
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;
|
||||
MCInstLowering.Lower(I, TmpInst0);
|
||||
OutStreamer.EmitInstruction(TmpInst0);
|
||||
|
Loading…
x
Reference in New Issue
Block a user