gallivm: use LLVM opaque pointers in lp_bld_struct.c
Acked-by: Marek Olšák <marek.olsak@amd.com> Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15893>
This commit is contained in:
parent
1f636e7fb2
commit
c8520c2a8f
|
@ -134,15 +134,7 @@ lp_build_pointer_get(LLVMBuilderRef builder,
|
||||||
LLVMValueRef ptr,
|
LLVMValueRef ptr,
|
||||||
LLVMValueRef index)
|
LLVMValueRef index)
|
||||||
{
|
{
|
||||||
LLVMValueRef element_ptr;
|
return lp_build_pointer_get_unaligned(builder, ptr, index, 0);
|
||||||
LLVMValueRef res;
|
|
||||||
assert(LLVMGetTypeKind(LLVMTypeOf(ptr)) == LLVMPointerTypeKind);
|
|
||||||
element_ptr = LLVMBuildGEP(builder, ptr, &index, 1, "");
|
|
||||||
res = LLVMBuildLoad(builder, element_ptr, "");
|
|
||||||
#ifdef DEBUG
|
|
||||||
lp_build_name(res, "%s[%s]", LLVMGetValueName(ptr), LLVMGetValueName(index));
|
|
||||||
#endif
|
|
||||||
return res;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -157,7 +149,8 @@ lp_build_pointer_get_unaligned(LLVMBuilderRef builder,
|
||||||
assert(LLVMGetTypeKind(LLVMTypeOf(ptr)) == LLVMPointerTypeKind);
|
assert(LLVMGetTypeKind(LLVMTypeOf(ptr)) == LLVMPointerTypeKind);
|
||||||
element_ptr = LLVMBuildGEP(builder, ptr, &index, 1, "");
|
element_ptr = LLVMBuildGEP(builder, ptr, &index, 1, "");
|
||||||
res = LLVMBuildLoad(builder, element_ptr, "");
|
res = LLVMBuildLoad(builder, element_ptr, "");
|
||||||
LLVMSetAlignment(res, alignment);
|
if (alignment)
|
||||||
|
LLVMSetAlignment(res, alignment);
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
lp_build_name(res, "%s[%s]", LLVMGetValueName(ptr), LLVMGetValueName(index));
|
lp_build_name(res, "%s[%s]", LLVMGetValueName(ptr), LLVMGetValueName(index));
|
||||||
#endif
|
#endif
|
||||||
|
@ -172,7 +165,7 @@ lp_build_pointer_set(LLVMBuilderRef builder,
|
||||||
LLVMValueRef value)
|
LLVMValueRef value)
|
||||||
{
|
{
|
||||||
LLVMValueRef element_ptr;
|
LLVMValueRef element_ptr;
|
||||||
element_ptr = LLVMBuildGEP(builder, ptr, &index, 1, "");
|
element_ptr = LLVMBuildGEP2(builder, LLVMTypeOf(value), ptr, &index, 1, "");
|
||||||
LLVMBuildStore(builder, value, element_ptr);
|
LLVMBuildStore(builder, value, element_ptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -186,7 +179,7 @@ lp_build_pointer_set_unaligned(LLVMBuilderRef builder,
|
||||||
{
|
{
|
||||||
LLVMValueRef element_ptr;
|
LLVMValueRef element_ptr;
|
||||||
LLVMValueRef instr;
|
LLVMValueRef instr;
|
||||||
element_ptr = LLVMBuildGEP(builder, ptr, &index, 1, "");
|
element_ptr = LLVMBuildGEP2(builder, LLVMTypeOf(value), ptr, &index, 1, "");
|
||||||
instr = LLVMBuildStore(builder, value, element_ptr);
|
instr = LLVMBuildStore(builder, value, element_ptr);
|
||||||
LLVMSetAlignment(instr, alignment);
|
LLVMSetAlignment(instr, alignment);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue