This is a replacement for D101938 for inserting vsetvli
instructions where needed. This new version changes how
we track the information in such a way that we can extend
it to be aware of VL/VTYPE changes in other blocks. Given
how much it changes the previous patch, I've decided to
abandon the previous patch and post this from scratch.
The pass now consists of 3 phases. The first phase inserts
intra block vsetvlis and collects the requirements for the
first instruction in the block. The second phase calculates
the incoming value for each block. The third phase checks
the requirements against the incoming value and inserts a
vsetvli if needed.
For now I've stubbed out phase 2 to make it equivalent to
D101938. The only change from the tests in D101938 is the
numbering of virtual registers in one test in vsetvli-insert.mir.
Documenting this pass and its phases in line with the commit message would be good.