[all-commits] [llvm/llvm-project] f8861e: clang-format file I'm about to touch. NFCI

Diana via All-commits all-commits at lists.llvm.org
Tue Apr 11 02:12:34 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f8861ea023e72f93c0c7329996b8bea31b53f90e
      https://github.com/llvm/llvm-project/commit/f8861ea023e72f93c0c7329996b8bea31b53f90e
  Author: Diana Picus <Diana-Magda.Picus at amd.com>
  Date:   2023-04-11 (Tue, 11 Apr 2023)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.h

  Log Message:
  -----------
  clang-format file I'm about to touch. NFCI


  Commit: d9bf8aba2371c8deadfabe90d52431d4bb7ab6cc
      https://github.com/llvm/llvm-project/commit/d9bf8aba2371c8deadfabe90d52431d4bb7ab6cc
  Author: Diana Picus <Diana-Magda.Picus at amd.com>
  Date:   2023-04-11 (Tue, 11 Apr 2023)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPU.h
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.add.gs.reg.rtn.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.sub.gs.reg.rtn.ll

  Log Message:
  -----------
  [AMDGPU] Add MMOs for GFX11 Streamout Instructions

The GFX11 NGG Streamout Instructions perform atomic operations on
dedicated registers. At the moment, they lack machine memory operands,
which causes the si-memory-legalizer pass to treat them conservatively
and introduce several unnecessary waits and cache invalidations.

This patch introduces a new address space to represent these special
registers and teaches instruction selection to add memory operands with
this new address space to DS_ADD/SUB_GS_REG_RTN.

Since this address space is meant to be compiler-internal, we move it
up a bit from the other address spaces and give it the number 128.
According to the LLVM Language Reference, address space numbers can go
all the way up to 2^24, but I'm not sure how well this is supported in
practice [1], so using a smaller number seems safer.

[1] https://github.com/llvm/llvm-project/blob/0107513fe79da7670e37c29c0862794a2213a89c/llvm/utils/TableGen/IntrinsicEmitter.cpp#L401

Differential Revision: https://reviews.llvm.org/D146031


Compare: https://github.com/llvm/llvm-project/compare/86c65fc4aa78...d9bf8aba2371


More information about the All-commits mailing list