-
Notifications
You must be signed in to change notification settings - Fork 140
Description
Hello,
I've run into quiet a few programs in the spec 2006 benhcmarking suite where the following assert is thrown:
Assertion `fromTempAlloc && "Is not an allocation node"' (in Instructions.cpp line 402)
If I understand correctly, DG expects every insertElement instruction operates on a vector that was just allocated (if not constant or undef).
It seems to me this is an incorrect assumption and the cause of a few of the assertion errors I run into.
In some cases getOperand returns a load, phi node, shufflevector or call instruction.
Is the design such that the analysis should look past those nodes till its finds an alloc node or should it handle, at that point in the code, other instructions instead?
I'm trying to familiarize myself with the code in hopes of contributing a solution myself. Would it be possible to explain what the create element function does and how it fits in the larger code base? More specifically the use of PSNodesSeq?
Thanks!