[PATCH] D117796: AMDGPU: Fix LiveVariables error after lowering SI_END_CF

Ruiling, Song via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 26 19:17:08 PST 2022


ruiling added a comment.

In D117796#3274477 <https://reviews.llvm.org/D117796#3274477>, @ruiling wrote:

> In D117796#3274453 <https://reviews.llvm.org/D117796#3274453>, @arsenm wrote:
>
>> In D117796#3274452 <https://reviews.llvm.org/D117796#3274452>, @ruiling wrote:
>>
>>> I would hope we can move the block split logic into a separate pass that can be scheduled before we constructing liveness information, like during addPreRegAlloc(). It is expensive to update either LiveVariables or LiveIntervals. Sounds good?
>>
>> The whole reason this pass is here is because it needs to be done after phi elimination, so you can't really move it anywhere else. LiveVariables we should also just be pushing to eliminate entirely
>
> I think block split itself could be done before phi elimination. If you detect the source operand of SI_END_CF defined in the same block, you can split the block. That works just like what we are doing now. Did I miss something? Even you deprecate LiveVariables, you still need to update LiveIntervals, it still need to searching against all virtual registers to see whose LiveInterval need updated.

Sounds like LiveIntervals does not need expensive update?


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D117796/new/

https://reviews.llvm.org/D117796



More information about the llvm-commits mailing list