llvm-6502/include/llvm/ADT
Scott Michel 0123b7dcfa Make tblgen a little smarter about constants smaller than i32. Currently,
tblgen will complain if a sign-extended constant does not fit into a
data type smaller than i32, e.g., i16. This causes a problem when certain
hex constants are used, such as 0xff for byte masks or immediate xor
values.

tblgen will try the sign-extended value first and, if the sign extended
value would overflow, it tries to see if the unsigned value will fit.
Consequently, a software developer can now safely incant:

	(XORHIr16 R16C:$rA, 0xffff)

which is somewhat clearer and more informative than incanting:

	(XORHIr16 R16C:$rA, (i16 -1))

even if the two are bitwise equivalent.

Tblgen also outputs the 64-bit unsigned constant in the generated ISel code
when getTargetConstant() is invoked.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47188 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-15 23:05:48 +00:00
..
APFloat.h Added "Profile" method to APFloat for use with FoldingSet. 2008-02-11 17:24:50 +00:00
APInt.h Fix a typo in a comment. 2008-02-13 22:32:12 +00:00
APSInt.h Constified operator<< in APSInt. 2008-02-08 07:14:19 +00:00
BitVector.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
DenseMap.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
DenseSet.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
DepthFirstIterator.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
EquivalenceClasses.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
FoldingSet.h Added "Profile" method to APFloat for use with FoldingSet. 2008-02-11 17:24:50 +00:00
GraphTraits.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
hash_map.in remove attribution from a variety of miscellaneous files. 2007-12-29 22:59:10 +00:00
hash_set.in remove attribution from a variety of miscellaneous files. 2007-12-29 22:59:10 +00:00
HashExtras.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
ilist remove attribution from a variety of miscellaneous files. 2007-12-29 22:59:10 +00:00
ImmutableMap.h The factories for ImutAVLTree/ImmutableSet/ImmutableMap now take an (optional) 2008-02-11 23:11:12 +00:00
ImmutableSet.h The factories for ImutAVLTree/ImmutableSet/ImmutableMap now take an (optional) 2008-02-11 23:11:12 +00:00
IndexedMap.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
iterator.in remove attribution from a variety of miscellaneous files. 2007-12-29 22:59:10 +00:00
OwningPtr.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
PostOrderIterator.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
SCCIterator.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
SetOperations.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
SetVector.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
SmallPtrSet.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
SmallSet.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
SmallString.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
SmallVector.h add operator==/!= to smallvector. 2008-01-11 18:42:02 +00:00
SparseBitVector.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
Statistic.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
STLExtras.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
StringExtras.h Make tblgen a little smarter about constants smaller than i32. Currently, 2008-02-15 23:05:48 +00:00
StringMap.h Don't dereference an invalid pointer if string is empty. 2008-02-05 23:34:40 +00:00
Tree.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
Trie.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
UniqueVector.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
VectorExtras.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00