1; RUN: llc -mtriple=i686-windows-msvc < %s | FileCheck %s 2 3; Mostly make sure that llvm.eh.recoverfp doesn't crash if the parent 4; function lacks a personality. 5 6declare ptr @llvm.frameaddress(i32) 7declare ptr @llvm.eh.recoverfp(ptr, ptr) 8 9define i32 @main() { 10entry: 11 ret i32 0 12} 13 14define internal i32 @"filt$main"() { 15entry: 16 %ebp = tail call ptr @llvm.frameaddress(i32 1) 17 %parentfp = tail call ptr @llvm.eh.recoverfp(ptr @main, ptr %ebp) 18 %info.addr = getelementptr inbounds i8, ptr %ebp, i32 -20 19 %0 = load ptr, ptr %info.addr, align 4 20 %1 = load ptr, ptr %0, align 4 21 %2 = load i32, ptr %1, align 4 22 %matches = icmp eq i32 %2, u0xC0000005 23 %r = zext i1 %matches to i32 24 ret i32 %r 25} 26 27; CHECK: _main: 28; CHECK: xorl %eax, %eax 29; CHECK: retl 30 31; CHECK: _filt$main: 32; CHECK: retl 33