Commit Graph

19 Commits

Author SHA1 Message Date
gingerBill
036fa5cb24 Correct ABI for windows with LLVM 2021-10-02 18:12:34 +01:00
gingerBill
81fe50d623 Add sizes to assert message 2021-10-02 17:48:09 +01:00
gingerBill
b9b9bd8612 Add message to assert; add sanity check for possible future behaviour 2021-10-02 17:44:24 +01:00
gingerBill
00671a59a0 Minor code cleanup for backend; add struct_fields_index_by_increasing_offset for future use 2021-10-02 17:22:56 +01:00
gingerBill
ebca0398a7 Remove need for alignment lb_struct_has_padding_prefix 2021-10-02 16:06:42 +01:00
gingerBill
444fedd8d4 Heavily improve the LLVM struct type generation to improve ABI 2021-10-02 15:45:46 +01:00
gingerBill
71f2289c20 Fix #1174 2021-09-18 15:10:29 +01:00
gingerBill
8de728e3dc LLVM Code Generator: Add explicitly padding between fields in LLVM struct types 2021-09-13 16:40:24 +01:00
gingerBill
042dbda47f Replace many uses of heap_allocator() with permanent_allocator() 2021-09-13 01:30:30 +01:00
gingerBill
fb8fa5217d Begin minimize Type size by replacing Array with Slice etc 2021-09-13 00:58:39 +01:00
gingerBill
e3359a2639 Prepare for LLVM 12.0.1 compatibility 2021-09-11 16:53:18 +01:00
gingerBill
726788a483 Treat Type_Tuple closer to a Type_Struct in lb_type 2021-08-26 22:01:02 +01:00
gingerBill
ad3a3547d6 Unify thread pool logic across the rest of the compiler, using a global thread pool 2021-08-26 21:22:30 +01:00
gingerBill
6a77fc4cdd Add multi-pointer types [^]T 2021-08-21 23:10:21 +01:00
gingerBill
df372dbd5b Migrate and remove more from gb.h 2021-08-19 15:38:21 +01:00
gingerBill
7845769d4b Remove unused code 2021-08-19 15:03:10 +01:00
gingerBill
ad402726f1 Fix #1026 2021-08-13 12:21:14 +01:00
gingerBill
01f431b01f Unify semantics of the built-in swizzle procedure with the selector expression semantics e.g. .xyz 2021-08-09 19:37:58 +01:00
gingerBill
40822be595 Reorganize llvm_backend.cpp into separate files for easier maintenance 2021-08-07 12:01:48 +01:00