gallivm: Fix segfaul when inserting allocas in an empty function.
This commit is contained in:
@@ -821,8 +821,11 @@ lp_build_alloca(LLVMBuilderRef builder,
|
|||||||
LLVMBuilderRef first_builder = LLVMCreateBuilder();
|
LLVMBuilderRef first_builder = LLVMCreateBuilder();
|
||||||
LLVMValueRef res;
|
LLVMValueRef res;
|
||||||
|
|
||||||
LLVMPositionBuilderAtEnd(first_builder, first_block);
|
if (first_instr) {
|
||||||
LLVMPositionBuilderBefore(first_builder, first_instr);
|
LLVMPositionBuilderBefore(first_builder, first_instr);
|
||||||
|
} else {
|
||||||
|
LLVMPositionBuilderAtEnd(first_builder, first_block);
|
||||||
|
}
|
||||||
|
|
||||||
res = LLVMBuildAlloca(first_builder, type, name);
|
res = LLVMBuildAlloca(first_builder, type, name);
|
||||||
|
|
||||||
@@ -859,7 +862,11 @@ lp_build_array_alloca(LLVMBuilderRef builder,
|
|||||||
LLVMBuilderRef first_builder = LLVMCreateBuilder();
|
LLVMBuilderRef first_builder = LLVMCreateBuilder();
|
||||||
LLVMValueRef res;
|
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);
|
res = LLVMBuildArrayAlloca(first_builder, type, count, name);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user