[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