[PATCH] D125270: [riscv] Remove mutation of prior vsetvli from insertion dataflow
Fraser Cormack via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon May 23 23:02:19 PDT 2022
frasercrmck added a comment.
I'm personally happy to see this moved out of phase 3. The fact it gets some codegen wins is definitely a bonus. I prefer it to the alternate workaround you mention.
================
Comment at: llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp:479
+/// VL and only sets VTYPE.
+static bool isVTYPEConfig(const MachineInstr &MI) {
+ if (MI.getOpcode() != RISCV::PseudoVSETVLIX0)
----------------
`isVLPreservingConfig`? I'm thinking it could to be more explicit about how it differs from the default one which we assume sets VL and VTYPE. That or `isVTYPEOnlyConfig` but I don't like that one quite as much. `isVLPreservingVSETVLI`
================
Comment at: llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp:1381
+ // dataflow at the same time without introducing inconsistencies.
+ for (MachineBasicBlock &MBB : MF) {
+ doLocalPostpass(MBB);
----------------
Don't need `{}` on this loop
================
Comment at: llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll:814
; vadd in the second block.
; FIXME: This currently crashes with strict asserts enabled.
define <vscale x 4 x i32> @cross_block_mutate(<vscale x 4 x i32> %a, <vscale x 4 x i32> %b,
----------------
Is this FIXME still true with this patch?
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D125270/new/
https://reviews.llvm.org/D125270
More information about the llvm-commits
mailing list