[all-commits] [llvm/llvm-project] b389ad: [RISCV] Allow non-canonicalized splats in isProfit...

Philip Reames via All-commits all-commits at lists.llvm.org
Wed Oct 1 14:00:49 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: b389adf56a1610cbdf0aa0a7b0b70b2c6b049f83
      https://github.com/llvm/llvm-project/commit/b389adf56a1610cbdf0aa0a7b0b70b2c6b049f83
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-10-01 (Wed, 01 Oct 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll

  Log Message:
  -----------
  [RISCV] Allow non-canonicalized splats in isProfitableToSinkOperands (#161586)

This isn't an optimization change - IR transforms should have remove the
operands and replaced them with poison. However, I noticed the
non-canonical splat structure in a couple of llvm-reduce outputs. This
results in us creating extremely atypical IR which is quite misleading
about the true cause of what's going on. (Because the non-canonical
splat doesn't get sunk, we then prone whatever was actually holding it
outside the loop in the original example, eliminating insight as to the
true cause of whatever issue we're debugging.)



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