diff --git a/llvm/lib/Target/RISCV/RISCVInstrInfo.cpp b/llvm/lib/Target/RISCV/RISCVInstrInfo.cpp index cf419e4d4cb77..158f02a934e09 100644 --- a/llvm/lib/Target/RISCV/RISCVInstrInfo.cpp +++ b/llvm/lib/Target/RISCV/RISCVInstrInfo.cpp @@ -1205,11 +1205,7 @@ unsigned RISCVInstrInfo::getInstSizeInBytes(const MachineInstr &MI) const { } if (MI.getParent() && MI.getParent()->getParent()) { - const auto MF = MI.getMF(); - const auto &TM = static_cast(MF->getTarget()); - const MCSubtargetInfo &STI = *TM.getMCSubtargetInfo(); - const RISCVSubtarget &ST = MF->getSubtarget(); - if (isCompressibleInst(MI, &ST, STI)) + if (isCompressibleInst(MI, STI)) return 2; } return get(Opcode).getSize(); diff --git a/llvm/utils/TableGen/CompressInstEmitter.cpp b/llvm/utils/TableGen/CompressInstEmitter.cpp index 033bb0caa8f00..88e3c64d7c39e 100644 --- a/llvm/utils/TableGen/CompressInstEmitter.cpp +++ b/llvm/utils/TableGen/CompressInstEmitter.cpp @@ -54,8 +54,7 @@ // an instruction is compressable: // // bool isCompressibleInst(const MachineInstr& MI, -// const Subtarget *Subtarget, -// const MCSubtargetInfo &STI); +// const Subtarget &STI); // // The clients that include this auto-generated header file and // invoke these functions can compress an instruction before emitting @@ -613,8 +612,7 @@ void CompressInstEmitter::emitCompressInstEmitter(raw_ostream &o, FuncH.indent(27) << "const MCSubtargetInfo &STI) {\n"; } else if (EType == EmitterType::CheckCompress) { FuncH << "static bool isCompressibleInst(const MachineInstr &MI,\n"; - FuncH.indent(31) << "const " << TargetName << "Subtarget *Subtarget,\n"; - FuncH.indent(31) << "const MCSubtargetInfo &STI) {\n"; + FuncH.indent(31) << "const " << TargetName << "Subtarget &STI) {\n"; } if (CompressPatterns.empty()) { @@ -786,7 +784,7 @@ void CompressInstEmitter::emitCompressInstEmitter(raw_ostream &o, << "MI.getOperand(" << OpIdx << ").isImm() &&\n"; CondStream.indent(6) << TargetName << "ValidateMachineOperand(" << "MI.getOperand(" << OpIdx - << "), Subtarget, " << Entry << ") &&\n"; + << "), &STI, " << Entry << ") &&\n"; } if (CompressOrUncompress) CodeStream.indent(6) @@ -808,7 +806,7 @@ void CompressInstEmitter::emitCompressInstEmitter(raw_ostream &o, CondStream.indent(6) << TargetName << "ValidateMachineOperand(MachineOperand::CreateImm(" - << DestOperandMap[OpNo].Data.Imm << "), SubTarget, " << Entry + << DestOperandMap[OpNo].Data.Imm << "), &STI, " << Entry << ") &&\n"; } if (CompressOrUncompress)