[llvm-commits] CVS: llvm/lib/ExecutionEngine/ExecutionEngine.cpp

Reid Spencer rspencer at reidspencer.com
Thu Jan 18 15:04:03 PST 2007


On Thu, 2007-01-18 at 13:49 -0800, Chris Lattner wrote:
> Please just use uint64_t BitMask = Ty->getIntegerTypeMask();

Good idea. This is changing to IntegerType::getBitMask(). I'm testing
that set of changes now and I'll include this fix to ExecutionEngine
when its time to commit.

Thanks,

Reid.

> 
> Thanks,
> 
> -Chris
> 
> 
> On Jan 18, 2007, at 10:01 AM, Reid Spencer wrote:
> 
> >
> >
> > Changes in directory llvm/lib/ExecutionEngine:
> >
> > ExecutionEngine.cpp updated: 1.99 -> 1.100
> > ---
> > Log message:
> >
> > Fix a regression in the last patch. When constructing a BitMask, be  
> > careful
> > not to overflow 64-bits and end up with a 0 mask. This caused i64  
> > values to
> > always be stored as 0 with lots of consequential damage to nightly  
> > test.
> >
> >
> > ---
> > Diffs of the changes:  (+4 -0)
> >
> >  ExecutionEngine.cpp |    4 ++++
> >  1 files changed, 4 insertions(+)
> >
> >
> > Index: llvm/lib/ExecutionEngine/ExecutionEngine.cpp
> > diff -u llvm/lib/ExecutionEngine/ExecutionEngine.cpp:1.99 llvm/lib/ 
> > ExecutionEngine/ExecutionEngine.cpp:1.100
> > --- llvm/lib/ExecutionEngine/ExecutionEngine.cpp:1.99	Wed Jan 17  
> > 19:24:02 2007
> > +++ llvm/lib/ExecutionEngine/ExecutionEngine.cpp	Thu Jan 18  
> > 12:01:32 2007
> > @@ -457,6 +457,8 @@
> >      case Type::IntegerTyID: {
> >        unsigned BitWidth = cast<IntegerType>(Ty)->getBitWidth();
> >        uint64_t BitMask = (1ull << BitWidth) - 1;
> > +      if (BitWidth >= 64)
> > +        BitMask = (uint64_t)-1;
> >        GenericValue TmpVal = Val;
> >        if (BitWidth <= 8)
> >          Ptr->Untyped[0] = Val.Int8Val & BitMask;
> > @@ -513,6 +515,8 @@
> >      case Type::IntegerTyID: {
> >        unsigned BitWidth = cast<IntegerType>(Ty)->getBitWidth();
> >        uint64_t BitMask = (1ull << BitWidth) - 1;
> > +      if (BitWidth >= 64)
> > +        BitMask = (uint64_t)-1;
> >        GenericValue TmpVal = Val;
> >        if (BitWidth <= 8)
> >          Ptr->Untyped[0] = Val.Int8Val & BitMask;
> >
> >
> >
> > _______________________________________________
> > llvm-commits mailing list
> > llvm-commits at cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
> 




More information about the llvm-commits mailing list