[PATCH] D141913: WIP: Unwindabort: Add "unwindabort" syntax for the "call" instruction.

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


jyknight created this revision.
Herald added subscribers: llvm-commits, ormris, jdoerfert, steven_wu, hiraditya.
Herald added projects: LLVM, All.
jyknight requested review of this revision.

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

The 'unwindabort' modifier specifies that if the call stack is unwound
due to an exception, the personality function should abort the process
instead of continuing to unwind to the caller.

This commit adds only the core textual and bitcode IR parsing/writing
for the 'call' instruction.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D141913

Files:
  llvm/docs/ExceptionHandling.rst
  llvm/docs/LangRef.rst
  llvm/include/llvm/AsmParser/LLToken.h
  llvm/include/llvm/Bitcode/LLVMBitCodes.h
  llvm/include/llvm/IR/InstrTypes.h
  llvm/include/llvm/IR/Instructions.h
  llvm/lib/AsmParser/LLLexer.cpp
  llvm/lib/AsmParser/LLParser.cpp
  llvm/lib/Bitcode/Reader/BitcodeReader.cpp
  llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
  llvm/lib/IR/AsmWriter.cpp
  llvm/lib/IR/Instructions.cpp
  llvm/lib/IR/Verifier.cpp
  llvm/test/Bitcode/compatibility.ll
  llvm/test/Verifier/unwindabort-personality.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D141913.489756.patch
Type: text/x-patch
Size: 12479 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230117/bb07f7a3/attachment.bin>


More information about the llvm-commits mailing list