[all-commits] [llvm/llvm-project] ec68f8: [NVPTX] pass variadics frame as local pointer (#20...

Alex MacLean via All-commits all-commits at lists.llvm.org
Sun Jun 7 13:44:51 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: ec68f81078e155292349ee32d8cf926bd6d71eb3
      https://github.com/llvm/llvm-project/commit/ec68f81078e155292349ee32d8cf926bd6d71eb3
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2026-06-07 (Sun, 07 Jun 2026)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
    M llvm/lib/Transforms/IPO/ExpandVariadics.cpp
    M llvm/test/CodeGen/NVPTX/convert-call-to-indirect.ll
    M llvm/test/CodeGen/NVPTX/vaargs.ll
    M llvm/test/CodeGen/NVPTX/variadics-backend.ll
    M llvm/test/CodeGen/NVPTX/variadics-lowering.ll

  Log Message:
  -----------
  [NVPTX] pass variadics frame as local pointer (#201661)

Pass the pointer for variadics as a local (addrspace(5)) pointer. This
enables InferAddressSpace to convert loads of vaargs to local loads
(pipeline reordered to accomadate) and will also save a register in
short pointer mode. We leave vaListType as a generic pointer and cast
when expanding va_start to maintain backwards compatibility with IR
written expecting the va_list to be a generic pointer.



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