[PATCH] D34889: [ScheduleDAG] Fix bug in check for use of dead defs

David Stuttard via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 4 06:39:16 PDT 2017


dstuttard added a comment.

In https://reviews.llvm.org/D34889#815492, @MatzeB wrote:

> Testcase? It seems that your change wants to allow the following:
>
>   vreg4:sub0<def, dead> = ...
>   ...
>     = use vreg4:sub1
>
>
> This is not legal! The dead modifier is about the full vreg not just about the sub0 part defined. (`-verify-machineinstrs` should also lead to such inputs getting rejected).


Are you sure about this? This doesn't seem logical to me, plus I've been working on the assumption - perhaps incorrect - that this isn't the case :)
If so, then the bug here is more about the full vreg being tagged as dead when it isn't.

As for a test case - I do have a reproducer, but I couldn't convert it to a .mir test (which I think would be best) and as a .ll level test it seems a little bit fragile (as well as quite large, even after using bugpoint to reduce). If we get to the bottom of the issue (if it isn't what I've changed), then I'll spend some more time seeing if I can generate something suitable.


https://reviews.llvm.org/D34889





More information about the llvm-commits mailing list