hliao marked an inline comment as done.
hliao added a comment.

In D90809#2377083 <https://reviews.llvm.org/D90809#2377083>, @rampitec wrote:

> In D90809#2376994 <https://reviews.llvm.org/D90809#2376994>, @b-sumner wrote:
>
>> Should this also be IntrConvergent?
>
> Probably yes... This is control flow after all.

The real effect of this intrinsic seems not changed if it's moved somewhere. 
For example,

convert this

  if (a || b)
    endpgm();

to

  if (a)
    endpgm();
  else if (b)
    endpgm();

no matter a or b are divergent or not, it works the same as the original one as 
`s_endpgm` is a scalar instruction. Ofc, if we really doubt bad things may 
happen, I could add that for safety as we definitely will revise this later.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D90809

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to