[llvm] [RISCV] Clear vill for whole vector register moves in vsetvli insertion (PR #118283)
Luke Lau via llvm-commits
llvm-commits at lists.llvm.org
Tue Dec 3 06:19:36 PST 2024
================
@@ -1426,6 +1468,15 @@ void RISCVInsertVSETVLI::emitVSETVLIs(MachineBasicBlock &MBB) {
PrefixTransparent = false;
}
+ if (isVectorCopy(ST->getRegisterInfo(), MI)) {
+ if (!PrevInfo.isCompatible(DemandedFields::all(), CurInfo, LIS)) {
+ insertVSETVLI(MBB, MI, MI.getDebugLoc(), CurInfo, PrevInfo);
----------------
lukel97 wrote:
Looks like 526.blender_r has ~80 extra vsetvlis and 510.parest_r has ~50
```
Program riscv-insert-vsetvli.NumCoalescedVSETVL riscv-insert-vsetvli.NumInsertedVSETVL
lhs rhs diff lhs rhs diff
FP2017rate/526.blender_r/526.blender_r 573.00 623.00 50.00 27778.00 27908.00 130.00
FP2017rate/538.imagick_r/538.imagick_r 120.00 160.00 40.00 4758.00 4804.00 46.00
FP2017speed/638.imagick_s/638.imagick_s 120.00 160.00 40.00 4758.00 4804.00 46.00
FP2017rate/511.povray_r/511.povray_r 54.00 62.00 8.00 2591.00 2602.00 11.00
FP2017rate/510.parest_r/510.parest_r 75.00 82.00 7.00 6051.00 6106.00 55.00
INT2017rate/502.gcc_r/502.gcc_r 42.00 48.00 6.00 11241.00 11250.00 9.00
INT2017speed/602.gcc_s/602.gcc_s 42.00 48.00 6.00 11241.00 11250.00 9.00
INT2017rate/541.leela_r/541.leela_r 7.00 12.00 5.00 182.00 187.00 5.00
INT2017speed/641.leela_s/641.leela_s 7.00 12.00 5.00 182.00 187.00 5.00
INT2017rate/525.x264_r/525.x264_r 315.00 318.00 3.00 4585.00 4590.00 5.00
INT2017speed/625.x264_s/625.x264_s 315.00 318.00 3.00 4585.00 4590.00 5.00
INT2017rat...99.specrand_ir/999.specrand_ir 0.00 5.00 5.00 0.00
INT2017spe...00.perlbench_s/600.perlbench_s 9.00 9.00 0.00 900.00 900.00 0.00
FP2017rate/508.namd_r/508.namd_r 4.00 4.00 0.00 782.00 782.00 0.00
INT2017speed/605.mcf_s/605.mcf_s 0.00 43.00 43.00 0.00
INT2017spe...ed/620.omnetpp_s/620.omnetpp_s 3.00 3.00 0.00 1610.00 1610.00 0.00
INT2017rate/557.xz_r/557.xz_r 0.00 232.00 232.00 0.00
INT2017spe...31.deepsjeng_s/631.deepsjeng_s 6.00 6.00 0.00 255.00 256.00 1.00
INT2017speed/657.xz_s/657.xz_s 0.00 232.00 232.00 0.00
INT2017spe...23.xalancbmk_s/623.xalancbmk_s 15.00 15.00 0.00 4848.00 4850.00 2.00
INT2017rat...23.xalancbmk_r/523.xalancbmk_r 15.00 15.00 0.00 4848.00 4850.00 2.00
INT2017rat...31.deepsjeng_r/531.deepsjeng_r 6.00 6.00 0.00 255.00 256.00 1.00
INT2017rate/520.omnetpp_r/520.omnetpp_r 3.00 3.00 0.00 1610.00 1610.00 0.00
INT2017rate/505.mcf_r/505.mcf_r 0.00 43.00 43.00 0.00
INT2017rat...00.perlbench_r/500.perlbench_r 9.00 9.00 0.00 900.00 900.00 0.00
FP2017spee...96.specrand_fs/996.specrand_fs 0.00 5.00 5.00 0.00
FP2017speed/644.nab_s/644.nab_s 0.00 84.00 84.00 0.00
FP2017speed/619.lbm_s/619.lbm_s 0.00 43.00 43.00 0.00
FP2017rate...97.specrand_fr/997.specrand_fr 0.00 5.00 5.00 0.00
FP2017rate/544.nab_r/544.nab_r 0.00 84.00 84.00 0.00
FP2017rate/519.lbm_r/519.lbm_r 0.00 43.00 43.00 0.00
INT2017spe...98.specrand_is/998.specrand_is 0.00 5.00 5.00 0.00
```
https://github.com/llvm/llvm-project/pull/118283
More information about the llvm-commits
mailing list