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

Aaron Gray aaronngray.lists at googlemail.com
Sat Jul 25 12:03:07 PDT 2009


2009/7/25 John McCall <rjmccall at apple.com>

>   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)
>


Ah I was reading the private version !

Whoopse !

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


More information about the llvm-dev mailing list