The thumb-mode target feature is used to control mixed ARM/Thumb
code generation in a single compilation unit. D33287 adds thumb-mode to
target-features for arm/thumb triples.
David Blaikie also suggested that we might be able to get rid of the
thumb triples altogether after the bitcode reader. Currently there are
about 30 checks that use Triple::thumb/thumbeb in the LLVM source code.
I had a look at most of them and unfortunately it seems like replacing
most of them with ARMSubtarget::isThumb will be quite hard, because
either no TargetMachine instance (e.g. the uses in
lib/Transforms/IPO/LowerTypeTests.cpp) or no function is available (e.g.
when initializing global sections in lib/MC/MCObjectFileInfo.cpp or
printing model-level inline asm lib/Target/ARM/ARMAsmPrinter.cpp).
I would appreciate any thoughts on Triple::thumb uses. At the moment it
seems to me replacing the remaining uses requires quite a bit of work
for relatively little benefits.
maybe you should add isARMorThumb to ADT/Triple.h and use it, much like isPS4(), isAndroid etc?