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

Chris Lattner clattner at apple.com
Sat Jul 25 11:59:53 PDT 2009


On Jul 25, 2009, at 11:17 AM, 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;
>     }
The code matches:

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

which is correct.

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


More information about the llvm-dev mailing list