Pārlūkot izejas kodu

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@vmware.com>
tags/i965-primitive-restart-v2
José Fonseca pirms 13 gadiem
vecāks
revīzija
914244e59d
1 mainītis faili ar 1 papildinājumiem un 4 dzēšanām
  1. 1
    4
      src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c

+ 1
- 4
src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c Parādīt failu

@@ -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,

Notiek ielāde…
Atcelt
Saglabāt