]> granicus.if.org Git - llvm/commit
[MC] Make SubtargetFeatureKV only store one FeatureBitset and use an 'unsigned' to...
authorCraig Topper <craig.topper@intel.com>
Mon, 18 Feb 2019 06:46:17 +0000 (06:46 +0000)
committerCraig Topper <craig.topper@intel.com>
Mon, 18 Feb 2019 06:46:17 +0000 (06:46 +0000)
commite598074374d3ce1cd8637ff69b49dc957844018f
tree1e82ed5db80dcc998d82dcf66a003d2a5a0f66f4
parent031c241a742746bb832933e0bfc25a643718ae1c
[MC] Make SubtargetFeatureKV only store one FeatureBitset and use an 'unsigned' to hold the value.

This class is used for two difference tablegen generated tables. For one of the tables the Value FeatureBitset only has one bit set. For the other usage the Implies field was unused.

This patch changes the Value field to just be an unsigned. For the usage that put a real vector in bitset, we now use the previously unused Implies field and leave the Value field unused instead.

This is good for a 16K reduction in the size of llc on my local build with all targets enabled.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@354243 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/MC/SubtargetFeature.h
lib/MC/SubtargetFeature.cpp
utils/TableGen/SubtargetEmitter.cpp