llvm: cleanup code no longer needed with opaque pointers

When using llvm opaque pointers, typed pointers and pointer bitcasts are
no longer needed.  This also avoids needing packed struct layouts that
are nested inside pointers, letting us avoid computing struct layouts
in Sema that could cause unnecessary dependency loops.
This commit is contained in:
Jacob Young
2022-12-26 23:08:10 -05:00
parent 1b86a628ac
commit 46b49a0a76
2 changed files with 165 additions and 330 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -287,9 +287,6 @@ pub const Type = opaque {
pub const getUndef = LLVMGetUndef;
extern fn LLVMGetUndef(Ty: *Type) *Value;
pub const pointerType = LLVMPointerType;
extern fn LLVMPointerType(ElementType: *Type, AddressSpace: c_uint) *Type;
pub const arrayType = LLVMArrayType;
extern fn LLVMArrayType(ElementType: *Type, ElementCount: c_uint) *Type;