[LLVMdev] Bug in ExecutionEngine::getConstantValue() -- Instruction::PtrToInt

John McCall rjmccall at apple.com
Sat Jul 25 11:48:20 PDT 2009


Aaron Gray wrote:
> I think I might have found a bug in the exection engine's 'constants 
> folding'.
>  
> Basically APInt's parameters are the wrong way round.
>  
> Line 577 for lib/ExecutionEngine/ExecutionEngine.cpp :-
>  
>     case Instruction::PtrToInt: {
>       GenericValue GV = getConstantValue(Op0);
>       uint32_t PtrWidth = TD->getPointerSizeInBits();
>       GV.IntVal = APInt(PtrWidth, uintptr_t(GV.PointerVal));
>       return GV;
>     }
> Aaron
That looks to be the right order to me:

APInt(unsigned numBits, uint64_t val, bool isSigned=false)

John.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20090725/ccc4b855/attachment.html>


More information about the llvm-dev mailing list