[all-commits] [llvm/llvm-project] 3ed643: [AMDGPUPromoteAlloca] Make compatible with opaque ...

Nikita Popov via All-commits all-commits at lists.llvm.org
Fri Mar 11 00:24:49 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 3ed643ea765411a3837b6fbb2e6f3b5a6bd616a3
      https://github.com/llvm/llvm-project/commit/3ed643ea765411a3837b6fbb2e6f3b5a6bd616a3
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2022-03-11 (Fri, 11 Mar 2022)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
    M llvm/test/CodeGen/AMDGPU/promote-alloca-array-aggregate.ll
    M llvm/test/CodeGen/AMDGPU/vector-alloca-bitcast.ll
    M llvm/test/CodeGen/AMDGPU/vector-alloca.ll

  Log Message:
  -----------
  [AMDGPUPromoteAlloca] Make compatible with opaque pointers

This mainly changes the handling of bitcasts to not check the types
being casted from/to -- we should only care about the actual
load/store types. The GEP handling is also changed to not care about
types, and just make sure that we get an offset corresponding to
a vector element.

This was a bit of a struggle for me, because this code seems to be
pretty sensitive to small changes. The end result seems to produce
strictly better results for the existing test coverage though,
because we can now deal with more situations involving bitcasts.

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




More information about the All-commits mailing list