[all-commits] [llvm/llvm-project] 1f3c30: [AMDGPU] Mark PC_ADD_REL_OFFSET rematerializable (...

Yaxun (Sam) Liu via All-commits all-commits at lists.llvm.org
Thu Feb 1 09:21:32 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 1f3c30911cc5eee4b42bdc9c6358c689b2f2f223
      https://github.com/llvm/llvm-project/commit/1f3c30911cc5eee4b42bdc9c6358c689b2f2f223
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2024-02-01 (Thu, 01 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/test/CodeGen/AMDGPU/machine-sink-temporal-divergence-swdev407790.ll
    M llvm/test/CodeGen/AMDGPU/tuple-allocation-failure.ll
    M llvm/test/CodeGen/AMDGPU/unstructured-cfg-def-use-issue.ll

  Log Message:
  -----------
  [AMDGPU] Mark PC_ADD_REL_OFFSET rematerializable (#79674)

Currently machine LICM hoist PC_ADD_REL_OFFSET out of loops, causes
register pressure when function calls are deep in loops. This is a main
cause of sgpr spill for programs containing large number of function
calls in loops.

This patch marks PC_ADD_REL_OFFSET as rematerializable, which eliminates
sgpr spills due to function calls in loops.




More information about the All-commits mailing list