75 lines · plain
1;; Test if we are still able to compile even when the personality routine is just an alias.2 3; RUN: llc -verify-machineinstrs -mcpu=pwr7 -mattr=-altivec \4; RUN: -mtriple powerpc-ibm-aix-xcoff < %s | FileCheck %s --check-prefixes=SYM,SYM325; RUN: llc -verify-machineinstrs -mcpu=pwr7 -mattr=-altivec \6; RUN: -mtriple powerpc64-ibm-aix-xcoff < %s | FileCheck %s --check-prefixes=SYM,SYM647 8@__xlcxx_personality_v1 = alias i32 (), ptr @__gxx_personality_v09define i32 @__gxx_personality_v0() {10entry:11 ret i32 112}13 14define dso_local signext i32 @_Z3foov() #0 personality ptr @__xlcxx_personality_v1 {15entry:16 %retval = alloca i32, align 417 %exn.slot = alloca ptr, align 818 %ehselector.slot = alloca i32, align 419 invoke void @_Z3barv()20 to label %invoke.cont unwind label %lpad21 22invoke.cont: ; preds = %entry23 br label %try.cont24 25lpad: ; preds = %entry26 %0 = landingpad { ptr, i32 }27 catch ptr null28 %1 = extractvalue { ptr, i32 } %0, 029 store ptr %1, ptr %exn.slot, align 830 %2 = extractvalue { ptr, i32 } %0, 131 store i32 %2, ptr %ehselector.slot, align 432 br label %catch33 34catch: ; preds = %lpad35 %exn = load ptr, ptr %exn.slot, align 836 br label %return37 38try.cont: ; preds = %invoke.cont39 store i32 2, ptr %retval, align 440 br label %return41 42return: ; preds = %try.cont, %catch43 ret i32 144}45 46declare void @_Z3barv()47 48; SYM: .globl __gxx_personality_v0[DS] # -- Begin function __gxx_personality_v049; SYM: .globl .__gxx_personality_v050; SYM: .align 451; SYM: .csect __gxx_personality_v0[DS]52; SYM: __xlcxx_personality_v1: # @__gxx_personality_v053; SYM32: .vbyte 4, .__gxx_personality_v054; SYM32: .vbyte 4, TOC[TC0]55; SYM32: .vbyte 4, 056; SYM64: .vbyte 8, .__gxx_personality_v057; SYM64: .vbyte 8, TOC[TC0]58; SYM64: .vbyte 8, 059; SYM: .csect ..text..[PR],560; SYM: .__gxx_personality_v0:61; SYM: .__xlcxx_personality_v1:62; SYM: # %bb.0: # %entry63; SYM: li 3, 164; SYM: blr65 66; SYM: .csect .eh_info_table[RW],267; SYM: __ehinfo.1:68; SYM: .vbyte 4, 069; SYM32: .align 270; SYM32: .vbyte 4, GCC_except_table171; SYM32: .vbyte 4, __xlcxx_personality_v172; SYM64: .align 373; SYM64: .vbyte 8, GCC_except_table174; SYM64: .vbyte 8, __xlcxx_personality_v175