[PATCH] D49671: [SchedModel] Propagate read advance cycles to implicit operands outside instruction descriptor

Matthias Braun via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 23 15:38:25 PDT 2018


MatzeB added a comment.

In https://reviews.llvm.org/D49671#1172545, @MatzeB wrote:

> > As before, I am not really aware of the true necessities of these extra register allocator operands, but I trust they are needed somehow (explanations welcome).
>
> I think we mainly need these operands to make some situations explicit to the machine verifier and liveness computation. They are necessary to model some subreg liveness effects for the allocator when subregister liveness tracking is not enabled. Right now I wonder I cannot come up with the reason why we still keep them around with physregs after assignment (because when subreg liveness tracking is enabled we cannot even add them)...


Ignore this comment, looking at the code we obviously do not have implicit defs/uses before regalloc and only add them in VirtRegRewriter. Right now I'm struggling to come up with the reasoning for their existence... Might be related to the block-live-in lists not being computed at subreg granularity...


https://reviews.llvm.org/D49671





More information about the llvm-commits mailing list