gallivm: Fix segfaul when inserting allocas in an empty function.

This commit is contained in:
José Fonseca
2010-05-08 13:02:46 +01:00
parent 2c2debaea7
commit 36e28d42b3

View File

@@ -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);