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)
commit1336daad86de3d09d8a2319be3b12f91d4632563
tree34085275bd18b00189d3cd2e79caed9576b01b1b
parentd5c1ae7e367b17496654276c58118dbc90507cbf
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.

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