[RISCV] Make computeIncomingVLVTYPE more conservative when merging predecessor state.
authorCraig Topper <craig.topper@sifive.com>
Mon, 19 Sep 2022 22:57:55 +0000 (15:57 -0700)
committerCraig Topper <craig.topper@sifive.com>
Mon, 19 Sep 2022 22:57:55 +0000 (15:57 -0700)
commit94049db913af32c5dfd8a09d0ba100f070363bdf
tree9f8c3c287530b52d2fb186d4cfe94f6d7c8de019
parent0d8ffcc532ebd1ec5c7f69313be53274d140f72f
[RISCV] Make computeIncomingVLVTYPE more conservative when merging predecessor state.

If we have already calculated the incoming state before, use that
as our starting point to ensure we are conservative.

This fixes an infinite loop found in our downstream where we
we allowed two waves of updates to propagate through a loop and
the merge points allowed us to toggle back and forth between states.
No small reproducer right now.

Differential Revision: https://reviews.llvm.org/D134229
llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp