From: Brian Paul Date: Thu, 22 Apr 2010 00:22:15 +0000 (-0600) Subject: gallivm: added some assertions in loop-gen code X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7fe93f831d74ce46a161c0b0c89f00b9c18caa2b;p=mesa.git gallivm: added some assertions in loop-gen code We're hitting these assertions with nested loops... --- 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, ""),