1; RUN: llc -mtriple powerpc64-ibm-aix -verify-machineinstrs < %s | \ 2; RUN: FileCheck %s 3 4; RUN: llc -mtriple powerpc64-ibm-aix -fast-isel -verify-machineinstrs < %s | \ 5; RUN: FileCheck %s 6 7; RUN: llc -mtriple powerpc64-ibm-aix -verify-machineinstrs -filetype=obj \ 8; RUN: -o %t.o < %s 9; RUN: llvm-readobj --syms %t.o | FileCheck --check-prefix=SYM %s 10 11; Function Attrs: nounwind 12declare i32 @func1() #0 13 14declare i32 @__xlcxx_personality_v1(...) 15 16; Function Attrs: mustprogress noinline optnone 17define linkonce_odr void @func2() #1 align 2 personality ptr @__xlcxx_personality_v1 { 18entry: 19 %0 = alloca ptr, align 8 20 %1 = alloca i32, align 4 21 br label %2 22 232: ; preds = %3, %entry 24 br i1 false, label %3, label %8 25 263: ; preds = %2 27 %4 = invoke i32 @func1() 28 to label %2 unwind label %lpad 29 30lpad: ; preds = %3 31 %5 = landingpad { ptr, i32 } 32 cleanup 33 %6 = extractvalue { ptr, i32 } %5, 0 34 store ptr %6, ptr %0, align 8 35 %7 = extractvalue { ptr, i32 } %5, 1 36 store i32 %7, ptr %1, align 4 37 br label %eh.resume 38 398: ; preds = 2% 40 ret void 41 42eh.resume: ; preds = %lpad 43 %9 = load ptr, ptr %0, align 8 44 %10 = load i32, ptr %1, align 4 45 %11 = insertvalue { ptr, i32 } undef, ptr %9, 0 46 %12 = insertvalue { ptr, i32 } %11, i32 %10, 1 47 resume { ptr, i32 } %12 48} 49 50attributes #0 = { nounwind } 51attributes #1 = { mustprogress noinline optnone } 52 53; CHECK: __ehinfo.0: 54; CHECK: .tc __ehinfo.0[TE],__ehinfo.0 55 56; SYM: Symbol { 57; SYM: Name: __ehinfo.0 58; SYM: CSECT Auxiliary Entry { 59; SYM: StorageMappingClass: XMC_TE (0x16) 60; SYM: } 61; SYM: } 62