diff options
author | Brian Paul <[email protected]> | 2010-04-21 18:22:15 -0600 |
---|---|---|
committer | Brian Paul <[email protected]> | 2010-04-21 18:22:18 -0600 |
commit | 7fe93f831d74ce46a161c0b0c89f00b9c18caa2b (patch) | |
tree | 992784f34f6af5d21eb54f3281a1391bb8d5c5f3 | |
parent | bba6a196bb69afc72a9ec56740a312987e77afc2 (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.c | 7 |
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 f70e96dfde8..44f8aec1bf0 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, ""), |