Mesa (master): gallivm: Fix segfaul when inserting allocas in an empty function.
Jose Fonseca
jrfonseca at kemper.freedesktop.org
Sat May 8 12:18:28 UTC 2010
Module: Mesa
Branch: master
Commit: 36e28d42b3e6212bf0cbcbb363ddf822c8d8f5cc
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=36e28d42b3e6212bf0cbcbb363ddf822c8d8f5cc
Author: José Fonseca <jfonseca at vmware.com>
Date: Sat May 8 13:02:46 2010 +0100
gallivm: Fix segfaul when inserting allocas in an empty function.
---
src/gallium/auxiliary/gallivm/lp_bld_flow.c | 13 ++++++++++---
1 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_flow.c b/src/gallium/auxiliary/gallivm/lp_bld_flow.c
index 8f15b1d..560ce1d 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_flow.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_flow.c
@@ -821,8 +821,11 @@ lp_build_alloca(LLVMBuilderRef builder,
LLVMBuilderRef first_builder = LLVMCreateBuilder();
LLVMValueRef res;
- LLVMPositionBuilderAtEnd(first_builder, first_block);
- LLVMPositionBuilderBefore(first_builder, first_instr);
+ if (first_instr) {
+ LLVMPositionBuilderBefore(first_builder, first_instr);
+ } else {
+ LLVMPositionBuilderAtEnd(first_builder, first_block);
+ }
res = LLVMBuildAlloca(first_builder, type, name);
@@ -859,7 +862,11 @@ lp_build_array_alloca(LLVMBuilderRef builder,
LLVMBuilderRef first_builder = LLVMCreateBuilder();
LLVMValueRef res;
- LLVMPositionBuilderBefore(first_builder, first_instr);
+ if (first_instr) {
+ LLVMPositionBuilderBefore(first_builder, first_instr);
+ } else {
+ LLVMPositionBuilderAtEnd(first_builder, first_block);
+ }
res = LLVMBuildArrayAlloca(first_builder, type, count, name);
More information about the mesa-commit
mailing list