[all-commits] [llvm/llvm-project] 32f998: [AMDGPU] - Add address space for strided buffers (...

Jessica Del via All-commits all-commits at lists.llvm.org
Fri Dec 15 06:49:39 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 32f9983c064557883223b585810eac3c6797d500
      https://github.com/llvm/llvm-project/commit/32f9983c064557883223b585810eac3c6797d500
  Author: Jessica Del <50999226+OutOfCache at users.noreply.github.com>
  Date:   2023-12-15 (Fri, 15 Dec 2023)

  Changed paths:
    M clang/lib/Basic/Targets/AMDGPU.cpp
    M clang/test/CodeGen/target-data.c
    M clang/test/CodeGenOpenCL/amdgpu-env-amdgcn.cl
    M llvm/docs/AMDGPUUsage.rst
    M llvm/include/llvm/Support/AMDGPUAddrSpace.h
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/Target/AMDGPU/AMDGPU.h
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/amdgpu-alias-analysis.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-ceil.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-copysign.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-exp.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-exp2.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-fabs.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-floor.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-fma.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-fmax-splat.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-fmax.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-fmin-splat.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-fmin.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-ldexp-splat.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-ldexp.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-log.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-log10.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-log2.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-mad.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pown.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-powr.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rint.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rootn.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-round.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.defined.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.defined.sin.cos.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.nobuiltins.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.weak.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sqrt.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-trunc.ll
    M llvm/test/CodeGen/AMDGPU/machine-sink-temporal-divergence-swdev407790.ll
    M llvm/test/CodeGen/AMDGPU/mdt-preserving-crash.ll
    M llvm/test/CodeGen/AMDGPU/nullptr.ll
    M llvm/test/CodeGen/AMDGPU/vectorize-buffer-fat-pointer.ll
    M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/adaptive_constant_global_redzones.ll
    M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/adaptive_global_redzones.ll
    M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_do_not_instrument_lds.ll
    M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_do_not_instrument_scratch.ll
    M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_instrument_constant_address_space.ll
    M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_instrument_generic_address_space.ll
    M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_instrument_global_address_space.ll
    M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/global_metadata_addrspacecasts.ll
    M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/no_redzones_in_lds_globals.ll
    M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/no_redzones_in_scratch_globals.ll
    M llvm/test/Transforms/GlobalOpt/global_alloca_diff_addrspaces.ll
    M llvm/test/Transforms/IndVarSimplify/AMDGPU/addrspace-7-doesnt-crash.ll
    M llvm/test/Transforms/InstCombine/alloca-in-non-alloca-as.ll
    M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/lsr-invalid-ptr-extend.ll
    M llvm/test/Transforms/OpenMP/attributor_pointer_offset_crash.ll
    M llvm/test/Transforms/OpenMP/indirect_call_kernel_info_crash.ll
    M llvm/test/Transforms/OpenMP/spmdization_constant_prop.ll
    M llvm/test/Transforms/OpenMP/spmdization_kernel_env_dep.ll
    M llvm/test/Transforms/OpenMP/values_in_offload_arrays.alloca.ll
    M llvm/unittests/Bitcode/DataLayoutUpgradeTest.cpp
    M llvm/unittests/Transforms/Utils/CodeExtractorTest.cpp
    M mlir/test/Target/LLVMIR/omptarget-parallel-llvm.mlir

  Log Message:
  -----------
  [AMDGPU] - Add address space for strided buffers (#74471)

This is an experimental address space for strided buffers. These buffers
can have structs as elements and
a stride > 1.
These pointers allow the indexed access in units of stride, i.e., they
point at `buffer[index * stride]`.
Thus, we can use the `idxen` modifier for buffer loads.

We assign address space 9 to 192-bit buffer pointers which contain a
128-bit descriptor, a 32-bit offset and a 32-bit index. Essentially,
they are fat buffer pointers with an additional 32-bit index.




More information about the All-commits mailing list