[all-commits] [llvm/llvm-project] 8675cd: [RISCV][VLOPT] Compute demanded VLs up front (#124...

Luke Lau via All-commits all-commits at lists.llvm.org
Tue Jan 28 20:40:00 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 8675cd3facc063673c47ed585bd4b7013119fe1f
      https://github.com/llvm/llvm-project/commit/8675cd3facc063673c47ed585bd4b7013119fe1f
  Author: Luke Lau <luke at igalia.com>
  Date:   2025-01-29 (Wed, 29 Jan 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
    M llvm/test/CodeGen/RISCV/rvv/vl-opt.mir
    M llvm/test/CodeGen/RISCV/rvv/vlopt-same-vl.ll

  Log Message:
  -----------
  [RISCV][VLOPT] Compute demanded VLs up front (#124530)

This replaces the worklist by instead computing what VL is demanded by
each instruction's users first, which is done via checkUsers.

The demanded VLs are stored in a DenseMap, and then we can just do a
single forward pass of tryReduceVL where we check if a candidate's
demanded VL is less than its VLOp.

This means the pass should now be linear in complexity, and allows us to
relax the restriction on tied operands in more easily as in #124066.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list