diff --git a/llvm/lib/Target/RISCV/RISCVInstrInfo.cpp b/llvm/lib/Target/RISCV/RISCVInstrInfo.cpp --- a/llvm/lib/Target/RISCV/RISCVInstrInfo.cpp +++ b/llvm/lib/Target/RISCV/RISCVInstrInfo.cpp @@ -1205,11 +1205,7 @@ } 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 --- 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 @@ 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 @@ << "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 @@ CondStream.indent(6) << TargetName << "ValidateMachineOperand(MachineOperand::CreateImm(" - << DestOperandMap[OpNo].Data.Imm << "), SubTarget, " << Entry + << DestOperandMap[OpNo].Data.Imm << "), &STI, " << Entry << ") &&\n"; } if (CompressOrUncompress)