mirror-llvm-project/llvm/test
Demetrius Kanios 1d4e04f7a7
[WebAssembly] Call EH personality function instead of Unwind_CallPersonality (#209282)
On Wasm, it's not currently possibly to change which `personality` is
attached to a given IR function. This is primarily because no matter
what `personality` is attached, codegen creates a call to a
`Unwind_CallPersonality` wrapper hard-coded to call c++abi's
personality.

In order to allow alternative personalities without introducing bloat at
each personality call site, this PR adjusts the ABI of the personality
on Wasm. `Unwind_CallPersonality` is moved to `libcxxabi` under the name
`__gxx_wasm_personality_v0`, with the "real" personality code renamed
`__gxx_personality_imp` and called by `__gxx_wasm_personality_v0` (after
resetting the landing pad context).

The signature of EH personalities on Wasm is now `int personality(void*
exception_object)` (where the int return is `_Unwind_Reason_Code` and
the `void*` is `_Unwind_Exception*`), and personalities are expected to
`__wasm_lpad_context.selector = 0;`.

Based on #175202
2026-07-28 20:05:45 -07:00
..
Analysis [SCEV] Rewrite more SCEVAddExpr when applying guards. (#159942) 2026-07-28 08:20:57 +00:00
Assembler IR: Accept x86_fp80 and float as a long-double-type value (#210818) 2026-07-28 19:18:45 +00:00
Bindings
Bitcode PowerPC: Rename "float-abi" module flag to "long-double-type" (#210817) 2026-07-28 20:10:25 +02:00
CodeGen [WebAssembly] Call EH personality function instead of Unwind_CallPersonality (#209282) 2026-07-28 20:05:45 -07:00
DebugInfo [DebugInfo][DwarfDebug] Move emission of types from beginModule() to endModule() (7/7) (#211536) 2026-07-27 12:50:35 +00:00
Demangle
DWARFCFIChecker/X86
Examples
ExecutionEngine [RuntimeDyld][COFF] Apply addend for IMAGE_REL_AMD64_SECREL (#211015) 2026-07-22 17:28:05 +02:00
Feature
FileCheck [LLVM] Drop ability to use external shell 2026-07-14 20:27:06 -07:00
Frontend/HLSL
Instrumentation [test] Use temp directory for output (#212379) 2026-07-28 09:59:53 -07:00
Integer
JitListener
Linker PowerPC: Rename "float-abi" module flag to "long-double-type" (#210817) 2026-07-28 20:10:25 +02:00
LTO AMDGPU: Migrate more tests to amdgpu triples (#210113) 2026-07-20 20:01:45 +02:00
MachineVerifier AMDGPU: Migrate more machine verifier tests to subarch triples (#211509) 2026-07-23 18:27:55 +02:00
MC AMDGPU: Remove some assembler tests using dummy target (#212595) 2026-07-28 20:29:36 +00:00
Object
ObjectYAML
Other [Reassociate] Use UniformityInfo to group uniform operands together (#198507) 2026-07-23 11:21:20 +05:30
SafepointIRVerifier
Support
SymbolRewriter
TableGen [TableGen] Treat carriage return as line end in prepSkipRegion (#212411) 2026-07-28 16:08:16 +01:00
ThinLTO [X86] narrow the check scope to function NFC (#210917) 2026-07-22 12:31:06 +05:30
tools [LinkerWrapper] Retain the offloading entries section under --gc-sections (#212614) 2026-07-28 17:24:25 -05:00
Transforms [WebAssembly] Call EH personality function instead of Unwind_CallPersonality (#209282) 2026-07-28 20:05:45 -07:00
Unit
Verifier PowerPC: Rename "float-abi" module flag to "long-double-type" (#210817) 2026-07-28 20:10:25 +02:00
YAMLParser
.clang-format
CMakeLists.txt
lit.cfg.py [Darwin] Improve ld64 based configs (#212329) 2026-07-28 09:22:37 -07:00
lit.site.cfg.py.in [Darwin] Improve ld64 based configs (#212329) 2026-07-28 09:22:37 -07:00
TestRunner.sh