> 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.

-- 
Regards
 Robin

Reply via email to