[llvm] [RISCV] Move RISCVInsertVSETVLI::coalesceVSETVLIs back to before insertReadVL (PR #96056)
via llvm-commits
llvm-commits at lists.llvm.org
Wed Jun 19 04:04:17 PDT 2024
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-backend-risc-v
Author: Luke Lau (lukel97)
<details>
<summary>Changes</summary>
In #<!-- -->88295 we split out coalesceVSETVLIs (f.k.a doLocalPostpass) into a separate pass, which meant moving it past the call to insertReadVL. Whenever we merged it back in #<!-- -->92869, we accidentally moved it after insertReadVL. This patch moves it back to its original position.
---
Full diff: https://github.com/llvm/llvm-project/pull/96056.diff
1 Files Affected:
- (modified) llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp (+5-5)
``````````diff
diff --git a/llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp b/llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
index d36ce60c24185..877535513c721 100644
--- a/llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
+++ b/llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
@@ -1813,11 +1813,6 @@ bool RISCVInsertVSETVLI::runOnMachineFunction(MachineFunction &MF) {
for (MachineBasicBlock &MBB : MF)
emitVSETVLIs(MBB);
- // Insert PseudoReadVL after VLEFF/VLSEGFF and replace it with the vl output
- // of VLEFF/VLSEGFF.
- for (MachineBasicBlock &MBB : MF)
- insertReadVL(MBB);
-
// Now that all vsetvlis are explicit, go through and do block local
// DSE and peephole based demanded fields based transforms. Note that
// this *must* be done outside the main dataflow so long as we allow
@@ -1827,6 +1822,11 @@ bool RISCVInsertVSETVLI::runOnMachineFunction(MachineFunction &MF) {
for (MachineBasicBlock &MBB : MF)
coalesceVSETVLIs(MBB);
+ // Insert PseudoReadVL after VLEFF/VLSEGFF and replace it with the vl output
+ // of VLEFF/VLSEGFF.
+ for (MachineBasicBlock &MBB : MF)
+ insertReadVL(MBB);
+
BlockInfo.clear();
return HaveVectorOp;
}
``````````
</details>
https://github.com/llvm/llvm-project/pull/96056
More information about the llvm-commits
mailing list