> > I am working on that, it seems the cost of vsetvli instruction become 0 > > due to this change, then loop invariant motion won't hoist vsetvli longer. > I haven't looked yet (generating baseline rvv.exp data right now). But > before I went to bed last night I was worried that a change snuck > through that shouldn't have (changing the toplevel INSN/SET cost > handling -- that wasn't supposed to be in the commit). I was too tired > to verify and correct without possibly mucking it up further. > > That'll be the first thing to look at. THe costing change was supposed > only affect if-then-else constructs, not sets in general.
If so, I think the most simple fix is adding more checks on the set cost - only check the SET_SRC is if-then-else? Let me run the regression to see if that works - although the current vsetvli cost is too high (4x~5x), but I think it should be fixed later with a more complete expermantal.