[all-commits] [llvm/llvm-project] 1ae36b: Remove special cases for invoke of non-throwing in...

James Y Knight via All-commits all-commits at lists.llvm.org
Fri Jan 6 10:53:39 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 1ae36b1387e4d023cc00aaa6139bcd90b2e48ff4
      https://github.com/llvm/llvm-project/commit/1ae36b1387e4d023cc00aaa6139bcd90b2e48ff4
  Author: James Y Knight <jyknight at google.com>
  Date:   2023-01-06 (Fri, 06 Jan 2023)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/Transforms/Utils/InlineFunction.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-no-unwind-inline-asm.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-unwind-inline-asm.ll
    R llvm/test/CodeGen/X86/no-seh-unwind-inline-asm-codegen.ll
    R llvm/test/CodeGen/X86/no-unwind-inline-asm-codegen.ll
    M llvm/test/Transforms/Inline/inline-invoke-with-asm-call.ll
    M llvm/test/Transforms/Inline/no-unwind-inline-asm.ll

  Log Message:
  -----------
  Remove special cases for invoke of non-throwing inline-asm.

Non-throwing inline asm infers the nounwind attribute in
instcombine. Thus, it can be handled in the same manner as
non-throwing target functions are generally. Further special casing is
unnecessary complexity.


  Commit: 648ce3d358560c0f60340fcf28ad2563d213eca2
      https://github.com/llvm/llvm-project/commit/648ce3d358560c0f60340fcf28ad2563d213eca2
  Author: James Y Knight <jyknight at google.com>
  Date:   2023-01-06 (Fri, 06 Jan 2023)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineFunction.h
    M llvm/lib/CodeGen/AsmPrinter/AIXException.cpp
    M llvm/lib/CodeGen/AsmPrinter/ARMException.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfCFIException.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfException.h
    M llvm/lib/CodeGen/AsmPrinter/EHStreamer.cpp
    M llvm/lib/CodeGen/AsmPrinter/WasmException.cpp
    M llvm/lib/CodeGen/AsmPrinter/WasmException.h
    M llvm/lib/CodeGen/AsmPrinter/WinException.cpp
    M llvm/lib/CodeGen/MachineFunction.cpp

  Log Message:
  -----------
  Cleanup unwind table emission code a bit.

This change removes the `tidyLandingPads` function, which previously
had a few responsibilities:

1. Dealing with the deletion of an invoke, after MachineFunction lowering.
2. Dealing with the deletion of a landing pad BB, after MachineFunction lowering.
3. Cleaning up the type-id list generated by `MachineFunction::addLandingPad`.

Case 3 has been fixed in the generator, and the others are now handled
during table emission.

This change also removes `MachineFunction`'s `addCatchTypeInfo`,
`addFilterTypeInfo`, and `addCleanup` helper fns, as they had a single
caller, and being outlined didn't make it simpler.

Finally, as calling `tidyLandingPads` was effectively the only thing
`DwarfCFIExceptionBase` did, that class has been eliminated.


Compare: https://github.com/llvm/llvm-project/compare/7ce53e31023d...648ce3d35856


More information about the All-commits mailing list