diff --git a/llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h b/llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h --- a/llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h +++ b/llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h @@ -568,37 +568,36 @@ const int64_t *MatchTable, const TargetInstrInfo &TII, MachineRegisterInfo &MRI, const TargetRegisterInfo &TRI, const RegisterBankInfo &RBI, const PredicateBitset &AvailableFeatures, - CodeGenCoverage *CoverageInfo, - GISelChangeObserver *Observer = nullptr) const; + CodeGenCoverage *CoverageInfo, GISelChangeObserver *Observer = nullptr); virtual const int64_t *getMatchTable() const { llvm_unreachable("Should have been overridden by tablegen if used"); } - virtual bool testImmPredicate_I64(unsigned, int64_t) const { + virtual bool testImmPredicate_I64(unsigned, int64_t) { llvm_unreachable( "Subclasses must override this with a tablegen-erated function"); } - virtual bool testImmPredicate_APInt(unsigned, const APInt &) const { + virtual bool testImmPredicate_APInt(unsigned, const APInt &) { llvm_unreachable( "Subclasses must override this with a tablegen-erated function"); } - virtual bool testImmPredicate_APFloat(unsigned, const APFloat &) const { + virtual bool testImmPredicate_APFloat(unsigned, const APFloat &) { llvm_unreachable( "Subclasses must override this with a tablegen-erated function"); } virtual bool testMIPredicate_MI(unsigned, const MachineInstr &, - const MatcherState &State) const { + const MatcherState &State) { llvm_unreachable( "Subclasses must override this with a tablegen-erated function"); } - virtual bool testSimplePredicate(unsigned) const { + virtual bool testSimplePredicate(unsigned) { llvm_unreachable("Subclass does not implement testSimplePredicate!"); } virtual void runCustomAction(unsigned, const MatcherState &State, - NewMIVector &OutMIs) const { + NewMIVector &OutMIs) { llvm_unreachable("Subclass does not implement runCustomAction!"); } diff --git a/llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h b/llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h --- a/llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h +++ b/llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h @@ -48,7 +48,7 @@ const int64_t *MatchTable, const TargetInstrInfo &TII, MachineRegisterInfo &MRI, const TargetRegisterInfo &TRI, const RegisterBankInfo &RBI, const PredicateBitset &AvailableFeatures, - CodeGenCoverage *CoverageInfo, GISelChangeObserver *Observer) const { + CodeGenCoverage *CoverageInfo, GISelChangeObserver *Observer) { uint64_t CurrentIdx = 0; SmallVector OnFailResumeAt; diff --git a/llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp b/llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp --- a/llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp +++ b/llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp @@ -93,7 +93,7 @@ private: /// tblgen-erated 'select' implementation, used as the initial selector for /// the patterns that don't require complex C++. - bool selectImpl(MachineInstr &I, CodeGenCoverage &CoverageInfo) const; + bool selectImpl(MachineInstr &I, CodeGenCoverage &CoverageInfo); // A lowering phase that runs before any selection attempts. // Returns true if the instruction was modified. diff --git a/llvm/lib/Target/AArch64/GISel/AArch64O0PreLegalizerCombiner.cpp b/llvm/lib/Target/AArch64/GISel/AArch64O0PreLegalizerCombiner.cpp --- a/llvm/lib/Target/AArch64/GISel/AArch64O0PreLegalizerCombiner.cpp +++ b/llvm/lib/Target/AArch64/GISel/AArch64O0PreLegalizerCombiner.cpp @@ -62,7 +62,7 @@ static const char *getName() { return "AArch64O0PreLegalizerCombiner"; } - bool tryCombineAll(MachineInstr &I) const; + bool tryCombineAll(MachineInstr &I); private: #define GET_GICOMBINER_CLASS_MEMBERS diff --git a/llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp b/llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp --- a/llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp +++ b/llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp @@ -358,7 +358,7 @@ static const char *getName() { return "AArch64PostLegalizerCombiner"; } - bool tryCombineAll(MachineInstr &I) const; + bool tryCombineAll(MachineInstr &I); private: #define GET_GICOMBINER_CLASS_MEMBERS diff --git a/llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp b/llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp --- a/llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp +++ b/llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp @@ -1087,7 +1087,7 @@ static const char *getName() { return "AArch6400PreLegalizerCombiner"; } - bool tryCombineAll(MachineInstr &I) const; + bool tryCombineAll(MachineInstr &I); private: #define GET_GICOMBINER_CLASS_MEMBERS diff --git a/llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp b/llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp --- a/llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp +++ b/llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp @@ -363,7 +363,7 @@ static const char *getName() { return "AArch6400PreLegalizerCombiner"; } - bool tryCombineAll(MachineInstr &I) const; + bool tryCombineAll(MachineInstr &I); private: #define GET_GICOMBINER_CLASS_MEMBERS diff --git a/llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h b/llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h --- a/llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h +++ b/llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h @@ -79,7 +79,7 @@ const TargetRegisterInfo &TRI) const; /// tblgen-erated 'select' implementation. - bool selectImpl(MachineInstr &I, CodeGenCoverage &CoverageInfo) const; + bool selectImpl(MachineInstr &I, CodeGenCoverage &CoverageInfo); MachineOperand getSubOperand64(MachineOperand &MO, const TargetRegisterClass &SubRC, @@ -99,16 +99,16 @@ bool selectG_AMDGPU_MAD_64_32(MachineInstr &I) const; bool selectG_EXTRACT(MachineInstr &I) const; bool selectG_FMA_FMAD(MachineInstr &I) const; - bool selectG_MERGE_VALUES(MachineInstr &I) const; + bool selectG_MERGE_VALUES(MachineInstr &I); bool selectG_UNMERGE_VALUES(MachineInstr &I) const; - bool selectG_BUILD_VECTOR(MachineInstr &I) const; + bool selectG_BUILD_VECTOR(MachineInstr &I); bool selectG_PTR_ADD(MachineInstr &I) const; bool selectG_IMPLICIT_DEF(MachineInstr &I) const; bool selectG_INSERT(MachineInstr &I) const; bool selectG_SBFX_UBFX(MachineInstr &I) const; - bool selectInterpP1F16(MachineInstr &MI) const; - bool selectWritelane(MachineInstr &MI) const; + bool selectInterpP1F16(MachineInstr &MI); + bool selectWritelane(MachineInstr &MI); bool selectDivScale(MachineInstr &MI) const; bool selectIntrinsicCmp(MachineInstr &MI) const; bool selectBallot(MachineInstr &I) const; @@ -116,18 +116,18 @@ bool selectRelocConstant(MachineInstr &I) const; bool selectGroupStaticSize(MachineInstr &I) const; bool selectReturnAddress(MachineInstr &I) const; - bool selectG_INTRINSIC(MachineInstr &I) const; + bool selectG_INTRINSIC(MachineInstr &I); bool selectEndCfIntrinsic(MachineInstr &MI) const; bool selectDSOrderedIntrinsic(MachineInstr &MI, Intrinsic::ID IID) const; bool selectDSGWSIntrinsic(MachineInstr &MI, Intrinsic::ID IID) const; bool selectDSAppendConsume(MachineInstr &MI, bool IsAppend) const; - bool selectSBarrier(MachineInstr &MI) const; + bool selectSBarrier(MachineInstr &MI); bool selectDSBvhStackIntrinsic(MachineInstr &MI) const; bool selectImageIntrinsic(MachineInstr &MI, const AMDGPU::ImageDimIntrinsicInfo *Intr) const; - bool selectG_INTRINSIC_W_SIDE_EFFECTS(MachineInstr &I) const; + bool selectG_INTRINSIC_W_SIDE_EFFECTS(MachineInstr &I); int getS_CMPOpcode(CmpInst::Predicate P, unsigned Size) const; bool selectG_ICMP(MachineInstr &I) const; bool hasVgprParts(ArrayRef AddrInfo) const; @@ -135,8 +135,8 @@ SmallVectorImpl &AddrInfo) const; void initM0(MachineInstr &I) const; - bool selectG_LOAD_STORE_ATOMICRMW(MachineInstr &I) const; - bool selectG_SELECT(MachineInstr &I) const; + bool selectG_LOAD_STORE_ATOMICRMW(MachineInstr &I); + bool selectG_SELECT(MachineInstr &I); bool selectG_BRCOND(MachineInstr &I) const; bool selectG_GLOBAL_VALUE(MachineInstr &I) const; bool selectG_PTRMASK(MachineInstr &I) const; diff --git a/llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp b/llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp --- a/llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp +++ b/llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp @@ -541,7 +541,7 @@ return true; } -bool AMDGPUInstructionSelector::selectG_MERGE_VALUES(MachineInstr &MI) const { +bool AMDGPUInstructionSelector::selectG_MERGE_VALUES(MachineInstr &MI) { MachineBasicBlock *BB = MI.getParent(); Register DstReg = MI.getOperand(0).getReg(); LLT DstTy = MRI->getType(DstReg); @@ -625,7 +625,7 @@ return true; } -bool AMDGPUInstructionSelector::selectG_BUILD_VECTOR(MachineInstr &MI) const { +bool AMDGPUInstructionSelector::selectG_BUILD_VECTOR(MachineInstr &MI) { assert(MI.getOpcode() == AMDGPU::G_BUILD_VECTOR_TRUNC || MI.getOpcode() == AMDGPU::G_BUILD_VECTOR); @@ -876,7 +876,7 @@ return constrainSelectedInstRegOperands(*MIB, TII, TRI, RBI); } -bool AMDGPUInstructionSelector::selectInterpP1F16(MachineInstr &MI) const { +bool AMDGPUInstructionSelector::selectInterpP1F16(MachineInstr &MI) { if (STI.getLDSBankCount() != 16) return selectImpl(MI, *CoverageInfo); @@ -926,7 +926,7 @@ // the lane selector doesn't count as a use of the constant bus). However, it is // still required to abide by the 1 SGPR rule. Fix this up if we might have // multiple SGPRs. -bool AMDGPUInstructionSelector::selectWritelane(MachineInstr &MI) const { +bool AMDGPUInstructionSelector::selectWritelane(MachineInstr &MI) { // With a constant bus limit of at least 2, there's no issue. if (STI.getConstantBusLimit(AMDGPU::V_WRITELANE_B32) > 1) return selectImpl(MI, *CoverageInfo); @@ -1019,7 +1019,7 @@ return constrainSelectedInstRegOperands(*MIB, TII, TRI, RBI); } -bool AMDGPUInstructionSelector::selectG_INTRINSIC(MachineInstr &I) const { +bool AMDGPUInstructionSelector::selectG_INTRINSIC(MachineInstr &I) { unsigned IntrinsicID = cast(I).getIntrinsicID(); switch (IntrinsicID) { case Intrinsic::amdgcn_if_break: { @@ -1709,7 +1709,7 @@ return constrainSelectedInstRegOperands(*MIB, TII, TRI, RBI); } -bool AMDGPUInstructionSelector::selectSBarrier(MachineInstr &MI) const { +bool AMDGPUInstructionSelector::selectSBarrier(MachineInstr &MI) { if (TM.getOptLevel() > CodeGenOpt::None) { unsigned WGSize = STI.getFlatWorkGroupSizes(MF->getFunction()).second; if (WGSize <= STI.getWavefrontSize()) { @@ -2027,7 +2027,7 @@ } bool AMDGPUInstructionSelector::selectG_INTRINSIC_W_SIDE_EFFECTS( - MachineInstr &I) const { + MachineInstr &I) { unsigned IntrinsicID = cast(I).getIntrinsicID(); switch (IntrinsicID) { case Intrinsic::amdgcn_end_cf: @@ -2070,7 +2070,7 @@ return selectImpl(I, *CoverageInfo); } -bool AMDGPUInstructionSelector::selectG_SELECT(MachineInstr &I) const { +bool AMDGPUInstructionSelector::selectG_SELECT(MachineInstr &I) { if (selectImpl(I, *CoverageInfo)) return true; @@ -2698,8 +2698,7 @@ } } -bool AMDGPUInstructionSelector::selectG_LOAD_STORE_ATOMICRMW( - MachineInstr &I) const { +bool AMDGPUInstructionSelector::selectG_LOAD_STORE_ATOMICRMW(MachineInstr &I) { initM0(I); return selectImpl(I, *CoverageInfo); } diff --git a/llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp b/llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp --- a/llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp +++ b/llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp @@ -63,7 +63,7 @@ static const char *getName() { return "AMDGPUPostLegalizerCombinerImpl"; } - bool tryCombineAll(MachineInstr &I) const; + bool tryCombineAll(MachineInstr &I); struct FMinFMaxLegacyInfo { Register LHS; diff --git a/llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp b/llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp --- a/llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp +++ b/llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp @@ -61,7 +61,7 @@ static const char *getName() { return "AMDGPUPreLegalizerCombinerImpl"; } - bool tryCombineAll(MachineInstr &I) const; + bool tryCombineAll(MachineInstr &I); struct ClampI64ToI16MatchInfo { int64_t Cmp1 = 0; diff --git a/llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp b/llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp --- a/llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp +++ b/llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp @@ -65,7 +65,7 @@ static const char *getName() { return "AMDGPURegBankCombinerImpl"; } - bool tryCombineAll(MachineInstr &I) const; + bool tryCombineAll(MachineInstr &I); bool isVgprRegBank(Register Reg) const; Register getAsVgpr(Register Reg) const; diff --git a/llvm/lib/Target/ARM/ARMInstructionSelector.cpp b/llvm/lib/Target/ARM/ARMInstructionSelector.cpp --- a/llvm/lib/Target/ARM/ARMInstructionSelector.cpp +++ b/llvm/lib/Target/ARM/ARMInstructionSelector.cpp @@ -39,7 +39,7 @@ static const char *getName() { return DEBUG_TYPE; } private: - bool selectImpl(MachineInstr &I, CodeGenCoverage &CoverageInfo) const; + bool selectImpl(MachineInstr &I, CodeGenCoverage &CoverageInfo); struct CmpConstants; struct InsertInfo; diff --git a/llvm/lib/Target/M68k/GISel/M68kInstructionSelector.cpp b/llvm/lib/Target/M68k/GISel/M68kInstructionSelector.cpp --- a/llvm/lib/Target/M68k/GISel/M68kInstructionSelector.cpp +++ b/llvm/lib/Target/M68k/GISel/M68kInstructionSelector.cpp @@ -32,7 +32,7 @@ static const char *getName() { return DEBUG_TYPE; } private: - bool selectImpl(MachineInstr &I, CodeGenCoverage &CoverageInfo) const; + bool selectImpl(MachineInstr &I, CodeGenCoverage &CoverageInfo); const M68kTargetMachine &TM; const M68kInstrInfo &TII; diff --git a/llvm/lib/Target/Mips/MipsInstructionSelector.cpp b/llvm/lib/Target/Mips/MipsInstructionSelector.cpp --- a/llvm/lib/Target/Mips/MipsInstructionSelector.cpp +++ b/llvm/lib/Target/Mips/MipsInstructionSelector.cpp @@ -39,7 +39,7 @@ static const char *getName() { return DEBUG_TYPE; } private: - bool selectImpl(MachineInstr &I, CodeGenCoverage &CoverageInfo) const; + bool selectImpl(MachineInstr &I, CodeGenCoverage &CoverageInfo); bool isRegInGprb(Register Reg, MachineRegisterInfo &MRI) const; bool isRegInFprb(Register Reg, MachineRegisterInfo &MRI) const; bool materialize32BitImm(Register DestReg, APInt Imm, diff --git a/llvm/lib/Target/Mips/MipsPostLegalizerCombiner.cpp b/llvm/lib/Target/Mips/MipsPostLegalizerCombiner.cpp --- a/llvm/lib/Target/Mips/MipsPostLegalizerCombiner.cpp +++ b/llvm/lib/Target/Mips/MipsPostLegalizerCombiner.cpp @@ -60,7 +60,7 @@ static const char *getName() { return "MipsPostLegalizerCombiner"; } - bool tryCombineAll(MachineInstr &I) const; + bool tryCombineAll(MachineInstr &I); private: #define GET_GICOMBINER_CLASS_MEMBERS diff --git a/llvm/lib/Target/PowerPC/GISel/PPCInstructionSelector.cpp b/llvm/lib/Target/PowerPC/GISel/PPCInstructionSelector.cpp --- a/llvm/lib/Target/PowerPC/GISel/PPCInstructionSelector.cpp +++ b/llvm/lib/Target/PowerPC/GISel/PPCInstructionSelector.cpp @@ -46,7 +46,7 @@ private: /// tblgen generated 'select' implementation that is used as the initial /// selector for the patterns that do not require complex C++. - bool selectImpl(MachineInstr &I, CodeGenCoverage &CoverageInfo) const; + bool selectImpl(MachineInstr &I, CodeGenCoverage &CoverageInfo); bool selectFPToInt(MachineInstr &I, MachineBasicBlock &MBB, MachineRegisterInfo &MRI) const; diff --git a/llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp b/llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp --- a/llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp +++ b/llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp @@ -39,7 +39,7 @@ static const char *getName() { return DEBUG_TYPE; } private: - bool selectImpl(MachineInstr &I, CodeGenCoverage &CoverageInfo) const; + bool selectImpl(MachineInstr &I, CodeGenCoverage &CoverageInfo); const RISCVSubtarget &STI; const RISCVInstrInfo &TII; diff --git a/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp b/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp --- a/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp +++ b/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp @@ -73,7 +73,7 @@ private: // tblgen-erated 'select' implementation, used as the initial selector for // the patterns that don't require complex C++. - bool selectImpl(MachineInstr &I, CodeGenCoverage &CoverageInfo) const; + bool selectImpl(MachineInstr &I, CodeGenCoverage &CoverageInfo); // All instruction-specific selection that didn't happen in "select()". // Is basically a large Switch/Case delegating to all other select method. diff --git a/llvm/lib/Target/X86/X86InstructionSelector.cpp b/llvm/lib/Target/X86/X86InstructionSelector.cpp --- a/llvm/lib/Target/X86/X86InstructionSelector.cpp +++ b/llvm/lib/Target/X86/X86InstructionSelector.cpp @@ -68,7 +68,7 @@ private: /// tblgen-erated 'select' implementation, used as the initial selector for /// the patterns that don't require complex C++. - bool selectImpl(MachineInstr &I, CodeGenCoverage &CoverageInfo) const; + bool selectImpl(MachineInstr &I, CodeGenCoverage &CoverageInfo); // TODO: remove after supported by Tablegen-erated instruction selection. unsigned getLoadStoreOp(const LLT &Ty, const RegisterBank &RB, unsigned Opc, diff --git a/llvm/test/TableGen/GlobalISelCombinerMatchTableEmitter/match-table-permutations.td b/llvm/test/TableGen/GlobalISelCombinerMatchTableEmitter/match-table-permutations.td --- a/llvm/test/TableGen/GlobalISelCombinerMatchTableEmitter/match-table-permutations.td +++ b/llvm/test/TableGen/GlobalISelCombinerMatchTableEmitter/match-table-permutations.td @@ -30,7 +30,7 @@ Test0 ]>; -// CHECK: bool GenMyCombiner::testMIPredicate_MI(unsigned PredicateID, const MachineInstr & MI, const MatcherState &State) const { +// CHECK: bool GenMyCombiner::testMIPredicate_MI(unsigned PredicateID, const MachineInstr & MI, const MatcherState &State) { // CHECK-NEXT: switch (PredicateID) { // CHECK-NEXT: case GICXXPred_MI_Predicate_GICombiner0: { // CHECK-NEXT: // Pattern Alternatives: [a[0], b[0], c[0]] diff --git a/llvm/test/TableGen/GlobalISelCombinerMatchTableEmitter/match-table.td b/llvm/test/TableGen/GlobalISelCombinerMatchTableEmitter/match-table.td --- a/llvm/test/TableGen/GlobalISelCombinerMatchTableEmitter/match-table.td +++ b/llvm/test/TableGen/GlobalISelCombinerMatchTableEmitter/match-table.td @@ -90,7 +90,7 @@ // CHECK-NEXT: } // Verify we reset MatchData on each tryCombineAll -// CHECK: bool GenMyCombiner::tryCombineAll(MachineInstr &I) const { +// CHECK: bool GenMyCombiner::tryCombineAll(MachineInstr &I) { // CHECK-NEXT: const TargetSubtargetInfo &ST = MF.getSubtarget(); // CHECK-NEXT: const PredicateBitset AvailableFeatures = getAvailableFeatures(); // CHECK-NEXT: NewMIVector OutMIs; @@ -111,7 +111,7 @@ // CHECK-NEXT: GICXXCustomAction_CombineApplyGICombiner1, // CHECK-NEXT: GICXXCustomAction_CombineApplyGICombiner2, // CHECK-NEXT: }; -// CHECK-NEXT: void GenMyCombiner::runCustomAction(unsigned ApplyID, const MatcherState &State, NewMIVector &OutMIs) const { +// CHECK-NEXT: void GenMyCombiner::runCustomAction(unsigned ApplyID, const MatcherState &State, NewMIVector &OutMIs) { // CHECK-NEXT: switch(ApplyID) { // CHECK-NEXT: case GICXXCustomAction_CombineApplyGICombiner0:{ // CHECK-NEXT: APPLY diff --git a/llvm/test/TableGen/GlobalISelEmitter.td b/llvm/test/TableGen/GlobalISelEmitter.td --- a/llvm/test/TableGen/GlobalISelEmitter.td +++ b/llvm/test/TableGen/GlobalISelEmitter.td @@ -76,13 +76,13 @@ // CHECK-NEXT: const ExecInfoTy ExecInfo; // CHECK-NEXT: static MyTargetInstructionSelector::ComplexMatcherMemFn ComplexPredicateFns[]; // CHECK-NEXT: static MyTargetInstructionSelector::CustomRendererFn CustomRenderers[]; -// CHECK-NEXT: bool testImmPredicate_I64(unsigned PredicateID, int64_t Imm) const override; -// CHECK-NEXT: bool testImmPredicate_APInt(unsigned PredicateID, const APInt &Imm) const override; -// CHECK-NEXT: bool testImmPredicate_APFloat(unsigned PredicateID, const APFloat &Imm) const override; +// CHECK-NEXT: bool testImmPredicate_I64(unsigned PredicateID, int64_t Imm) override; +// CHECK-NEXT: bool testImmPredicate_APInt(unsigned PredicateID, const APInt &Imm) override; +// CHECK-NEXT: bool testImmPredicate_APFloat(unsigned PredicateID, const APFloat &Imm) override; // CHECK-NEXT: const int64_t *getMatchTable() const override; -// CHECK-NEXT: bool testMIPredicate_MI(unsigned PredicateID, const MachineInstr &MI, const MatcherState &State) const override; -// CHECK-NEXT: bool testSimplePredicate(unsigned PredicateID) const override; -// CHECK-NEXT: void runCustomAction(unsigned FnID, const MatcherState &State, NewMIVector &OutMIs) const override; +// CHECK-NEXT: bool testMIPredicate_MI(unsigned PredicateID, const MachineInstr &MI, const MatcherState &State) override; +// CHECK-NEXT: bool testSimplePredicate(unsigned PredicateID) override; +// CHECK-NEXT: void runCustomAction(unsigned FnID, const MatcherState &State, NewMIVector &OutMIs) override; // CHECK-NEXT: #endif // ifdef GET_GLOBALISEL_TEMPORARIES_DECL // CHECK-LABEL: #ifdef GET_GLOBALISEL_TEMPORARIES_INIT @@ -162,7 +162,7 @@ // CHECK-NEXT: GICXXPred_I64_Predicate_simm8, // CHECK-NEXT: }; -// CHECK-NEXT: bool MyTargetInstructionSelector::testImmPredicate_I64(unsigned PredicateID, int64_t Imm) const { +// CHECK-NEXT: bool MyTargetInstructionSelector::testImmPredicate_I64(unsigned PredicateID, int64_t Imm) { // CHECK-NEXT: switch (PredicateID) { // CHECK-NEXT: case GICXXPred_I64_Predicate_cimm8: { // CHECK-NEXT: return isInt<8>(Imm); @@ -179,7 +179,7 @@ // CHECK-NEXT: enum { // CHECK-NEXT: GICXXPred_APFloat_Predicate_fpimmz = GICXXPred_Invalid + 1, // CHECK-NEXT: }; -// CHECK-NEXT: bool MyTargetInstructionSelector::testImmPredicate_APFloat(unsigned PredicateID, const APFloat & Imm) const { +// CHECK-NEXT: bool MyTargetInstructionSelector::testImmPredicate_APFloat(unsigned PredicateID, const APFloat & Imm) { // CHECK-NEXT: switch (PredicateID) { // CHECK-NEXT: case GICXXPred_APFloat_Predicate_fpimmz: { // CHECK-NEXT: return Imm->isExactlyValue(0.0); @@ -193,7 +193,7 @@ // CHECK-NEXT: enum { // CHECK-NEXT: GICXXPred_APInt_Predicate_simm9 = GICXXPred_Invalid + 1, // CHECK-NEXT: }; -// CHECK-NEXT: bool MyTargetInstructionSelector::testImmPredicate_APInt(unsigned PredicateID, const APInt & Imm) const { +// CHECK-NEXT: bool MyTargetInstructionSelector::testImmPredicate_APInt(unsigned PredicateID, const APInt & Imm) { // CHECK-NEXT: switch (PredicateID) { // CHECK-NEXT: case GICXXPred_APInt_Predicate_simm9: { // CHECK-NEXT: return isInt<9>(Imm->getSExtValue()); @@ -214,7 +214,7 @@ // CHECK-NEXT: &MyTargetInstructionSelector::renderImm, // CHECK-NEXT: }; -// CHECK: bool MyTargetInstructionSelector::selectImpl(MachineInstr &I, CodeGenCoverage &CoverageInfo) const { +// CHECK: bool MyTargetInstructionSelector::selectImpl(MachineInstr &I, CodeGenCoverage &CoverageInfo) { // CHECK-NEXT: const PredicateBitset AvailableFeatures = getAvailableFeatures(); // CHECK-NEXT: NewMIVector OutMIs; // CHECK-NEXT: State.MIs.clear(); diff --git a/llvm/utils/TableGen/GlobalISelCombinerMatchTableEmitter.cpp b/llvm/utils/TableGen/GlobalISelCombinerMatchTableEmitter.cpp --- a/llvm/utils/TableGen/GlobalISelCombinerMatchTableEmitter.cpp +++ b/llvm/utils/TableGen/GlobalISelCombinerMatchTableEmitter.cpp @@ -3177,8 +3177,7 @@ } void GICombinerEmitter::emitAdditionalImpl(raw_ostream &OS) { - OS << "bool " << getClassName() - << "::tryCombineAll(MachineInstr &I) const {\n" + OS << "bool " << getClassName() << "::tryCombineAll(MachineInstr &I) {\n" << " const TargetSubtargetInfo &ST = MF.getSubtarget();\n" << " const PredicateBitset AvailableFeatures = " "getAvailableFeatures();\n" @@ -3244,7 +3243,7 @@ } OS << "bool " << getClassName() - << "::testSimplePredicate(unsigned Predicate) const {\n" + << "::testSimplePredicate(unsigned Predicate) {\n" << " return RuleConfig.isRuleEnabled(Predicate - " "GICXXPred_Invalid - " "1);\n" @@ -3267,7 +3266,7 @@ OS << "void " << getClassName() << "::runCustomAction(unsigned ApplyID, const MatcherState &State, " - "NewMIVector &OutMIs) const " + "NewMIVector &OutMIs) " "{\n"; if (!ApplyCode.empty()) { OS << " switch(ApplyID) {\n"; diff --git a/llvm/utils/TableGen/GlobalISelEmitter.cpp b/llvm/utils/TableGen/GlobalISelEmitter.cpp --- a/llvm/utils/TableGen/GlobalISelEmitter.cpp +++ b/llvm/utils/TableGen/GlobalISelEmitter.cpp @@ -2278,7 +2278,7 @@ void GlobalISelEmitter::emitAdditionalImpl(raw_ostream &OS) { OS << "bool " << getClassName() << "::selectImpl(MachineInstr &I, CodeGenCoverage " - "&CoverageInfo) const {\n" + "&CoverageInfo) {\n" << " const PredicateBitset AvailableFeatures = " "getAvailableFeatures();\n" << " NewMIVector OutMIs;\n" @@ -2357,7 +2357,7 @@ } void GlobalISelEmitter::emitTestSimplePredicate(raw_ostream &OS) { - OS << "bool " << getClassName() << "::testSimplePredicate(unsigned) const {\n" + OS << "bool " << getClassName() << "::testSimplePredicate(unsigned) {\n" << " llvm_unreachable(\"" + getClassName() + " does not support simple predicates!\");\n" << " return false;\n" @@ -2366,7 +2366,7 @@ void GlobalISelEmitter::emitRunCustomAction(raw_ostream &OS) { OS << "void " << getClassName() - << "::runCustomAction(unsigned, const MatcherState&, NewMIVector &) const " + << "::runCustomAction(unsigned, const MatcherState&, NewMIVector &) " "{\n" << " llvm_unreachable(\"" + getClassName() + " does not support custom C++ actions!\");\n" diff --git a/llvm/utils/TableGen/GlobalISelMatchTableExecutorEmitter.h b/llvm/utils/TableGen/GlobalISelMatchTableExecutorEmitter.h --- a/llvm/utils/TableGen/GlobalISelMatchTableExecutorEmitter.h +++ b/llvm/utils/TableGen/GlobalISelMatchTableExecutorEmitter.h @@ -98,7 +98,7 @@ OS << "bool " << getClassName() << "::test" << ArgName << "Predicate_" << TypeIdentifier << "(unsigned PredicateID, " << ArgType << " " - << ArgName << AdditionalArgs << ") const {\n" + << ArgName << AdditionalArgs << ") {\n" << AdditionalDeclarations; if (!AdditionalDeclarations.empty()) OS << "\n"; diff --git a/llvm/utils/TableGen/GlobalISelMatchTableExecutorEmitter.cpp b/llvm/utils/TableGen/GlobalISelMatchTableExecutorEmitter.cpp --- a/llvm/utils/TableGen/GlobalISelMatchTableExecutorEmitter.cpp +++ b/llvm/utils/TableGen/GlobalISelMatchTableExecutorEmitter.cpp @@ -211,20 +211,20 @@ << "::ComplexMatcherMemFn ComplexPredicateFns[];\n" << " static " << getClassName() << "::CustomRendererFn CustomRenderers[];\n" - << " bool testImmPredicate_I64(unsigned PredicateID, int64_t Imm) const " + << " bool testImmPredicate_I64(unsigned PredicateID, int64_t Imm) " "override;\n" << " bool testImmPredicate_APInt(unsigned PredicateID, const APInt &Imm) " - "const override;\n" + "override;\n" << " bool testImmPredicate_APFloat(unsigned PredicateID, const APFloat " - "&Imm) const override;\n" + "&Imm) override;\n" << " const int64_t *getMatchTable() const override;\n" << " bool testMIPredicate_MI(unsigned PredicateID, const MachineInstr &MI" ", const MatcherState &State) " - "const override;\n" - << " bool testSimplePredicate(unsigned PredicateID) const override;\n" + "override;\n" + << " bool testSimplePredicate(unsigned PredicateID) override;\n" << " void runCustomAction(unsigned FnID, const MatcherState &State, " "NewMIVector &OutMIs) " - "const override;\n"; + "override;\n"; emitAdditionalTemporariesDecl(OS, " "); OS << "#endif // ifdef " << IfDefName << "\n\n"; }