[all-commits] [llvm/llvm-project] 29b5c1: [NVPTX] Do not run the NVVMReflect pass as part of...

Joseph Huber via All-commits all-commits at lists.llvm.org
Tue Jan 7 12:45:24 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 29b5c18e466cea867e9e785e650d9ec2e5c295b9
      https://github.com/llvm/llvm-project/commit/29b5c18e466cea867e9e785e650d9ec2e5c295b9
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-01-07 (Tue, 07 Jan 2025)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXSubtarget.cpp
    M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
    M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
    M llvm/lib/Target/NVPTX/NVVMReflect.cpp
    M llvm/test/CodeGen/NVPTX/nvvm-reflect-arch.ll
    M llvm/test/CodeGen/NVPTX/nvvm-reflect-ocl.ll
    M llvm/test/CodeGen/NVPTX/nvvm-reflect-opaque.ll
    M llvm/test/CodeGen/NVPTX/nvvm-reflect.ll

  Log Message:
  -----------
  [NVPTX] Do not run the NVVMReflect pass as part of the normal pipeline (#121834)

Summary:
This pass lowers the `__nvvm_reflect` builtin in the IR. However, this
currently runs in the standard optimization pipeline, not just the
backend pipeline. This means that if the user creates LLVM-IR without an
architecture set, it will always delete the reflect code even if it is
intended to be used later.

Pushing this into the backend pipeline will ensure that this works as
intended, allowing users to conditionally include code depending on
which target architecture the user ended up using. This fixes a bug in
OpenMP and missing code in `libc`.



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