Re: [llvm-commits] CVS: llvm/lib/Support/APInt.cpp

2007-05-16 Thread Reid Spencer
On Wed, 2007-05-16 at 13:30 -0700, Chris Lattner wrote: > > Fix a bug in the "fromString" method where radix 2,8 and 16 values > > were > > not being generated correctly because the shl operator does not > > mutate its > > object but returns a new value. Also, make the distinction between > >

Re: [llvm-commits] CVS: llvm/lib/Support/APInt.cpp

2007-05-16 Thread Chris Lattner
> Fix a bug in the "fromString" method where radix 2,8 and 16 values > were > not being generated correctly because the shl operator does not > mutate its > object but returns a new value. Also, make the distinction between > radix > 16 and the others more clear. FWIW, I find this part of th

Re: [llvm-commits] CVS: llvm/lib/Support/APInt.cpp

2007-05-13 Thread Chris Lattner
On May 13, 2007, at 4:57 PM, Reid Spencer wrote: > On Sun, 2007-05-13 at 16:49 -0700, Chris Lattner wrote: >> On May 13, 2007, at 4:45 PM, Reid Spencer wrote: >> >>> +APInt APInt::rotl(uint32_t rotateAmt) const { >>> + // Don't get too fancy, just use existing shift/or facilities >>> + APInt hi

Re: [llvm-commits] CVS: llvm/lib/Support/APInt.cpp

2007-05-13 Thread Reid Spencer
On Sun, 2007-05-13 at 16:49 -0700, Chris Lattner wrote: > On May 13, 2007, at 4:45 PM, Reid Spencer wrote: > > > +APInt APInt::rotl(uint32_t rotateAmt) const { > > + // Don't get too fancy, just use existing shift/or facilities > > + APInt hi(*this); > > + APInt lo(*this); > > + hi.shl(rotateA

Re: [llvm-commits] CVS: llvm/lib/Support/APInt.cpp

2007-05-13 Thread Chris Lattner
On May 13, 2007, at 4:45 PM, Reid Spencer wrote: > +APInt APInt::rotl(uint32_t rotateAmt) const { > + // Don't get too fancy, just use existing shift/or facilities > + APInt hi(*this); > + APInt lo(*this); > + hi.shl(rotateAmt); > + lo.lshr(BitWidth - rotateAmt); > + return hi | lo; > +} >

Re: [llvm-commits] CVS: llvm/lib/Support/APInt.cpp

2007-03-12 Thread Reid Spencer
On Mon, 2007-03-12 at 12:48 -0500, Zhou Sheng wrote: > > Changes in directory llvm/lib/Support: > > APInt.cpp updated: 1.69 -> 1.70 > --- > Log message: > > For APInt::z/sext(width), if width == BitWidth, just return *this. Sheng, this is incorrect. It is not legal to use sext/zext with a bit w

Re: [llvm-commits] CVS: llvm/lib/Support/APInt.cpp

2007-02-28 Thread Chris Lattner
> + // Use a fast table for some small values. This also gets rid of > some > + // rounding errors in libc sqrt for small values. > + if (magnitude <= 5) { Please use a real table, not a switch, for this. It will be smaller (codesize) and faster. -Chris

Re: [llvm-commits] CVS: llvm/lib/Support/APInt.cpp

2007-02-24 Thread Chris Lattner
> / Clean up the memory we allocated. > - delete [] U; > - delete [] V; > - delete [] Q; > - delete [] R; > + if (U != &SPACE[0]) { > +delete [] U; > +delete [] V; > +delete [] Q; > +delete [] R; > + } > } Please just use SmallVector instead of explicitly doing it yourself

Re: [llvm-commits] CVS: llvm/lib/Support/APInt.cpp

2007-02-20 Thread Chris Lattner
On Feb 20, 2007, at 11:13 AM, Evan Cheng wrote: > Hi Reid, > This breaks the build for me. > > $ make ENABLE_OPTIMIZED=1 -j2 > make[1]: Nothing to be done for `all'. > llvm[1]: Compiling Annotation.cpp for Release build > llvm[1]: Compiling APInt.cpp for Release build > APInt.cpp:841: error: floati

Re: [llvm-commits] CVS: llvm/lib/Support/APInt.cpp

2007-02-20 Thread Evan Cheng
Hi Reid, This breaks the build for me. $ make ENABLE_OPTIMIZED=1 -j2 make[1]: Nothing to be done for `all'. llvm[1]: Compiling Annotation.cpp for Release build llvm[1]: Compiling APInt.cpp for Release build APInt.cpp:841: error: floating constant exceeds range of 'float' APInt.cpp:843: error: flo

Re: [llvm-commits] CVS: llvm/lib/Support/APInt.cpp

2007-02-05 Thread Chris Lattner
> + #include "llvm/ADT/APInt.h" > + #include "llvm/DerivedTypes.h" > + #include "llvm/Support/MathExtras.h" > + #include strings.h is not portable. Please use , and memcpy/memset/ etc instead of bzero and friends. I've #ifdef'd this file out temporarily until this is resolved. > + #include