gallivm: added some assertions in loop-gen code

We're hitting these assertions with nested loops...
This commit is contained in:
Brian Paul
2010-04-21 18:22:15 -06:00
parent bba6a196bb
commit 7fe93f831d

View File

@@ -172,6 +172,7 @@ static void lp_exec_mask_update(struct lp_exec_mask *mask)
/*for loops we need to update the entire mask at
* runtime */
LLVMValueRef tmp;
assert(mask->break_mask);
tmp = LLVMBuildAnd(mask->bld->builder,
mask->cont_mask,
mask->break_mask,
@@ -279,8 +280,12 @@ static void lp_exec_endloop(struct lp_exec_mask *mask)
LLVMBasicBlockRef endloop;
LLVMTypeRef reg_type = LLVMIntType(mask->bld->type.width*
mask->bld->type.length);
LLVMValueRef i1cond;
assert(mask->break_mask);
/* i1cond = (mask == 0) */
LLVMValueRef i1cond = LLVMBuildICmp(
i1cond = LLVMBuildICmp(
mask->bld->builder,
LLVMIntNE,
LLVMBuildBitCast(mask->bld->builder, mask->break_mask, reg_type, ""),