1; RUN: opt %loadPolly -polly-codegen < %s
2target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
3
4%struct..0__pthread_mutex_s = type { i32, i32, i32, i32, i32, i32, %struct.__pthread_list_t }
5%struct.__pthread_list_t = type { %struct.__pthread_list_t*, %struct.__pthread_list_t* }
6%union.pthread_attr_t = type { i64, [12 x i32] }
7%union.pthread_mutex_t = type { %struct..0__pthread_mutex_s }
8%union.pthread_mutexattr_t = type { i32 }
9
10@_ZL20__gthrw_pthread_oncePiPFvvE = weak alias i32 (i32*, void ()*), i32 (i32*, void ()*)* @pthread_once ; <i32 (i32*, void ()*)*> [#uses=0]
11@_ZL27__gthrw_pthread_getspecificj = weak alias i8* (i32), i8* (i32)* @pthread_getspecific ; <i8* (i32)*> [#uses=0]
12@_ZL27__gthrw_pthread_setspecificjPKv = weak alias i32 (i32, i8*), i32 (i32, i8*)* @pthread_setspecific ; <i32 (i32, i8*)*> [#uses=0]
13@_ZL22__gthrw_pthread_createPmPK14pthread_attr_tPFPvS3_ES3_ = weak alias i32 (i64*, %union.pthread_attr_t*, i8* (i8*)*, i8*), i32 (i64*, %union.pthread_attr_t*, i8* (i8*)*, i8*)* @pthread_create ; <i32 (i64*, %union.pthread_attr_t*, i8* (i8*)*, i8*)*> [#uses=0]
14@_ZL22__gthrw_pthread_cancelm = weak alias i32 (i64), i32 (i64)* @pthread_cancel ; <i32 (i64)*> [#uses=0]
15@_ZL26__gthrw_pthread_mutex_lockP15pthread_mutex_t = weak alias i32 (%union.pthread_mutex_t*), i32 (%union.pthread_mutex_t*)* @pthread_mutex_lock ; <i32 (%union.pthread_mutex_t*)*> [#uses=0]
16@_ZL29__gthrw_pthread_mutex_trylockP15pthread_mutex_t = weak alias i32 (%union.pthread_mutex_t*), i32 (%union.pthread_mutex_t*)* @pthread_mutex_trylock ; <i32 (%union.pthread_mutex_t*)*> [#uses=0]
17@_ZL28__gthrw_pthread_mutex_unlockP15pthread_mutex_t = weak alias i32 (%union.pthread_mutex_t*), i32 (%union.pthread_mutex_t*)* @pthread_mutex_unlock ; <i32 (%union.pthread_mutex_t*)*> [#uses=0]
18@_ZL26__gthrw_pthread_mutex_initP15pthread_mutex_tPK19pthread_mutexattr_t = weak alias i32 (%union.pthread_mutex_t*, %union.pthread_mutexattr_t*), i32 (%union.pthread_mutex_t*, %union.pthread_mutexattr_t*)* @pthread_mutex_init ; <i32 (%union.pthread_mutex_t*, %union.pthread_mutexattr_t*)*> [#uses=0]
19@_ZL26__gthrw_pthread_key_createPjPFvPvE = weak alias i32 (i32*, void (i8*)*), i32 (i32*, void (i8*)*)* @pthread_key_create ; <i32 (i32*, void (i8*)*)*> [#uses=0]
20@_ZL26__gthrw_pthread_key_deletej = weak alias i32 (i32), i32 (i32)* @pthread_key_delete ; <i32 (i32)*> [#uses=0]
21@_ZL30__gthrw_pthread_mutexattr_initP19pthread_mutexattr_t = weak alias i32 (%union.pthread_mutexattr_t*), i32 (%union.pthread_mutexattr_t*)* @pthread_mutexattr_init ; <i32 (%union.pthread_mutexattr_t*)*> [#uses=0]
22@_ZL33__gthrw_pthread_mutexattr_settypeP19pthread_mutexattr_ti = weak alias i32 (%union.pthread_mutexattr_t*, i32), i32 (%union.pthread_mutexattr_t*, i32)* @pthread_mutexattr_settype ; <i32 (%union.pthread_mutexattr_t*, i32)*> [#uses=0]
23@_ZL33__gthrw_pthread_mutexattr_destroyP19pthread_mutexattr_t = weak alias i32 (%union.pthread_mutexattr_t*), i32 (%union.pthread_mutexattr_t*)* @pthread_mutexattr_destroy ; <i32 (%union.pthread_mutexattr_t*)*> [#uses=0]
24
25define void @_ZL6createP6node_tii3v_tS1_d() {
26entry:
27  br i1 undef, label %bb, label %bb5
28
29bb:                                               ; preds = %entry
30  br i1 false, label %bb1, label %bb3
31
32bb1:                                              ; preds = %bb
33  br label %bb3
34
35bb3:                                              ; preds = %bb1, %bb
36  %iftmp.99.0 = phi i64 [ undef, %bb1 ], [ 1, %bb ] ; <i64> [#uses=0]
37  br label %bb5
38
39bb5:                                              ; preds = %bb3, %entry
40  br i1 undef, label %return, label %bb7
41
42bb7:                                              ; preds = %bb5
43  unreachable
44
45return:                                           ; preds = %bb5
46  ret void
47}
48
49define i32 @pthread_once(i32*, void ()*) {
50  ret i32 0
51}
52
53define i8* @pthread_getspecific(i32) {
54  ret i8* null
55}
56
57define i32 @pthread_setspecific(i32, i8*) {
58  ret i32 0
59}
60
61define i32 @pthread_create(i64*, %union.pthread_attr_t*, i8* (i8*)*, i8*) {
62  ret i32 0
63}
64
65define i32 @pthread_cancel(i64) {
66  ret i32 0
67}
68
69define i32 @pthread_mutex_lock(%union.pthread_mutex_t*) {
70  ret i32 0
71}
72
73define i32 @pthread_mutex_trylock(%union.pthread_mutex_t*) {
74  ret i32 0
75}
76
77define i32 @pthread_mutex_unlock(%union.pthread_mutex_t*) {
78  ret i32 0
79}
80
81define i32 @pthread_mutex_init(%union.pthread_mutex_t*, %union.pthread_mutexattr_t*) {
82  ret i32 0
83}
84
85define i32 @pthread_key_create(i32*, void (i8*)*) {
86  ret i32 0
87}
88
89define i32 @pthread_key_delete(i32) {
90  ret i32 0
91}
92
93define i32 @pthread_mutexattr_init(%union.pthread_mutexattr_t*) {
94  ret i32 0
95}
96
97define i32 @pthread_mutexattr_settype(%union.pthread_mutexattr_t*, i32) {
98  ret i32 0
99}
100
101define i32 @pthread_mutexattr_destroy(%union.pthread_mutexattr_t*) {
102  ret i32 0
103}
104