]> granicus.if.org Git - llvm/commit
Use a bit of relaxed constexpr to make FeatureBitset costant intializable
authorBenjamin Kramer <benny.kra@googlemail.com>
Sat, 24 Aug 2019 15:02:44 +0000 (15:02 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Sat, 24 Aug 2019 15:02:44 +0000 (15:02 +0000)
commit4acc3db23fa7a3c37ffb4b53597518054ab446fa
treeb2280db2b0e3d75f4ecad317282d82febf48bd3b
parentbce7b429412865ee1fffec09a1ca65d5280f0f66
Use a bit of relaxed constexpr to make FeatureBitset costant intializable

This requires std::intializer_list to be a literal type, which it is
starting with C++14. The downside is that std::bitset is still not
constexpr-friendly so this change contains a re-implementation of most
of it.

Shrinks clang by ~60k.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@369847 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/MC/SubtargetFeature.h
lib/Target/AArch64/Utils/AArch64BaseInfo.h
lib/Target/Hexagon/HexagonSubtarget.cpp
lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp
test/TableGen/GlobalISelEmitter.td
utils/TableGen/AsmMatcherEmitter.cpp
utils/TableGen/CodeEmitterGen.cpp
utils/TableGen/SearchableTableEmitter.cpp
utils/TableGen/SubtargetFeatureInfo.cpp