1; RUN: llc -aix-ssp-tb-bit -mtriple=powerpc64-ibm-aix-xcoff -O0 < %s | FileCheck %s 2 3; CHECK-LABEL: f: 4; CHECK: __ssp_canary_word 5; CHECK: TB_SSP_CANARY 6define i32 @f() #0 personality ptr @__xlcxx_personality_v1 { 7 invoke i32 undef(ptr undef) 8 to label %invoke unwind label %lpad 9 10 invoke: 11 %var = alloca i32, align 4 12 store i32 0, ptr %var, align 4 13 %gep = getelementptr inbounds i32, ptr %var, i32 1 14 %ret = load i32, ptr %gep, align 4 15 ret i32 %ret 16 lpad: 17 landingpad { ptr, i32 } 18 catch ptr null 19 unreachable 20 21} 22 23; CHECK-LABEL: f2: 24; CHECK: __ssp_canary_word 25; Not emitting traceback bit when no unwinding needed. 26; CHECK-NOT: TB_SSP_CANARY 27define i32 @f2() #0 { 28 %var = alloca i32, align 4 29 store i32 0, ptr %var, align 4 30 %gep = getelementptr inbounds i32, ptr %var, i32 1 31 %ret = load i32, ptr %gep, align 4 32 ret i32 %ret 33} 34 35declare i32 @__xlcxx_personality_v1(...) 36attributes #0 = { sspstrong } 37 38