xref: /llvm-project/llvm/test/CodeGen/WinEH/wineh-comdat.ll (revision cdd685e17c91b517e3a011988f9c1d9a30594d06)
1f9b72327SDave Lee; RUN: opt -mtriple=i686-unknown-windows-msvc -S -x86-winehstate < %s | FileCheck %s
2f9b72327SDave Lee
3f9b72327SDave Lee$f = comdat any
4f9b72327SDave Lee
5*cdd685e1SNikita Popovdefine void @f() comdat personality ptr @__CxxFrameHandler3 {
6f9b72327SDave Lee  invoke void @g() to label %return unwind label %unwind
7f9b72327SDave Leereturn:
8f9b72327SDave Lee  ret void
9f9b72327SDave Leeunwind:
10f9b72327SDave Lee  %pad = cleanuppad within none []
11f9b72327SDave Lee  cleanupret from %pad unwind to caller
12f9b72327SDave Lee}
13f9b72327SDave Lee
14f9b72327SDave Leedeclare void @g()
15f9b72327SDave Leedeclare i32 @__CxxFrameHandler3(...)
16f9b72327SDave Lee
17*cdd685e1SNikita Popov; CHECK: define internal i32 @"__ehhandler$f"(ptr %0, ptr %1, ptr %2, ptr %3){{ .+}} comdat($f) {
18