[llvm-dev] Ok with mismatch between dead-markings in BUNDLE and bundled instructions?

Quentin Colombet via llvm-dev llvm-dev at lists.llvm.org
Tue Jun 27 14:49:20 PDT 2017

> On Jun 27, 2017, at 2:44 PM, Krzysztof Parzyszek via llvm-dev <llvm-dev at lists.llvm.org> wrote:
> On 6/27/2017 4:35 PM, Quentin Colombet via llvm-dev wrote:
>> Yeah I was reading this as “only the non-touched part are dead”, and that’s what I’d like to see in the representation longer. Obviously, the register is not dead as a whole here :)
> I think that having two defs for the same register, one dead and one not dead simply doesn't make sense. We already assume that a register is live if at least a part of it is live, so if it's "dead", it should mean that the whole thing is dead.

The register is not dead, but the value is. I like to keep the SSA semantic.
Here it happens that these two values are linked together because of the “name” of the virtual register, but they really don’t need to be bound.

Put simply I’d like the dead flag to report the status of the value hold by this definition, not this register. In other words, dead means you can kill the instruction if no other side effects exists.

> -Krzysztof
> -- 
> Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev

More information about the llvm-dev mailing list