[LLVMdev] SelectionDAG constant folding leads to assertion failure

Chris Lattner clattner at apple.com
Mon Mar 15 09:06:13 PDT 2010


On Mar 15, 2010, at 8:54 AM, Edmund Grimley Evans wrote:

> My experimental code calls DAG.getNode to construct a unary node with
> a flag result. Unfortunately the argument turns out to be constant, so
> lib/CodeGen/SelectionDAG/SelectionDAG.cpp:2332 calls VT.getSizeInBits
> on the flag type, which isSimple(), so we call V.getSizeInBits at
> ValueTypes.h:560 and fail at ValueTypes.h:240:

That's bad. :)

> Or should
> SelectionDAG::getNode not call getSizeInBits until it knows it
> actually needs the value?

You're right, fixed in r98547, thanks!

-Chris



More information about the llvm-dev mailing list