gallivm: add assertions to check type of phi variables
authorBrian Paul <brianp@vmware.com>
Thu, 20 May 2010 18:42:40 +0000 (12:42 -0600)
committerBrian Paul <brianp@vmware.com>
Thu, 27 May 2010 19:40:16 +0000 (13:40 -0600)
src/gallium/auxiliary/gallivm/lp_bld_flow.c

index 823a8ec7b70519404b696a373dfcaeaea532f557..e7759cea6a07c849ad83f597af6f8682326104cf 100644 (file)
@@ -407,6 +407,7 @@ lp_build_flow_skip_cond_break(struct lp_build_flow_context *flow,
    /* for each variable, update the Phi node with a (variable, block) pair */
    for(i = 0; i < skip->num_variables; ++i) {
       assert(*flow->variables[i]);
+      assert(LLVMTypeOf(skip->phi[i]) == LLVMTypeOf(*flow->variables[i]));
       LLVMAddIncoming(skip->phi[i], flow->variables[i], &current_block, 1);
    }
 
@@ -433,6 +434,7 @@ lp_build_flow_skip_end(struct lp_build_flow_context *flow)
    /* add (variable, block) tuples to the phi nodes */
    for(i = 0; i < skip->num_variables; ++i) {
       assert(*flow->variables[i]);
+      assert(LLVMTypeOf(skip->phi[i]) == LLVMTypeOf(*flow->variables[i]));
       LLVMAddIncoming(skip->phi[i], flow->variables[i], &current_block, 1);
       *flow->variables[i] = skip->phi[i];
    }