Hi, I have a question about the RISCVInsertVSETVLI pass.
In the doLocalPass, we can remove the subsequent vsetvl instruction if the preceding one can be mutated to match MI without changing any of the fields that would be observed.
However, what happens if there is a call or something that can change the vtype in between these two instructions?
I see that !isVLPreservingConfig
could return false in canMutatePriorConfig
, (llvm-project/llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp at main · llvm/llvm-project · GitHub) but what if the MI is a preserving instruction, yet the vtypes are different between the two vsetvl instructions?