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 @@ -61,7 +61,6 @@ #define GET_GLOBALISEL_PREDICATE_BITSET #include "AArch64GenGlobalISel.inc" -#undef GET_GLOBALISEL_PREDICATE_BITSET class AArch64InstructionSelector : public InstructionSelector { public: @@ -454,20 +453,17 @@ #define GET_GLOBALISEL_PREDICATES_DECL #include "AArch64GenGlobalISel.inc" -#undef GET_GLOBALISEL_PREDICATES_DECL // We declare the temporaries used by selectImpl() in the class to minimize the // cost of constructing placeholder values. #define GET_GLOBALISEL_TEMPORARIES_DECL #include "AArch64GenGlobalISel.inc" -#undef GET_GLOBALISEL_TEMPORARIES_DECL }; } // end anonymous namespace #define GET_GLOBALISEL_IMPL #include "AArch64GenGlobalISel.inc" -#undef GET_GLOBALISEL_IMPL AArch64InstructionSelector::AArch64InstructionSelector( const AArch64TargetMachine &TM, const AArch64Subtarget &STI, @@ -476,10 +472,8 @@ RBI(RBI), #define GET_GLOBALISEL_PREDICATES_INIT #include "AArch64GenGlobalISel.inc" -#undef GET_GLOBALISEL_PREDICATES_INIT #define GET_GLOBALISEL_TEMPORARIES_INIT #include "AArch64GenGlobalISel.inc" -#undef GET_GLOBALISEL_TEMPORARIES_INIT { } 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 @@ -20,7 +20,6 @@ #define GET_GLOBALISEL_PREDICATE_BITSET #define AMDGPUSubtarget GCNSubtarget #include "AMDGPUGenGlobalISel.inc" -#undef GET_GLOBALISEL_PREDICATE_BITSET #undef AMDGPUSubtarget } @@ -311,12 +310,10 @@ #define GET_GLOBALISEL_PREDICATES_DECL #define AMDGPUSubtarget GCNSubtarget #include "AMDGPUGenGlobalISel.inc" -#undef GET_GLOBALISEL_PREDICATES_DECL #undef AMDGPUSubtarget #define GET_GLOBALISEL_TEMPORARIES_DECL #include "AMDGPUGenGlobalISel.inc" -#undef GET_GLOBALISEL_TEMPORARIES_DECL }; } // End llvm namespace. 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 @@ -40,7 +40,6 @@ #define GET_GLOBALISEL_IMPL #define AMDGPUSubtarget GCNSubtarget #include "AMDGPUGenGlobalISel.inc" -#undef GET_GLOBALISEL_IMPL #undef AMDGPUSubtarget AMDGPUInstructionSelector::AMDGPUInstructionSelector( @@ -51,10 +50,8 @@ EnableLateStructurizeCFG(AMDGPUTargetMachine::EnableLateStructurizeCFG), #define GET_GLOBALISEL_PREDICATES_INIT #include "AMDGPUGenGlobalISel.inc" -#undef GET_GLOBALISEL_PREDICATES_INIT #define GET_GLOBALISEL_TEMPORARIES_INIT #include "AMDGPUGenGlobalISel.inc" -#undef GET_GLOBALISEL_TEMPORARIES_INIT { } 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 @@ -28,7 +28,6 @@ #define GET_GLOBALISEL_PREDICATE_BITSET #include "ARMGenGlobalISel.inc" -#undef GET_GLOBALISEL_PREDICATE_BITSET class ARMInstructionSelector : public InstructionSelector { public: @@ -145,13 +144,11 @@ #define GET_GLOBALISEL_PREDICATES_DECL #include "ARMGenGlobalISel.inc" -#undef GET_GLOBALISEL_PREDICATES_DECL // We declare the temporaries used by selectImpl() in the class to minimize the // cost of constructing placeholder values. #define GET_GLOBALISEL_TEMPORARIES_DECL #include "ARMGenGlobalISel.inc" -#undef GET_GLOBALISEL_TEMPORARIES_DECL }; } // end anonymous namespace @@ -166,7 +163,6 @@ #define GET_GLOBALISEL_IMPL #include "ARMGenGlobalISel.inc" -#undef GET_GLOBALISEL_IMPL ARMInstructionSelector::ARMInstructionSelector(const ARMBaseTargetMachine &TM, const ARMSubtarget &STI, @@ -175,10 +171,8 @@ STI(STI), Opcodes(STI), #define GET_GLOBALISEL_PREDICATES_INIT #include "ARMGenGlobalISel.inc" -#undef GET_GLOBALISEL_PREDICATES_INIT #define GET_GLOBALISEL_TEMPORARIES_INIT #include "ARMGenGlobalISel.inc" -#undef GET_GLOBALISEL_TEMPORARIES_INIT { } 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 @@ -19,7 +19,6 @@ #define GET_GLOBALISEL_PREDICATE_BITSET #include "M68kGenGlobalISel.inc" -#undef GET_GLOBALISEL_PREDICATE_BITSET namespace { @@ -41,18 +40,15 @@ #define GET_GLOBALISEL_PREDICATES_DECL #include "M68kGenGlobalISel.inc" -#undef GET_GLOBALISEL_PREDICATES_DECL #define GET_GLOBALISEL_TEMPORARIES_DECL #include "M68kGenGlobalISel.inc" -#undef GET_GLOBALISEL_TEMPORARIES_DECL }; } // end anonymous namespace #define GET_GLOBALISEL_IMPL #include "M68kGenGlobalISel.inc" -#undef GET_GLOBALISEL_IMPL M68kInstructionSelector::M68kInstructionSelector( const M68kTargetMachine &TM, const M68kSubtarget &STI, @@ -62,10 +58,8 @@ #define GET_GLOBALISEL_PREDICATES_INIT #include "M68kGenGlobalISel.inc" -#undef GET_GLOBALISEL_PREDICATES_INIT #define GET_GLOBALISEL_TEMPORARIES_INIT #include "M68kGenGlobalISel.inc" -#undef GET_GLOBALISEL_TEMPORARIES_INIT { } 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 @@ -28,7 +28,6 @@ #define GET_GLOBALISEL_PREDICATE_BITSET #include "MipsGenGlobalISel.inc" -#undef GET_GLOBALISEL_PREDICATE_BITSET class MipsInstructionSelector : public InstructionSelector { public: @@ -64,18 +63,15 @@ #define GET_GLOBALISEL_PREDICATES_DECL #include "MipsGenGlobalISel.inc" -#undef GET_GLOBALISEL_PREDICATES_DECL #define GET_GLOBALISEL_TEMPORARIES_DECL #include "MipsGenGlobalISel.inc" -#undef GET_GLOBALISEL_TEMPORARIES_DECL }; } // end anonymous namespace #define GET_GLOBALISEL_IMPL #include "MipsGenGlobalISel.inc" -#undef GET_GLOBALISEL_IMPL MipsInstructionSelector::MipsInstructionSelector( const MipsTargetMachine &TM, const MipsSubtarget &STI, @@ -85,10 +81,8 @@ #define GET_GLOBALISEL_PREDICATES_INIT #include "MipsGenGlobalISel.inc" -#undef GET_GLOBALISEL_PREDICATES_INIT #define GET_GLOBALISEL_TEMPORARIES_INIT #include "MipsGenGlobalISel.inc" -#undef GET_GLOBALISEL_TEMPORARIES_INIT { } 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 @@ -28,7 +28,6 @@ #define GET_GLOBALISEL_PREDICATE_BITSET #include "PPCGenGlobalISel.inc" -#undef GET_GLOBALISEL_PREDICATE_BITSET class PPCInstructionSelector : public InstructionSelector { public: @@ -49,18 +48,15 @@ #define GET_GLOBALISEL_PREDICATES_DECL #include "PPCGenGlobalISel.inc" -#undef GET_GLOBALISEL_PREDICATES_DECL #define GET_GLOBALISEL_TEMPORARIES_DECL #include "PPCGenGlobalISel.inc" -#undef GET_GLOBALISEL_TEMPORARIES_DECL }; } // end anonymous namespace #define GET_GLOBALISEL_IMPL #include "PPCGenGlobalISel.inc" -#undef GET_GLOBALISEL_IMPL PPCInstructionSelector::PPCInstructionSelector(const PPCTargetMachine &TM, const PPCSubtarget &STI, @@ -68,10 +64,8 @@ : TII(*STI.getInstrInfo()), TRI(*STI.getRegisterInfo()), RBI(RBI), #define GET_GLOBALISEL_PREDICATES_INIT #include "PPCGenGlobalISel.inc" -#undef GET_GLOBALISEL_PREDICATES_INIT #define GET_GLOBALISEL_TEMPORARIES_INIT #include "PPCGenGlobalISel.inc" -#undef GET_GLOBALISEL_TEMPORARIES_INIT { } diff --git a/llvm/lib/Target/RISCV/RISCVInstructionSelector.cpp b/llvm/lib/Target/RISCV/RISCVInstructionSelector.cpp --- a/llvm/lib/Target/RISCV/RISCVInstructionSelector.cpp +++ b/llvm/lib/Target/RISCV/RISCVInstructionSelector.cpp @@ -25,7 +25,6 @@ #define GET_GLOBALISEL_PREDICATE_BITSET #include "RISCVGenGlobalISel.inc" -#undef GET_GLOBALISEL_PREDICATE_BITSET namespace { @@ -53,18 +52,15 @@ #define GET_GLOBALISEL_PREDICATES_DECL #include "RISCVGenGlobalISel.inc" -#undef GET_GLOBALISEL_PREDICATES_DECL #define GET_GLOBALISEL_TEMPORARIES_DECL #include "RISCVGenGlobalISel.inc" -#undef GET_GLOBALISEL_TEMPORARIES_DECL }; } // end anonymous namespace #define GET_GLOBALISEL_IMPL #include "RISCVGenGlobalISel.inc" -#undef GET_GLOBALISEL_IMPL RISCVInstructionSelector::RISCVInstructionSelector( const RISCVTargetMachine &TM, const RISCVSubtarget &STI, @@ -73,10 +69,8 @@ #define GET_GLOBALISEL_PREDICATES_INIT #include "RISCVGenGlobalISel.inc" -#undef GET_GLOBALISEL_PREDICATES_INIT #define GET_GLOBALISEL_TEMPORARIES_INIT #include "RISCVGenGlobalISel.inc" -#undef GET_GLOBALISEL_TEMPORARIES_INIT { } 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 @@ -55,7 +55,6 @@ #define GET_GLOBALISEL_PREDICATE_BITSET #include "X86GenGlobalISel.inc" -#undef GET_GLOBALISEL_PREDICATE_BITSET class X86InstructionSelector : public InstructionSelector { public: @@ -137,18 +136,15 @@ #define GET_GLOBALISEL_PREDICATES_DECL #include "X86GenGlobalISel.inc" -#undef GET_GLOBALISEL_PREDICATES_DECL #define GET_GLOBALISEL_TEMPORARIES_DECL #include "X86GenGlobalISel.inc" -#undef GET_GLOBALISEL_TEMPORARIES_DECL }; } // end anonymous namespace #define GET_GLOBALISEL_IMPL #include "X86GenGlobalISel.inc" -#undef GET_GLOBALISEL_IMPL X86InstructionSelector::X86InstructionSelector(const X86TargetMachine &TM, const X86Subtarget &STI, @@ -157,10 +153,8 @@ RBI(RBI), #define GET_GLOBALISEL_PREDICATES_INIT #include "X86GenGlobalISel.inc" -#undef GET_GLOBALISEL_PREDICATES_INIT #define GET_GLOBALISEL_TEMPORARIES_INIT #include "X86GenGlobalISel.inc" -#undef GET_GLOBALISEL_TEMPORARIES_INIT { } 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 @@ -70,6 +70,7 @@ // CHECK: using PredicateBitset = llvm::PredicateBitsetImpl; // CHECK-LABEL: #ifdef GET_GLOBALISEL_TEMPORARIES_DECL +// CHECK-LABEL: #undef GET_GLOBALISEL_TEMPORARIES_DECL // CHECK-NEXT: mutable MatcherState State; // CHECK-NEXT: typedef ComplexRendererFns(MyTargetInstructionSelector::*ComplexMatcherMemFn)(MachineOperand &) const; // CHECK-NEXT: typedef void(MyTargetInstructionSelector::*CustomRendererFn)(MachineInstrBuilder &, const MachineInstr &, int) const; @@ -84,6 +85,7 @@ // CHECK-NEXT: #endif // ifdef GET_GLOBALISEL_TEMPORARIES_DECL // CHECK-LABEL: #ifdef GET_GLOBALISEL_TEMPORARIES_INIT +// CHECK-LABEL: #undef GET_GLOBALISEL_TEMPORARIES_INIT // CHECK-NEXT: , State(2), // CHECK-NEXT: ISelInfo(TypeObjects, NumTypeObjects, FeatureBitsets, ComplexPredicateFns, CustomRenderers) // CHECK-NEXT: #endif // ifdef GET_GLOBALISEL_TEMPORARIES_INIT 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 @@ -5690,6 +5690,7 @@ MaxTemporaries = std::max(MaxTemporaries, Rule.countRendererFns()); OS << "#ifdef GET_GLOBALISEL_PREDICATE_BITSET\n" + << "#undef GET_GLOBALISEL_PREDICATE_BITSET\n" << "const unsigned MAX_SUBTARGET_PREDICATES = " << SubtargetFeatures.size() << ";\n" << "using PredicateBitset = " @@ -5697,6 +5698,7 @@ << "#endif // ifdef GET_GLOBALISEL_PREDICATE_BITSET\n\n"; OS << "#ifdef GET_GLOBALISEL_TEMPORARIES_DECL\n" + << "#undef GET_GLOBALISEL_TEMPORARIES_DECL\n" << " mutable MatcherState State;\n" << " typedef " "ComplexRendererFns(" @@ -5727,12 +5729,14 @@ << "#endif // ifdef GET_GLOBALISEL_TEMPORARIES_DECL\n\n"; OS << "#ifdef GET_GLOBALISEL_TEMPORARIES_INIT\n" + << "#undef GET_GLOBALISEL_TEMPORARIES_INIT\n" << ", State(" << MaxTemporaries << "),\n" << "ISelInfo(TypeObjects, NumTypeObjects, FeatureBitsets" << ", ComplexPredicateFns, CustomRenderers)\n" << "#endif // ifdef GET_GLOBALISEL_TEMPORARIES_INIT\n\n"; - OS << "#ifdef GET_GLOBALISEL_IMPL\n"; + OS << "#ifdef GET_GLOBALISEL_IMPL\n" + << "#undef GET_GLOBALISEL_IMPL\n"; SubtargetFeatureInfo::emitSubtargetFeatureBitEnumeration(SubtargetFeatures, OS); @@ -5925,6 +5929,7 @@ OS << "#endif // ifdef GET_GLOBALISEL_IMPL\n"; OS << "#ifdef GET_GLOBALISEL_PREDICATES_DECL\n" + << "#undef GET_GLOBALISEL_PREDICATES_DECL\n" << "PredicateBitset AvailableModuleFeatures;\n" << "mutable PredicateBitset AvailableFunctionFeatures;\n" << "PredicateBitset getAvailableFeatures() const {\n" @@ -5941,6 +5946,7 @@ << "#endif // ifdef GET_GLOBALISEL_PREDICATES_DECL\n"; OS << "#ifdef GET_GLOBALISEL_PREDICATES_INIT\n" + << "#undef GET_GLOBALISEL_PREDICATES_INIT\n" << "AvailableModuleFeatures(computeAvailableModuleFeatures(&STI)),\n" << "AvailableFunctionFeatures()\n" << "#endif // ifdef GET_GLOBALISEL_PREDICATES_INIT\n";