Home | History | Annotate | Download | only in gallivm

Lines Matching refs:gallivm

55 lp_build_insert_new_block(struct gallivm_state *gallivm, const char *name)
62 current_block = LLVMGetInsertBlock(gallivm->builder);
68 new_block = LLVMInsertBasicBlockInContext(gallivm->context, next_block, name);
73 new_block = LLVMAppendBasicBlockInContext(gallivm->context, function, name);
86 struct gallivm_state *gallivm)
88 skip->gallivm = gallivm;
90 skip->block = lp_build_insert_new_block(gallivm, "skip");
104 new_block = lp_build_insert_new_block(skip->gallivm, "");
107 LLVMBuildCondBr(skip->gallivm->builder, cond, skip->block, new_block);
109 LLVMPositionBuilderAtEnd(skip->gallivm->builder, new_block);
117 LLVMBuildBr(skip->gallivm->builder, skip->block);
118 LLVMPositionBuilderAtEnd(skip->gallivm->builder, skip->block);
128 LLVMBuilderRef builder = mask->skip.gallivm->builder;
164 struct gallivm_state *gallivm,
170 mask->reg_type = LLVMIntTypeInContext(gallivm->context, type.width * type.length);
171 mask->var = lp_build_alloca(gallivm,
172 lp_build_int_vec_type(gallivm, type),
175 LLVMBuildStore(gallivm->builder, value, mask->var);
177 lp_build_flow_skip_begin(&mask->skip, gallivm);
184 return LLVMBuildLoad(mask->skip.gallivm->builder, mask->var, "");
197 value = LLVMBuildAnd(mask->skip.gallivm->builder,
200 LLVMBuildStore(mask->skip.gallivm->builder, value, mask->var);
218 struct gallivm_state *gallivm,
222 LLVMBuilderRef builder = gallivm->builder;
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;
245 LLVMBuilderRef builder = state->gallivm->builder;
259 after_block = lp_build_insert_new_block(state->gallivm, "loop_end");
282 * \param gallivm the gallivm state
290 struct gallivm_state *gallivm,
296 LLVMBuilderRef builder = gallivm->builder;
301 state->begin = lp_build_insert_new_block(gallivm, "loop_begin");
303 state->counter_var = lp_build_alloca(gallivm, LLVMTypeOf(start), "loop_counter");
304 state->gallivm = gallivm;
314 state->body = lp_build_insert_new_block(gallivm, "loop_body");
325 LLVMBuilderRef builder = state->gallivm->builder;
331 state->exit = lp_build_insert_new_block(state->gallivm, "loop_exit");
378 struct gallivm_state *gallivm,
381 LLVMBasicBlockRef block = LLVMGetInsertBlock(gallivm->builder);
384 ifthen->gallivm = gallivm;
389 ifthen->merge_block = lp_build_insert_new_block(gallivm, "endif-block");
393 LLVMInsertBasicBlockInContext(gallivm->context,
398 LLVMPositionBuilderAtEnd(gallivm->builder, ifthen->true_block);
408 LLVMBuilderRef builder = ifthen->gallivm->builder;
415 LLVMInsertBasicBlockInContext(ifthen->gallivm->context,
430 LLVMBuilderRef builder = ifthen->gallivm->builder;
473 lp_build_alloca(struct gallivm_state *gallivm,
477 LLVMBuilderRef builder = gallivm->builder;
482 LLVMBuilderRef first_builder = LLVMCreateBuilderInContext(gallivm->context);
515 lp_build_array_alloca(struct gallivm_state *gallivm,
520 LLVMBuilderRef builder = gallivm->builder;
525 LLVMBuilderRef first_builder = LLVMCreateBuilderInContext(gallivm->context);