[RISCV] Teach vsetvli insertion to remember when predecessors have same AVL and SEW...
authorCraig Topper <craig.topper@sifive.com>
Fri, 18 Jun 2021 19:10:17 +0000 (12:10 -0700)
committerCraig Topper <craig.topper@sifive.com>
Fri, 18 Jun 2021 19:16:07 +0000 (12:16 -0700)
commitac87133f1de902bcc7ab4330e7ac79b2ba376d34
treea79847bbc59de193997f7f5fe18c13ae1126be61
parent8c2c97287eacda1ed9cbee893054d868e3b990c5
[RISCV] Teach vsetvli insertion to remember when predecessors have same AVL and SEW/LMUL ratio if their VTYPEs otherwise mismatch.

Previously we went directly to unknown state on VTYPE mismatch.
If we instead remember the partial match, we can use this to
still use X0, X0 vsetvli in successors if AVL and needed SEW/LMUL
ratio match.

Reviewed By: frasercrmck

Differential Revision: https://reviews.llvm.org/D104069
llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
llvm/test/CodeGen/RISCV/rvv/fixed-vectors-unaligned.ll
llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll