[all-commits] [llvm/llvm-project] e933cf: [NVPTX] Fixup NVPTXPrologEpilogPass for opt-bisect...

Alex MacLean via All-commits all-commits at lists.llvm.org
Fri Jun 27 08:31:31 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: e933cfcfb2d207a7ff63cf152a7a78555d431d49
      https://github.com/llvm/llvm-project/commit/e933cfcfb2d207a7ff63cf152a7a78555d431d49
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2025-06-27 (Fri, 27 Jun 2025)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTX.h
    M llvm/lib/Target/NVPTX/NVPTXPrologEpilogPass.cpp
    M llvm/lib/Target/NVPTX/NVPTXRegisterInfo.cpp
    M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
    A llvm/test/CodeGen/NVPTX/frameindex-lifetime.ll

  Log Message:
  -----------
  [NVPTX] Fixup NVPTXPrologEpilogPass for opt-bisect-limit (#144136)

Currently, the NVPTXPrologEpilogPass will crash if LIFETIME_START or
LIFETIME_END instructions are encountered. Usually this isn't a problem
since a couple earlier passes will always remove them. However, when
using opt-bisect-limit crashes can occur. This can hinder debugging and
reveals a potential future problem if these optimization passes change
their behavior. https://cuda.godbolt.org/z/E81xxKGdb

This change updates NVPTXPrologEpilogPass and
NVPTXRegisterInfo::eliminateFrameIndex to gracefully handle these
instructions by simply removing them. While I'm here I also did some
general fixup in NVPTXPrologEpilogPass to make it look more like
PrologEpilogInserter (from which it was copied).



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