summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/gallivm/lp_bld_flow.h
diff options
context:
space:
mode:
authorJosé Fonseca <jfonseca@vmware.com>2010-10-09 21:14:05 +0100
committerJosé Fonseca <jfonseca@vmware.com>2010-10-09 21:14:05 +0100
commitd0ea4641597d23df2198fd76ed7430c06cef8c5d (patch)
tree54b19f7d2938bb3b5b5fa6fe162f4726f6cd66ba /src/gallium/auxiliary/gallivm/lp_bld_flow.h
parent1949f8c31507ed4a8774c380e6b604c328f4ec98 (diff)
gallivm: Simplify if/then/else implementation.
No need for for a flow stack anymore.
Diffstat (limited to 'src/gallium/auxiliary/gallivm/lp_bld_flow.h')
-rw-r--r--src/gallium/auxiliary/gallivm/lp_bld_flow.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_flow.h b/src/gallium/auxiliary/gallivm/lp_bld_flow.h
index 403e46e52e..a4fc8d1955 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_flow.h
+++ b/src/gallium/auxiliary/gallivm/lp_bld_flow.h
@@ -130,16 +130,22 @@ lp_build_loop_end_cond(LLVMBuilderRef builder,
+/**
+ * if/else/endif.
+ */
struct lp_build_if_state
{
LLVMBuilderRef builder;
- struct lp_build_flow_context *flow;
+ LLVMValueRef condition;
+ LLVMBasicBlockRef entry_block;
+ LLVMBasicBlockRef true_block;
+ LLVMBasicBlockRef false_block;
+ LLVMBasicBlockRef merge_block;
};
void
lp_build_if(struct lp_build_if_state *ctx,
- struct lp_build_flow_context *flow,
LLVMBuilderRef builder,
LLVMValueRef condition);