[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