[all-commits] [llvm/llvm-project] 4583f6: [NVPTX] Switch front-ends and tests to ptx_kernel ...

Alex MacLean via All-commits all-commits at lists.llvm.org
Tue Jan 7 18:25:11 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 4583f6d3443c8dc6605c868724e3743161954210
      https://github.com/llvm/llvm-project/commit/4583f6d3443c8dc6605c868724e3743161954210
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2025-01-07 (Tue, 07 Jan 2025)

  Changed paths:
    M clang/lib/CodeGen/Targets/NVPTX.cpp
    M clang/test/CodeGen/nvptx_attributes.c
    M clang/test/CodeGenCUDA/device-fun-linkage.cu
    M clang/test/CodeGenCUDA/grid-constant.cu
    M clang/test/CodeGenCUDA/offload_via_llvm.cu
    M clang/test/CodeGenCUDA/ptx-kernels.cu
    M clang/test/CodeGenCUDA/usual-deallocators.cu
    M clang/test/CodeGenOpenCL/ptx-calls.cl
    M clang/test/CodeGenOpenCL/ptx-kernels.cl
    M clang/test/CodeGenOpenCL/reflect.cl
    M clang/test/Headers/gpuintrin.c
    M llvm/lib/Target/NVPTX/NVPTXCtorDtorLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXUtilities.cpp
    M llvm/test/Analysis/UniformityAnalysis/NVPTX/daorder.ll
    M llvm/test/Analysis/UniformityAnalysis/NVPTX/diverge.ll
    M llvm/test/Analysis/UniformityAnalysis/NVPTX/hidden_diverge.ll
    M llvm/test/Analysis/UniformityAnalysis/NVPTX/irreducible.ll
    M llvm/test/CodeGen/NVPTX/b52037.ll
    M llvm/test/CodeGen/NVPTX/bug21465.ll
    M llvm/test/CodeGen/NVPTX/bug22322.ll
    M llvm/test/CodeGen/NVPTX/bug26185.ll
    M llvm/test/CodeGen/NVPTX/call-with-alloca-buffer.ll
    M llvm/test/CodeGen/NVPTX/cluster-dim.ll
    M llvm/test/CodeGen/NVPTX/generic-to-nvvm.ll
    M llvm/test/CodeGen/NVPTX/i1-array-global.ll
    M llvm/test/CodeGen/NVPTX/i1-ext-load.ll
    M llvm/test/CodeGen/NVPTX/i1-global.ll
    M llvm/test/CodeGen/NVPTX/i1-param.ll
    M llvm/test/CodeGen/NVPTX/intr-range.ll
    M llvm/test/CodeGen/NVPTX/kernel-param-align.ll
    M llvm/test/CodeGen/NVPTX/load-with-non-coherent-cache.ll
    M llvm/test/CodeGen/NVPTX/local-stack-frame.ll
    M llvm/test/CodeGen/NVPTX/lower-alloca.ll
    M llvm/test/CodeGen/NVPTX/lower-args-gridconstant.ll
    M llvm/test/CodeGen/NVPTX/lower-args.ll
    M llvm/test/CodeGen/NVPTX/lower-byval-args.ll
    M llvm/test/CodeGen/NVPTX/lower-ctor-dtor.ll
    M llvm/test/CodeGen/NVPTX/lower-kernel-ptr-arg.ll
    M llvm/test/CodeGen/NVPTX/maxclusterrank.ll
    M llvm/test/CodeGen/NVPTX/noduplicate-syncthreads.ll
    M llvm/test/CodeGen/NVPTX/noreturn.ll
    M llvm/test/CodeGen/NVPTX/nvcl-param-align.ll
    M llvm/test/CodeGen/NVPTX/refl1.ll
    M llvm/test/CodeGen/NVPTX/reg-copy.ll
    M llvm/test/CodeGen/NVPTX/simple-call.ll
    M llvm/test/CodeGen/NVPTX/surf-read-cuda.ll
    M llvm/test/CodeGen/NVPTX/surf-read.ll
    M llvm/test/CodeGen/NVPTX/surf-tex.py
    M llvm/test/CodeGen/NVPTX/surf-write-cuda.ll
    M llvm/test/CodeGen/NVPTX/surf-write.ll
    M llvm/test/CodeGen/NVPTX/tex-read-cuda.ll
    M llvm/test/CodeGen/NVPTX/tex-read.ll
    M llvm/test/CodeGen/NVPTX/unreachable.ll
    M llvm/test/DebugInfo/NVPTX/debug-addr-class.ll
    M llvm/test/DebugInfo/NVPTX/debug-info.ll
    M llvm/test/Transforms/LoopStrengthReduce/NVPTX/trunc.ll
    M llvm/test/Transforms/StraightLineStrengthReduce/NVPTX/speculative-slsr.ll
    M mlir/lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/nvvmir.mlir

  Log Message:
  -----------
  [NVPTX] Switch front-ends and tests to ptx_kernel cc (#120806)

the `ptx_kernel` calling convention is a more idiomatic and standard way
of specifying a NVPTX kernel than using the metadata which is not
supposed to change the meaning of the program. Further, checking the
calling convention is significantly faster than traversing the metadata,
improving compile time.

This change updates the clang and mlir frontends as well as the
NVPTXCtorDtorLowering pass to emit kernels using the calling convention.
In addition, this updates all NVPTX unit tests to use the calling
convention as well.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list