Lines Matching full:polly

1 ; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force '-passes=print<polly-ast>' -disable-…
2 ; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force -passes=polly-codegen -S -verify-dom…
4 ; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force '-passes=polly-import-jscop,print<po…
5 ; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force '-passes=polly-import-jscop,polly-co…
7 …opt %loadNPMPolly -polly-parallel -polly-parallel-force -passes=polly-codegen -polly-omp-backend=L…
8 ; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force -passes=polly-codegen -polly-omp-bac…
9 ; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force -passes=polly-codegen -polly-omp-bac…
10 …opt %loadNPMPolly -polly-parallel -polly-parallel-force -passes=polly-codegen -polly-omp-backend=L…
11 ; RUN: opt %loadNPMPolly -polly-parallel -polly-parallel-force '-passes=polly-import-jscop,polly-co…
37 ; IR-NEXT: %polly.par.userContext = alloca
39 ; IR-LABEL: polly.parallel.for:
40 …P_parallel_loop_runtime_start(ptr @single_parallel_loop_polly_subfn, ptr %polly.par.userContext, i…
41 ; IR-NEXT: call void @single_parallel_loop_polly_subfn(ptr %polly.par.userContext)
43 ; IR-NEXT: br label %polly.exiting
45 ; IR: define internal void @single_parallel_loop_polly_subfn(ptr %polly.par.userContext) #1
46 ; IR-LABEL: polly.par.setup:
47 ; IR-NEXT: %polly.par.LBPtr = alloca i64
48 ; IR-NEXT: %polly.par.UBPtr = alloca i64
49 ; IR: br label %polly.par.checkNext
51 ; IR-LABEL: polly.par.exit:
55 ; IR-LABEL: polly.par.checkNext:
56 …arnext:[._a-zA-Z0-9]*]] = call i8 @GOMP_loop_runtime_next(ptr %polly.par.LBPtr, ptr %polly.par.UBP…
58 ; IR-NEXT: br i1 %[[cmp]], label %polly.par.loadIVBounds, label %polly.par.exit
60 ; IR-LABEL: polly.par.loadIVBounds:
61 ; IR-NEXT: %polly.par.LB = load i64, ptr %polly.par.LBPtr
62 ; IR-NEXT: %polly.par.UB = load i64, ptr %polly.par.UBPtr
63 ; IR-NEXT: %polly.par.UBAdjusted = sub i64 %polly.par.UB, 1
64 ; IR-NEXT: br label %polly.loop_preheader
66 ; IR-LABEL: polly.loop_exit:
67 ; IR-NEXT: br label %polly.par.checkNext
69 ; IR-LABEL: polly.loop_header:
70 ; IR-NEXT: %polly.indvar = phi i64 [ %polly.par.LB, %polly.loop_preheader ], [ %polly.indvar_next…
71 ; IR-NEXT: br label %polly.stmt.S
73 ; IR-LABEL: polly.stmt.S:
74 ; IR-NEXT: %[[offset:[0-9]+]] = shl i64 %polly.indvar, 2
77 ; IR-NEXT: %polly.indvar_next = add nsw i64 %polly.indvar, 1
78 ; IR-NEXT: %polly.loop_cond = icmp sle i64 %polly.indvar_next, %polly.par.UBAdjusted
79 ; IR-NEXT: br i1 %polly.loop_cond, label %polly.loop_header, label %polly.loop_exit
81 ; IR-LABEL: polly.loop_preheader:
82 ; IR-NEXT: br label %polly.loop_header
84 ; IR: attributes #1 = { "polly.skip.fn" }
86 …P_parallel_loop_runtime_start(ptr @single_parallel_loop_polly_subfn, ptr %polly.par.userContext, i…
87 ; IR-STRIDE4: add nsw i64 %polly.indvar, 3
88 ; IR-STRIDE4: %polly.indvar_next = add nsw i64 %polly.indvar, 4
89 ; IR-STRIDE4 %polly.adjust_ub = sub i64 %polly.par.UBAdjusted, 4
95 ; LIBOMP-IR-STATIC-CHUNKED-NEXT: %polly.par.userContext = alloca
97 ; LIBOMP-IR-STATIC-CHUNKED-LABEL: polly.parallel.for:
98 …, i32 4, ptr @single_parallel_loop_polly_subfn, i64 0, i64 1024, i64 1, ptr %polly.par.userContext)
99 ; LIBOMP-IR-STATIC-CHUNKED-NEXT: br label %polly.exiting
101 …olly_subfn(ptr %polly.kmpc.global_tid, ptr %polly.kmpc.bound_tid, i64 %polly.kmpc.lb, i64 %polly.k…
102 ; LIBOMP-IR-STATIC-CHUNKED-LABEL: polly.par.setup:
103 ; LIBOMP-IR-STATIC-CHUNKED-NEXT: %polly.par.LBPtr = alloca i64
104 ; LIBOMP-IR-STATIC-CHUNKED-NEXT: %polly.par.UBPtr = alloca i64
105 ; LIBOMP-IR-STATIC-CHUNKED-NEXT: %polly.par.lastIterPtr = alloca i32
106 ; LIBOMP-IR-STATIC-CHUNKED-NEXT: %polly.par.StridePtr = alloca i64
107 ; LIBOMP-IR-STATIC-CHUNKED-NEXT: %polly.par.global_tid = load i32, ptr %polly.kmpc.global_tid
108 ; LIBOMP-IR-STATIC-CHUNKED-NEXT: store i64 %polly.kmpc.lb, ptr %polly.par.LBPtr
109 ; LIBOMP-IR-STATIC-CHUNKED-NEXT: store i64 %polly.kmpc.ub, ptr %polly.par.UBPtr
110 ; LIBOMP-IR-STATIC-CHUNKED-NEXT: store i32 0, ptr %polly.par.lastIterPtr
111 ; LIBOMP-IR-STATIC-CHUNKED-NEXT: store i64 %polly.kmpc.inc, ptr %polly.par.StridePtr
112 ; LIBOMP-IR-STATIC-CHUNKED-NEXT: %polly.indvar.UBAdjusted = add i64 %polly.kmpc.ub, -1
113 ; LIBOMP-IR-STATIC-CHUNKED-NEXT: store i64 %polly.indvar.UBAdjusted, ptr %polly.par.UBPtr, align 8
114 …my{{[.0-9]*}}, i32 %polly.par.global_tid, i32 33, ptr %polly.par.lastIterPtr, ptr %polly.par.LBPtr…
115 ; LIBOMP-IR-STATIC-CHUNKED-NEXT: %polly.kmpc.stride = load i64, ptr %polly.par.StridePtr, align 8
116 ; LIBOMP-IR-STATIC-CHUNKED-NEXT: %polly.indvar.LB = load i64, ptr %polly.par.LBPtr
117 ; LIBOMP-IR-STATIC-CHUNKED-NEXT: %polly.indvar.UB.temp = load i64, ptr %polly.par.UBPtr
118 ; LIBOMP-IR-STATIC-CHUNKED-NEXT: %polly.indvar.UB.inRange = icmp sle i64 %polly.indvar.UB.temp, %
119 …OMP-IR-STATIC-CHUNKED-NEXT: %polly.indvar.UB = select i1 %polly.indvar.UB.inRange, i64 %polly.in…
120 ; LIBOMP-IR-STATIC-CHUNKED-NEXT: store i64 %polly.indvar.UB, ptr %polly.par.UBPtr, align 8
121 ; LIBOMP-IR-STATIC-CHUNKED-NEXT: %polly.hasIteration = icmp sle i64 %polly.indvar.LB, %polly.indv…
122 ; LIBOMP-IR-STATIC-CHUNKED: br i1 %polly.hasIteration, label %polly.par.loadIVBounds, label %poll…
124 ; LIBOMP-IR-STATIC-CHUNKED-LABEL: polly.par.exit:
125 ; LIBOMP-IR-STATIC-CHUNKED-NEXT: call void @__kmpc_for_static_fini(ptr @.loc.dummy, i32 %polly.pa…
128 ; LIBOMP-IR-STATIC-CHUNKED-LABEL: polly.par.checkNext:
129 ; LIBOMP-IR-STATIC-CHUNKED-NEXT: %polly.indvar.nextLB = add i64 %polly.indvar.LB.entry, %polly.km…
130 ; LIBOMP-IR-STATIC-CHUNKED-NEXT: %{{[0-9]+}} = add i64 %polly.indvar.UB.entry, %polly.kmpc.stride
131 ; LIBOMP-IR-STATIC-CHUNKED-NEXT: %polly.indvar.nextUB.outOfBounds = icmp sgt i64 %{{[0-9]+}}, %po…
132 ; LIBOMP-IR-STATIC-CHUNKED-NEXT: %polly.indvar.nextUB = select i1 %polly.indvar.nextUB.outOfBound…
133 ; LIBOMP-IR-STATIC-CHUNKED-NEXT: store i64 %polly.indvar.nextLB, ptr %polly.par.LBPtr, align 8
134 ; LIBOMP-IR-STATIC-CHUNKED-NEXT: store i64 %polly.indvar.nextUB, ptr %polly.par.UBPtr, align 8
135 ; LIBOMP-IR-STATIC-CHUNKED-NEXT: %polly.hasWork = icmp sle i64 %polly.indvar.nextLB, %polly.indva…
136 ; LIBOMP-IR-STATIC-CHUNKED-NEXT: br i1 %polly.hasWork, label %polly.par.loadIVBounds, label %poll…
138 ; LIBOMP-IR-STATIC-CHUNKED-LABEL: polly.par.loadIVBounds:
139 ; LIBOMP-IR-STATIC-CHUNKED-NEXT: %polly.indvar.LB.entry = load i64, ptr %polly.par.LBPtr, align 8
140 ; LIBOMP-IR-STATIC-CHUNKED-NEXT: %polly.indvar.UB.entry = load i64, ptr %polly.par.UBPtr, align 8
141 ; LIBOMP-IR-STATIC-CHUNKED-NEXT: br label %polly.loop_preheader
143 ; LIBOMP-IR-STATIC-CHUNKED-LABEL: polly.loop_exit:
144 ; LIBOMP-IR-STATIC-CHUNKED-NEXT: br label %polly.par.checkNext
146 ; LIBOMP-IR-STATIC-CHUNKED-LABEL: polly.loop_header:
147 …-STATIC-CHUNKED-NEXT: %polly.indvar = phi i64 [ %polly.indvar.LB.entry, %polly.loop_preheader ],…
148 ; LIBOMP-IR-STATIC-CHUNKED-NEXT: br label %polly.stmt.S
150 ; LIBOMP-IR-STATIC-CHUNKED-LABEL: polly.stmt.S:
151 ; LIBOMP-IR-STATIC-CHUNKED-NEXT: %[[offset:[0-9]+]] = shl i64 %polly.indvar, 2
154 ; LIBOMP-IR-STATIC-CHUNKED-NEXT: %polly.indvar_next = add nsw i64 %polly.indvar, 1
155 ; LIBOMP-IR-STATIC-CHUNKED-NEXT: %polly.loop_cond = icmp sle i64 %polly.indvar_next, %polly.indva…
156 ; LIBOMP-IR-STATIC-CHUNKED-NEXT: br i1 %polly.loop_cond, label %polly.loop_header, label %polly.l…
158 ; LIBOMP-IR-STATIC-CHUNKED-LABEL: polly.loop_preheader:
159 ; LIBOMP-IR-STATIC-CHUNKED-NEXT: br label %polly.loop_header
161 ; LIBOMP-IR-STATIC-CHUNKED: attributes #1 = { "polly.skip.fn" }
163 …olly_subfn(ptr %polly.kmpc.global_tid, ptr %polly.kmpc.bound_tid, i64 %polly.kmpc.lb, i64 %polly.k…
164 ; LIBOMP-IR-STATIC-LABEL: polly.par.setup:
165 …my{{[.0-9]*}}, i32 %polly.par.global_tid, i32 34, ptr %polly.par.lastIterPtr, ptr %polly.par.LBPtr…
166 ; LIBOMP-IR-STATIC: br i1 %polly.hasIteration, label %polly.par.loadIVBounds, label %polly.par.ex…
168 ; LIBOMP-IR-STATIC-LABEL: polly.par.exit:
169 ; LIBOMP-IR-STATIC-NEXT: call void @__kmpc_for_static_fini(ptr @.loc.dummy, i32 %polly.par.global…
172 ; LIBOMP-IR-STATIC-LABEL: polly.par.checkNext:
173 ; LIBOMP-IR-STATIC-NEXT: br label %polly.par.exit
175 ; LIBOMP-IR-STATIC-LABEL: polly.par.loadIVBounds:
176 ; LIBOMP-IR-STATIC-NEXT: br label %polly.loop_preheader
178 ; LIBOMP-IR-STATIC-LABEL: polly.loop_exit:
179 ; LIBOMP-IR-STATIC-NEXT: br label %polly.par.checkNext
181 ; LIBOMP-IR-STATIC-LABEL: polly.loop_header:
182 ; LIBOMP-IR-STATIC-NEXT: %polly.indvar = phi i64 [ %polly.indvar.LB, %polly.loop_preheader ], [ %
183 ; LIBOMP-IR-STATIC-NEXT: br label %polly.stmt.S
185 ; LIBOMP-IR-STATIC-LABEL: polly.stmt.S:
186 ; LIBOMP-IR-STATIC-NEXT: %[[offset:[0-9]+]] = shl i64 %polly.indvar, 2
189 ; LIBOMP-IR-STATIC-NEXT: %polly.indvar_next = add nsw i64 %polly.indvar, 1
190 ; LIBOMP-IR-STATIC-NEXT: %polly.loop_cond = icmp sle i64 %polly.indvar_next, %polly.indvar.UB
191 ; LIBOMP-IR-STATIC-NEXT: br i1 %polly.loop_cond, label %polly.loop_header, label %polly.loop_exit
193 ; LIBOMP-IR-STATIC-LABEL: polly.loop_preheader:
194 ; LIBOMP-IR-STATIC-NEXT: br label %polly.loop_header
196 …{[4|8]}}(ptr @.loc.dummy, i32 %polly.par.global_tid, i32 35, i64 %polly.kmpc.lb, i64 %polly.indvar…
197 …}(ptr @.loc.dummy, i32 %polly.par.global_tid, ptr %polly.par.lastIterPtr, ptr %polly.par.LBPtr, pt…
198 ; LIBOMP-IR-DYNAMIC-NEXT: %polly.hasIteration = icmp eq i32 %{{[0-9]+}}, 1
199 ; LIBOMP-IR-DYNAMIC-NEXT: br i1 %polly.hasIteration, label %polly.par.loadIVBounds, label %polly.…
201 ; LIBOMP-IR-DYNAMIC-LABEL: polly.par.exit:
204 ; LIBOMP-IR-DYNAMIC-LABEL: polly.par.checkNext:
205 …}(ptr @.loc.dummy, i32 %polly.par.global_tid, ptr %polly.par.lastIterPtr, ptr %polly.par.LBPtr, pt…
206 ; LIBOMP-IR-DYNAMIC-NEXT: %polly.hasWork = icmp eq i32 %{{[0-9]+}}, 1
207 ; LIBOMP-IR-DYNAMIC-NEXT: br i1 %polly.hasWork, label %polly.par.loadIVBounds, label %polly.par.e…
209 ; LIBOMP-IR-DYNAMIC-LABEL: polly.par.loadIVBounds:
210 ; LIBOMP-IR-DYNAMIC-NEXT: %polly.indvar.LB = load i64, ptr %polly.par.LBPtr
211 ; LIBOMP-IR-DYNAMIC-NEXT: %polly.indvar.UB = load i64, ptr %polly.par.UBPtr
212 ; LIBOMP-IR-DYNAMIC-NEXT: br label %polly.loop_preheader
214 …{[4|8]}}(ptr @.loc.dummy, i32 %polly.par.global_tid, i32 35, i64 %polly.kmpc.lb, i64 %polly.indvar…
216 …, i32 4, ptr @single_parallel_loop_polly_subfn, i64 0, i64 1024, i64 4, ptr %polly.par.userContext)