Home | History | Annotate | Download | only in gallivm

Lines Matching refs:state

217 lp_build_loop_begin(struct lp_build_loop_state *state,
224 state->block = lp_build_insert_new_block(gallivm, "loop_begin");
226 state->counter_var = lp_build_alloca(gallivm, LLVMTypeOf(start), "loop_counter");
227 state->gallivm = gallivm;
229 LLVMBuildStore(builder, start, state->counter_var);
231 LLVMBuildBr(builder, state->block);
233 LLVMPositionBuilderAtEnd(builder, state->block);
235 state->counter = LLVMBuildLoad(builder, state->counter_var, "");
240 lp_build_loop_end_cond(struct lp_build_loop_state *state,
245 LLVMBuilderRef builder = state->gallivm->builder;
253 next = LLVMBuildAdd(builder, state->counter, step, "");
255 LLVMBuildStore(builder, next, state->counter_var);
259 after_block = lp_build_insert_new_block(state->gallivm, "loop_end");
261 LLVMBuildCondBr(builder, cond, after_block, state->block);
265 state->counter = LLVMBuildLoad(builder, state->counter_var, "");
270 lp_build_loop_end(struct lp_build_loop_state *state,
274 lp_build_loop_end_cond(state, end, step, LLVMIntNE);
281 * \param state the for loop state, initialized here
282 * \param gallivm the gallivm state
289 lp_build_for_loop_begin(struct lp_build_for_loop_state *state,
301 state->begin = lp_build_insert_new_block(gallivm, "loop_begin");
302 state->step = step;
303 state->counter_var = lp_build_alloca(gallivm, LLVMTypeOf(start), "loop_counter");
304 state->gallivm = gallivm;
305 state->cond = cmp_op;
306 state->end = end;
308 LLVMBuildStore(builder, start, state->counter_var);
309 LLVMBuildBr(builder, state->begin);
311 LLVMPositionBuilderAtEnd(builder, state->begin);
312 state->counter = LLVMBuildLoad(builder, state->counter_var, "");
314 state->body = lp_build_insert_new_block(gallivm, "loop_body");
315 LLVMPositionBuilderAtEnd(builder, state->body);
322 lp_build_for_loop_end(struct lp_build_for_loop_state *state)
325 LLVMBuilderRef builder = state->gallivm->builder;
327 next = LLVMBuildAdd(builder, state->counter, state->step, "");
328 LLVMBuildStore(builder, next, state->counter_var);
329 LLVMBuildBr(builder, state->begin);
331 state->exit = lp_build_insert_new_block(state->gallivm, "loop_exit");
338 LLVMPositionBuilderAtEnd(builder, state->begin);
339 cond = LLVMBuildICmp(builder, state->cond, state->counter, state->end, "");
340 LLVMBuildCondBr(builder, cond, state->body, state->exit);
342 LLVMPositionBuilderAtEnd(builder, state->exit);