[PATCH] D141916: WIP: Unwindabort: add support for IR transforms and analysis.

James Y Knight via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 17 03:53:38 PST 2023


jyknight created this revision.
Herald added subscribers: llvm-commits, ormris, okura, jdoerfert, kuter, hiraditya.
Herald added projects: LLVM, All.
jyknight requested review of this revision.
Herald added a reviewer: jdoerfert.
Herald added a reviewer: sstefan1.

This is part of a series of changes to enable generating more
efficient code for C++ "noexcept" functions. See also the RFC,
https://discourse.llvm.org/t/rfc-add-call-unwindabort-to-llvm-ir/62543

In previous commits, we added the core Instruction support for
'unwindabort'. This commit adds support for its semantics to the
IR-level transforms and analyses.

Depends on D141915 <https://reviews.llvm.org/D141915>


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D141916

Files:
  llvm/include/llvm/Analysis/EHPersonalities.h
  llvm/include/llvm/Transforms/Utils/Local.h
  llvm/lib/CodeGen/WinEHPrepare.cpp
  llvm/lib/Transforms/IPO/AttributorAttributes.cpp
  llvm/lib/Transforms/IPO/FunctionAttrs.cpp
  llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
  llvm/lib/Transforms/Utils/EscapeEnumerator.cpp
  llvm/lib/Transforms/Utils/InlineFunction.cpp
  llvm/lib/Transforms/Utils/Local.cpp
  llvm/lib/Transforms/Utils/SimplifyCFG.cpp
  llvm/test/Instrumentation/ThreadSanitizer/eh.ll
  llvm/test/Transforms/Attributor/nounwind.ll
  llvm/test/Transforms/Attributor/willreturn.ll
  llvm/test/Transforms/FunctionAttrs/nounwind.ll
  llvm/test/Transforms/FunctionAttrs/willreturn.ll
  llvm/test/Transforms/Inline/inline-unwindabort.ll
  llvm/test/Transforms/InstCombine/nothrow.ll
  llvm/test/Transforms/InstCombine/unwindabort.ll
  llvm/test/Transforms/SimplifyCFG/invoke_unwind.ll
  llvm/test/Verifier/musttail-invalid.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D141916.489759.patch
Type: text/x-patch
Size: 44186 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230117/40d3e91e/attachment.bin>


More information about the llvm-commits mailing list