[llvm-commits] CVS: llvm/include/llvm/ADT/APInt.h

Reid Spencer reid at x10sys.com
Sat Mar 24 16:43:04 PDT 2007



Changes in directory llvm/include/llvm/ADT:

APInt.h updated: 1.53 -> 1.54
---
Log message:

In the getBitsSet function, don't optimize for a common case that is 
already covered by getLowBitsSet (i.e. when loBits==0). Consequently, remove
the default value for loBits and reorder the arguments to the more natural
loBits, hiBits order. This makes it more clear that this function is for bit 
groups in the middle of the bit width and not towards one end or the other.


---
Diffs of the changes:  (+2 -4)

 APInt.h |    6 ++----
 1 files changed, 2 insertions(+), 4 deletions(-)


Index: llvm/include/llvm/ADT/APInt.h
diff -u llvm/include/llvm/ADT/APInt.h:1.53 llvm/include/llvm/ADT/APInt.h:1.54
--- llvm/include/llvm/ADT/APInt.h:1.53	Sat Mar 24 18:35:54 2007
+++ llvm/include/llvm/ADT/APInt.h	Sat Mar 24 18:42:47 2007
@@ -336,18 +336,16 @@
   /// less than loBit then the set bits "wrap". For example, with 
   /// parameters (32, 3, 28), you would get 0xF000000F. 
   /// @param numBits the intended bit width of the result
-  /// @param hiBit the index of the highest bit set.
   /// @param loBit the index of the lowest bit set.
+  /// @param hiBit the index of the highest bit set.
   /// @returns An APInt value with the requested bits set.
   /// @brief Get a value with a block of bits set.
-  static APInt getBitsSet(uint32_t numBits, uint32_t hiBit, uint32_t loBit = 0){
+  static APInt getBitsSet(uint32_t numBits, uint32_t loBit, uint32_t hiBit) {
     assert(hiBit < numBits && "hiBit out of range");
     assert(loBit < numBits && "loBit out of range");
     if (hiBit < loBit)
       return getLowBitsSet(numBits, hiBit+1) |
              getHighBitsSet(numBits, numBits-loBit+1);
-    else if (loBit == 0)
-      return getLowBitsSet(numBits, hiBit+1);
     return getLowBitsSet(numBits, hiBit-loBit+1).shl(loBit);
   }
 






More information about the llvm-commits mailing list