Use std::bitset for SubtargetFeatures
authorMichael Kuperstein <michael.m.kuperstein@intel.com>
Wed, 13 May 2015 08:27:08 +0000 (08:27 +0000)
committerMichael Kuperstein <michael.m.kuperstein@intel.com>
Wed, 13 May 2015 08:27:08 +0000 (08:27 +0000)
commitaba4a34ef23873e66aba9848bdbe5a6fcfbc4705
tree61671b9f7fe934ab14545900ab7301699be96440
parent60c270764e2fe0d2e212dd859f9983fe0cc4eb66
Use std::bitset for SubtargetFeatures

Previously, subtarget features were a bitfield with the underlying type being uint64_t.
Since several targets (X86 and ARM, in particular) have hit or were very close to hitting this bound, switching the features to use a bitset.
No functional change.

The first two times this was committed (r229831, r233055), it caused several buildbot failures.
At least some of the ARM and MIPS ones were due to gcc/binutils issues, and should now be fixed.

llvm-svn: 237234
37 files changed:
llvm/include/llvm/MC/MCInstrDesc.h
llvm/include/llvm/MC/MCSubtargetInfo.h
llvm/include/llvm/MC/SubtargetFeature.h
llvm/lib/MC/MCSubtargetInfo.cpp
llvm/lib/MC/SubtargetFeature.cpp
llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.cpp
llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
llvm/lib/Target/ARM/ARMAsmPrinter.cpp
llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
llvm/lib/Target/ARM/ARMSubtarget.cpp
llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp
llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h
llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp
llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
llvm/lib/Target/Mips/Disassembler/MipsDisassembler.cpp
llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp
llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
llvm/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp
llvm/lib/Target/PowerPC/InstPrinter/PPCInstPrinter.cpp
llvm/lib/Target/R600/AsmParser/AMDGPUAsmParser.cpp
llvm/lib/Target/R600/MCTargetDesc/R600MCCodeEmitter.cpp
llvm/lib/Target/Sparc/InstPrinter/SparcInstPrinter.cpp
llvm/lib/Target/X86/AsmParser/X86AsmInstrumentation.cpp
llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp
llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
llvm/test/TableGen/AsmPredicateCondsEmission.td
llvm/utils/TableGen/AsmMatcherEmitter.cpp
llvm/utils/TableGen/FixedLenDecoderEmitter.cpp
llvm/utils/TableGen/InstrInfoEmitter.cpp
llvm/utils/TableGen/SubtargetEmitter.cpp