summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Paul <brianp@vmware.com>2010-04-21 18:22:15 -0600
committerBrian Paul <brianp@vmware.com>2010-04-21 18:22:18 -0600
commit7fe93f831d74ce46a161c0b0c89f00b9c18caa2b (patch)
tree992784f34f6af5d21eb54f3281a1391bb8d5c5f3
parentbba6a196bb69afc72a9ec56740a312987e77afc2 (diff)
gallivm: added some assertions in loop-gen code
We're hitting these assertions with nested loops...
-rw-r--r--src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c b/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c
index f70e96dfde..44f8aec1bf 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c
@@ -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, ""),