[PATCH] D21189: Create subranges for new intervals resulting from live interval splitting

Quentin Colombet via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 22 16:47:17 PDT 2016


Hi Krzystof,

> On Jun 22, 2016, at 1:57 PM, Krzysztof Parzyszek <kparzysz at codeaurora.org> wrote:
> 
> kparzysz added a comment.
> 
> I have actually consulted with Quentin regarding the interpretation of read-undef.  I'd like to see his input in this review.

My mistake, I misremembered and didn’t bother to check when you asked me the first time :(.
My apologies.

The part on the uses were correct though.

The read-undef on definition *does* mean that we undef all the other lanes. This is “inconsistent” with the semantic on the uses and quite confusing, at least at first. To rephrase what Matthias said, the undef flag on the def of sub registers is a marker that helps the liveness analysis to break unrelated segments when sub register liveness is disabled. Without this marker, until we have a redefinition of the other sublanes, we would need to keep the whole alive (remember we are in a mode where we do not track sub register precisely).

The comments on MachineOperand::IsUndef and MachineOperand::readsReg are not super helpful with respect to that aspect and we should fix that. I had to discuss with Matthias to remember the actual semantic without looking at the code!

Anyhow, I guess you need to modify your patch before we have a look.

Cheers,
-Quentin

> 
> 
> Repository:
>  rL LLVM
> 
> http://reviews.llvm.org/D21189
> 
> 
> 



More information about the llvm-commits mailing list