@@ -1761,7 +1761,7 @@ void SubtargetEmitter::emitSchedModelHelpers(const std::string &ClassName,
17611761 << " \n ::resolveVariantSchedClass(unsigned SchedClass, const MCInst *MI,"
17621762 << " const MCInstrInfo *MCII, unsigned CPUID) const {\n "
17631763 << " return " << Target << " _MC"
1764- << " ::resolveVariantSchedClassImpl(SchedClass, MI, MCII, CPUID);\n "
1764+ << " ::resolveVariantSchedClassImpl(SchedClass, MI, MCII, *this, CPUID);\n "
17651765 << " } // " << ClassName << " ::resolveVariantSchedClass\n\n " ;
17661766
17671767 STIPredicateExpander PE (Target, /* Indent=*/ 0 );
@@ -1923,7 +1923,8 @@ void SubtargetEmitter::parseFeaturesFunction(raw_ostream &OS) {
19231923void SubtargetEmitter::emitGenMCSubtargetInfo (raw_ostream &OS) {
19241924 OS << " namespace " << Target << " _MC {\n "
19251925 << " unsigned resolveVariantSchedClassImpl(unsigned SchedClass,\n "
1926- << " const MCInst *MI, const MCInstrInfo *MCII, unsigned CPUID) {\n " ;
1926+ << " const MCInst *MI, const MCInstrInfo *MCII, "
1927+ << " const MCSubtargetInfo &STI, unsigned CPUID) {\n " ;
19271928 emitSchedModelHelpersImpl (OS, /* OnlyExpandMCPredicates */ true );
19281929 OS << " }\n " ;
19291930 OS << " } // end namespace " << Target << " _MC\n\n " ;
@@ -1945,7 +1946,7 @@ void SubtargetEmitter::emitGenMCSubtargetInfo(raw_ostream &OS) {
19451946 << " const MCInst *MI, const MCInstrInfo *MCII,\n "
19461947 << " unsigned CPUID) const override {\n "
19471948 << " return " << Target << " _MC"
1948- << " ::resolveVariantSchedClassImpl(SchedClass, MI, MCII, CPUID);\n " ;
1949+ << " ::resolveVariantSchedClassImpl(SchedClass, MI, MCII, *this, CPUID);\n " ;
19491950 OS << " }\n " ;
19501951 if (TGT.getHwModes ().getNumModeIds () > 1 ) {
19511952 OS << " unsigned getHwModeSet() const override;\n " ;
@@ -2073,7 +2074,8 @@ void SubtargetEmitter::run(raw_ostream &OS) {
20732074 OS << " class DFAPacketizer;\n " ;
20742075 OS << " namespace " << Target << " _MC {\n "
20752076 << " unsigned resolveVariantSchedClassImpl(unsigned SchedClass,"
2076- << " const MCInst *MI, const MCInstrInfo *MCII, unsigned CPUID);\n "
2077+ << " const MCInst *MI, const MCInstrInfo *MCII, "
2078+ << " const MCSubtargetInfo &STI, unsigned CPUID);\n "
20772079 << " } // end namespace " << Target << " _MC\n\n " ;
20782080 OS << " struct " << ClassName << " : public TargetSubtargetInfo {\n "
20792081 << " explicit " << ClassName << " (const Triple &TT, StringRef CPU, "
0 commit comments