38 lines · plain
1; RUN: llc -aix-ssp-tb-bit -mtriple=powerpc64-ibm-aix-xcoff -O0 < %s | FileCheck %s2 3; CHECK-LABEL: f:4; CHECK: __ssp_canary_word5; CHECK: TB_SSP_CANARY6define i32 @f() #0 personality ptr @__xlcxx_personality_v1 {7 invoke i32 undef(ptr undef)8 to label %invoke unwind label %lpad9 10 invoke:11 %var = alloca i32, align 412 store i32 0, ptr %var, align 413 %gep = getelementptr inbounds i32, ptr %var, i32 114 %ret = load i32, ptr %gep, align 415 ret i32 %ret16 lpad:17 landingpad { ptr, i32 }18 catch ptr null19 unreachable20 21}22 23; CHECK-LABEL: f2:24; CHECK: __ssp_canary_word25; Not emitting traceback bit when no unwinding needed.26; CHECK-NOT: TB_SSP_CANARY27define i32 @f2() #0 {28 %var = alloca i32, align 429 store i32 0, ptr %var, align 430 %gep = getelementptr inbounds i32, ptr %var, i32 131 %ret = load i32, ptr %gep, align 432 ret i32 %ret33}34 35declare i32 @__xlcxx_personality_v1(...)36attributes #0 = { sspstrong }37 38