On Tue, 2007-02-27 at 09:10 -0800, Chris Lattner wrote: > > Index: llvm/lib/VMCore/Constants.cpp > > diff -u llvm/lib/VMCore/Constants.cpp:1.222 llvm/lib/VMCore/ > > Constants.cpp:1.223 > > --- llvm/lib/VMCore/Constants.cpp:1.222 Mon Feb 26 21:05:06 2007 > > +++ llvm/lib/VMCore/Constants.cpp Tue Feb 27 01:57:53 2007 > > @@ -118,7 +118,7 @@ > > if (ITy->getBitWidth() == 1) > > return ConstantInt::getTrue(); > > else > > - return ConstantInt::get(Ty, int64_t(-1)); > > + return ConstantInt::get(Ty, APInt::getAllOnesValue(ITy- > > >getBitWidth())); > > return 0; > > } > > The special case for 'i1' can be removed, right?
I assumed the special case was because of this mess: > ConstantInt *ConstantInt::TheTrueVal = 0; > ConstantInt *ConstantInt::TheFalseVal = 0; > > namespace llvm { > void CleanupTrueFalse(void *) { > ConstantInt::ResetTrueFalse(); > } > } > > static ManagedCleanup<llvm::CleanupTrueFalse> TrueFalseCleanup; > > ConstantInt *ConstantInt::CreateTrueFalseVals(bool WhichOne) { > assert(TheTrueVal == 0 && TheFalseVal == 0); > TheTrueVal = get(Type::Int1Ty, 1); > TheFalseVal = get(Type::Int1Ty, 0); > > // Ensure that llvm_shutdown nulls out TheTrueVal/TheFalseVal. > TrueFalseCleanup.Register(); > > return WhichOne ? TheTrueVal : TheFalseVal; > } why do we need this? > > -Chris _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits