[NFC][RemoveDIs] Prefer iterators over inst-pointers in InstCombine
[llvm-project.git] / llvm / test / CodeGen / PowerPC / aix-emit-tracebacktable-ssp.ll
blob78fb1f84040c551d583cde52da9d8d23785cc066
1 ; RUN: llc -aix-ssp-tb-bit -mtriple=powerpc64-ibm-aix-xcoff -O0 < %s | FileCheck %s
3 ; CHECK-LABEL: f:
4 ; CHECK: __ssp_canary_word
5 ; CHECK: TB_SSP_CANARY
6 define i32 @f() #0 personality ptr @__xlcxx_personality_v1 {
7   invoke i32 undef(ptr undef)
8     to label %invoke unwind label %lpad
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
23 ; CHECK-LABEL: f2:
24 ; CHECK: __ssp_canary_word
25 ; Not emitting traceback bit when no unwinding needed.
26 ; CHECK-NOT: TB_SSP_CANARY
27 define 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
35 declare i32 @__xlcxx_personality_v1(...)
36 attributes #0 = { sspstrong }