Mesa (master): gallivm: Use lp_build_alloca instead of LLVMBuildAlloca on the loop limiter.
Jose Fonseca
jrfonseca at kemper.freedesktop.org
Wed Apr 25 17:10:18 UTC 2012
Module: Mesa
Branch: master
Commit: 914244e59d6ad08ec2dd815129c6e75b32843d80
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=914244e59d6ad08ec2dd815129c6e75b32843d80
Author: José Fonseca <jfonseca at vmware.com>
Date: Wed Apr 25 16:30:06 2012 +0100
gallivm: Use lp_build_alloca instead of LLVMBuildAlloca on the loop limiter.
To ensure that the alloca is at the top of the function body, otherwise
LLVM will not eliminate them, causing stack misalignment on 32bits.
Reviewed-by: James Benton <jbenton at vmware.com>
---
src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c | 5 +----
1 files changed, 1 insertions(+), 4 deletions(-)
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c b/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c
index 8cfcf5d..cca7ef5 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c
@@ -79,10 +79,7 @@ static void lp_exec_mask_init(struct lp_exec_mask *mask, struct lp_build_context
mask->exec_mask = mask->ret_mask = mask->break_mask = mask->cont_mask = mask->cond_mask =
LLVMConstAllOnes(mask->int_vec_type);
- mask->loop_limiter = LLVMBuildAlloca(
- builder,
- int_type,
- "looplimiter");
+ mask->loop_limiter = lp_build_alloca(bld->gallivm, int_type, "looplimiter");
LLVMBuildStore(
builder,
More information about the mesa-commit
mailing list