Hi Chris,
On Sun, 2007-03-04 at 17:33 -0600, Chris Lattner wrote: > > Changes in directory llvm/include/llvm: > > DerivedTypes.h updated: 1.86 -> 1.87 > --- > Log message: > > add a getSignBit method, elimiante virtual method from getBitMask() > > > --- > Diffs of the changes: (+7 -1) > > DerivedTypes.h | 8 +++++++- > 1 files changed, 7 insertions(+), 1 deletion(-) > > > Index: llvm/include/llvm/DerivedTypes.h > diff -u llvm/include/llvm/DerivedTypes.h:1.86 > llvm/include/llvm/DerivedTypes.h:1.87 > --- llvm/include/llvm/DerivedTypes.h:1.86 Wed Feb 28 22:02:06 2007 > +++ llvm/include/llvm/DerivedTypes.h Sun Mar 4 17:33:19 2007 > @@ -106,9 +106,15 @@ > /// that can be set by an unsigned version of this type. This is 0xFF for > /// sbyte/ubyte, 0xFFFF for shorts, etc. > uint64_t getBitMask() const { > - return ~uint64_t(0UL) >> (64-getPrimitiveSizeInBits()); > + return ~uint64_t(0UL) >> (64-getBitWidth()); > } > > + /// getSignBit - Return a uint64_t with just the most significant bit set > (the > + /// sign bit, if the value is treated as a signed number). > + uint64_t getSignBit() const { > + return 1ULL << (getBitWidth()-1); > + } > + I'm trying to get rid of such functions and you're adding more of them :) Please note that in many places (like the place you intend to use getSignBit), it may be necessary to use APInt::getSignedMinValue() for this value to enable it to work with > 64 bits. The exception to this is GEP indexing which are known to be 32/64 bit indices. If your use is similar, I suppose this is fine. If not, please note that when InstructionCombining is done (Sheng's working on it), I intend to pass through LLVM and get rid of calls to both of these functions, if appropriate. Reid. > /// For example, this is 0xFF for an 8 bit integer, 0xFFFF for i16, etc. > /// @returns a bit mask with ones set for all the bits of this type. > /// @brief Get a bit mask for this type. > > > > _______________________________________________ > llvm-commits mailing list > llvm-commits@cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits