[all-commits] [llvm/llvm-project] ec3525: [NVPTX] Attempt to load params using symbol additi...

Kevin McAfee via All-commits all-commits at lists.llvm.org
Mon Jan 13 12:58:58 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: ec3525f7844878767b70b78753affbe44acfa9ed
      https://github.com/llvm/llvm-project/commit/ec3525f7844878767b70b78753affbe44acfa9ed
  Author: Kevin McAfee <kmcafee at nvidia.com>
  Date:   2025-01-13 (Mon, 13 Jan 2025)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
    A llvm/test/CodeGen/NVPTX/param-add.ll

  Log Message:
  -----------
  [NVPTX] Attempt to load params using symbol addition node directly (#119935)

During instruction selection on load instructions, transform loads of
[register+offset] into [symbol+offset] if the register value is the
result of an ADD instruction(s) of a symbol and constant(s). This
enables the removal of any ADD(s) of the symbol that are not combined
with the load to create a ld.param. This is normally not an issue when
DAG combines are enabled as any extra ADDs would be folded. However,
when DAG combines are disabled, there may be cases where an ADD of a
symbol is consumed by multiple other nodes and is retained in generated
code as a PTX `add` instruction that uses the symbol as an operand -
this is illegal PTX.



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