This is based on D122709 without the loop hoisting support. It has
been updated to be more consistent with the dataflow in handling in
the current vsetvli insertion pass.
I've separated VXRM handling from FRM handling since FRM requires
restoring and VXRM doesn't. We may even consider moving VXRM insertion
after register allocation to give more scheduler freedom.
A future patch will support hoisting out of loops.