On 2/13/25 11:57 AM, Robin Dapp wrote:
I did try adding some additional logic to adjust the way vsetvl fusion
occurs across basic blocks in these scenarios  i.e. performing the
fusion in the opposite manner (breaking lcm guarantees); however, from
my testing, fusing two vsetvls didn't actually remove the fused
expression from the vinfo list. I'm not sure if that's intended but as a
result, phase 3 would remove the fused block and use the vinfo that
should've been fused into the other.

It depends on the specific example but keeping deleted vsetvls/infos around
has a purpose because it helps delete other vsetvls still.  I don't recall
details but I remember having at least a few examples for it.
Yea, that can certainly happen with LCM based algorithms when computing the availability and anticipatable sets.

Jeff

Reply via email to