[all-commits] [llvm/llvm-project] ba17bd: [AMDGPU] Extend SILoadStoreOptimizer to handle glo...

Stanislav Mekhanoshin via All-commits all-commits at lists.llvm.org
Tue Feb 22 08:42:51 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: ba17bd2674c07e4ba79f3aede0f6dbb0c9ef592c
      https://github.com/llvm/llvm-project/commit/ba17bd2674c07e4ba79f3aede0f6dbb0c9ef592c
  Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
  Date:   2022-02-22 (Tue, 22 Feb 2022)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
    M llvm/test/CodeGen/AMDGPU/memcpy-fixed-align.ll
    A llvm/test/CodeGen/AMDGPU/merge-global-load-store.mir
    M llvm/test/CodeGen/AMDGPU/promote-kernel-arguments.ll

  Log Message:
  -----------
  [AMDGPU] Extend SILoadStoreOptimizer to handle global loads

There can be situations where global and flat loads and stores are not
combined by the vectorizer, in particular if their address space
differ in the IR but they end up the same class instructions after
selection. For example a divergent load from constant address space
ends up being the same global_load as a load from global address space.

TODO: merge global stores.
TODO: handle SADDR forms.
TODO: merge flat load/stores.
TODO: merge flat with global promoting to flat.

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




More information about the All-commits mailing list