brintos

brintos / llvm-project-archived public Read only

0
0
Text · 937 B · 78fb1f8 Raw
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