[all-commits] [llvm/llvm-project] f6b055: [AsmPrinter] Reintroduce full AsmPrinterHandler AP...

Jameson Nash via All-commits all-commits at lists.llvm.org
Thu Jan 16 08:00:28 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f6b0555a433cea1d32a6904c120516cd94b8f3db
      https://github.com/llvm/llvm-project/commit/f6b0555a433cea1d32a6904c120516cd94b8f3db
  Author: Jameson Nash <vtjnash at gmail.com>
  Date:   2025-01-16 (Thu, 16 Jan 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/AsmPrinter.h
    M llvm/include/llvm/CodeGen/AsmPrinterHandler.h
    M llvm/include/llvm/CodeGen/DebugHandlerBase.h
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/CodeGen/AsmPrinter/PseudoProbePrinter.h
    M llvm/lib/Target/BPF/BPFAsmPrinter.cpp
    M llvm/unittests/CodeGen/AsmPrinterDwarfTest.cpp

  Log Message:
  -----------
  [AsmPrinter] Reintroduce full AsmPrinterHandler API (#122297)

This restores the functionality of AsmPrinterHandlers to what it was
prior to https://github.com/llvm/llvm-project/pull/96785. The attempted
hack there of adding a duplicate DebugHandlerBase handling added a lot
of hidden state and assumptions, which just segfaulted when we tried to
continuing using this API. Instead, this just goes back to the old
design, but adds a separate array for the basic EH handles. The
duplicate array is identical to the other array of handler, but which
doesn't get their begin/endInstruction callbacks called. This still
saves the negligible but measurable amount of virtual function calls as
was the goal of #96785, while restoring the API to the pre-LLVM-19
status quo.



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