mirror-llvm-project/llvm/test/CodeGen
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
..
AArch64 [LLVM][CodeGen] Clean up uses of useSVEForFixedLengthVectorVT(). (#211605) 2026-07-28 13:45:54 +01:00
AMDGPU Revert "[AMDGPU] Fix llvm.amdgcn.ballot with return width != wavefront size" (#212628) 2026-07-28 15:30:31 -07:00
ARC
ARM [ARM] Use .reloc for dso_local weak symbols in PIC mode instead of GOT indirection (#209660) 2026-07-24 09:39:26 +08:00
AVR
BPF [DebugInfo][DwarfDebug] Move emission of types from beginModule() to endModule() (7/7) (#211536) 2026-07-27 12:50:35 +00:00
CSKY
DirectX [HLSL] Add UsedByAtomic64 shader flag (#211691) 2026-07-27 14:40:36 -07:00
Generic AMDGPU: Migrate more tests to amdgpu triples (#210113) 2026-07-20 20:01:45 +02:00
Hexagon [Hexagon] Fix missing requires assert for swp-epilog-phi12.mir (#212062) 2026-07-25 21:25:44 +00:00
Inputs
Lanai [NewPM] Port LegacyPM regalloc Refactoring 2026-07-20 12:50:11 -07:00
LoongArch [LoongArch] Support i128 operands for LSX inline assembly (#211464) 2026-07-24 10:23:38 +08:00
M68k [M68k][CodeGen] pipeline failure fix (#211458) 2026-07-23 07:31:22 +02:00
Mips [Mips] Fix test after #201537 (#209993) 2026-07-16 00:25:03 -07:00
MIR [MachineVerifier] do not use !NoPHI to check if a MF has phi nodes (#211941) 2026-07-27 18:41:31 +00:00
MIR2Vec [MIR2Vec] Handle machine functions with no basic blocks (#212294) 2026-07-28 20:32:23 +02:00
MLRegAlloc
MSP430
NVPTX [DAGCombiner] Fold insert_vector_elt into a shared BUILD_VECTOR (#210905) 2026-07-28 14:37:54 +08:00
PowerPC PowerPC: Rename "float-abi" module flag to "long-double-type" (#210817) 2026-07-28 20:10:25 +02:00
RISCV [RISCV] Add macro fusion support for the Xqci extension instructions (#209542) 2026-07-28 13:06:45 -07:00
SPARC
SPIRV [SPIRV] Preserve sign-sensitive width record across G_TRUNC replacement (#211626) 2026-07-28 11:02:11 -07:00
SystemZ [SystemZ] Improve handling of memmoves. (#196285) 2026-07-27 14:31:44 +02:00
Thumb
Thumb2 [SCEV] Use SCEVPtrToAddr instead of SCEVPtrToInt in SCEV. (#180244) 2026-07-24 20:20:48 +01:00
VE [VE] Fix crash when splitting all-ones v512i1 mask (#212489) 2026-07-28 22:49:30 +08:00
WebAssembly [WebAssembly] Call EH personality function instead of Unwind_CallPersonality (#209282) 2026-07-28 20:05:45 -07:00
WinCFGuard
WinEH
X86 [X86] Don't clobber x87 return values when zeroing call-used registers (#211129) 2026-07-28 21:45:28 +08:00
XCore
Xtensa [Xtensa] Add fp16 conversion support (#208206) 2026-07-22 01:06:25 +03:00