gingerBill
|
63b572a0ab
|
Clean up big int to LLVM integer code
|
2021-07-11 16:18:30 +01:00 |
|
gingerBill
|
460e14e586
|
Change the compiler's big integer library to use libTomMath
This now replaces Bill's crappy big int implementation
|
2021-07-11 16:08:16 +01:00 |
|
gingerBill
|
ebcabb8a27
|
Add sanity conversion check for integer to quaternion
|
2021-07-11 00:51:56 +01:00 |
|
gingerBill
|
adb25d9d19
|
Convert constant tag to the correct type for LLVMAddCase
|
2021-07-10 22:29:52 +01:00 |
|
gingerBill
|
9f7154a039
|
Prepare for multithreading the semantic checker by giving mutexes to variables of contention
NOTE(bill): I know this is dodgy, but I want to make sure it is correct logic before improve those data structures
|
2021-07-10 15:14:25 +01:00 |
|
gingerBill
|
4167ae95ae
|
Fix #1050
|
2021-07-10 11:48:28 +01:00 |
|
gingerBill
|
3662275119
|
Allow x in ptr_to_map_or_bit_set
|
2021-07-10 11:18:19 +01:00 |
|
gingerBill
|
a98eee145d
|
Remove try; Replace try x else y with or_else(x, y)
|
2021-07-05 16:23:13 +01:00 |
|
gingerBill
|
4b831dbddd
|
Try try and or_else built-in procedures with operators try and try else
|
2021-07-04 12:37:21 +01:00 |
|
gingerBill
|
a01d6dcea7
|
Refactor return logic to be more reusable with lb_emit_try
|
2021-07-04 01:57:38 +01:00 |
|
gingerBill
|
01a15f78e6
|
Simplify lb_emit_try return logic
|
2021-07-04 01:50:37 +01:00 |
|
gingerBill
|
5f71c41582
|
Fix lb_emit_try
|
2021-07-04 01:47:43 +01:00 |
|
gingerBill
|
e8f2c5a48a
|
[Experimental] Add 'try' and `or_else' built-in procedures
|
2021-07-04 01:38:43 +01:00 |
|
gingerBill
|
8d31ba492d
|
Fix #1042
|
2021-06-28 11:32:23 +01:00 |
|
gingerBill
|
8f611b3399
|
Fix #1043
|
2021-06-28 11:21:03 +01:00 |
|
gingerBill
|
185277a2b6
|
Fix swizzling of pointers to arrays
|
2021-06-28 11:05:52 +01:00 |
|
gingerBill
|
76d3bab955
|
Modify scope finding rules for distinct types in lb_debug_type
|
2021-06-27 12:21:11 +01:00 |
|
gingerBill
|
a779cb2798
|
Fix #1044
|
2021-06-26 23:31:04 +01:00 |
|
gingerBill
|
d8940f5fd7
|
Support compound literals for struct #raw_union types
|
2021-06-26 12:08:14 +01:00 |
|
gingerBill
|
74dee82dbf
|
Fix compiler errors
|
2021-06-25 14:33:42 +01:00 |
|
gingerBill
|
42d135aade
|
Change logic for comparison against nil for array-like data types (compare the pointer rather than the length/capacity)
|
2021-06-24 19:39:51 +01:00 |
|
gingerBill
|
574ceb37a9
|
Correct selector call expression chaining behaviour (a bit of a hack)
|
2021-06-16 17:04:05 +01:00 |
|
gingerBill
|
84a4188c72
|
Fix #1017
|
2021-06-15 01:16:19 +01:00 |
|
gingerBill
|
31f1e0aeae
|
Fix #1019
|
2021-06-15 01:13:16 +01:00 |
|
gingerBill
|
4b8cbb5a3b
|
Fix #1015
|
2021-06-14 13:26:28 +01:00 |
|
gingerBill
|
d4df325e0a
|
Just create context when required
|
2021-06-14 11:41:50 +01:00 |
|
gingerBill
|
312a1e8a94
|
Fix context logic
|
2021-06-13 16:00:20 +01:00 |
|
gingerBill
|
9a311ab9e7
|
Remove dead code
|
2021-06-12 16:47:20 +01:00 |
|
gingerBill
|
7d92eaaeb2
|
Correct context logic in lb_build_addr
|
2021-06-12 16:45:44 +01:00 |
|
gingerBill
|
582f423b67
|
Improve vector arithmetic generation for array programming operations
|
2021-06-12 16:37:20 +01:00 |
|
gingerBill
|
55e472cdb6
|
Fix linkage problem for procedures required by LLVM
|
2021-06-10 12:23:08 +01:00 |
|
gingerBill
|
e6ad773a88
|
Minor code clean up
|
2021-06-09 23:47:44 +01:00 |
|
gingerBill
|
82eae32bca
|
Improve code generation for type switch statements to use a jump table by default
|
2021-06-09 23:46:00 +01:00 |
|
gingerBill
|
b0e21bd616
|
Allow trivial optimizations for switch statements of typeid
|
2021-06-09 23:05:37 +01:00 |
|
gingerBill
|
7b88bed098
|
Do trivial SwitchInstr optimization for constant case switch statements
|
2021-06-09 22:55:08 +01:00 |
|
gingerBill
|
28abf5d33b
|
Correct minimum dependency for complex32
|
2021-06-08 21:20:33 +01:00 |
|
gingerBill
|
ee60be0137
|
Improve code generation hints for return statements which return by pointer
|
2021-06-08 17:17:53 +01:00 |
|
gingerBill
|
76bb82a726
|
Minor alignment cleanup for swizzle load
|
2021-06-08 14:27:36 +01:00 |
|
gingerBill
|
696f758435
|
Fix and improve swizzle loads for ordered indices
|
2021-06-08 14:19:27 +01:00 |
|
gingerBill
|
3eb42ecb55
|
Minor improvements to -use-separate-modules
|
2021-06-08 13:00:20 +01:00 |
|
gingerBill
|
28e9a4f79c
|
Replace js_wasm32 with freestanding_wasm32
|
2021-06-08 12:18:26 +01:00 |
|
gingerBill
|
8d8adac1b4
|
Fix lb_build_defer_stmt
|
2021-06-08 10:43:11 +01:00 |
|
gingerBill
|
963b1a12d7
|
Correct code for #simd in unions
|
2021-06-06 16:56:03 +01:00 |
|
gingerBill
|
cef16feb0b
|
Fix #861 - Add extra check on missing main
|
2021-06-06 12:46:59 +01:00 |
|
gingerBill
|
785c27daa7
|
Fix 128-bit integer to float cast by explicitly calling the procedure direct; Fix #781
|
2021-06-06 12:35:38 +01:00 |
|
gingerBill
|
795a5910cf
|
Add support for Addressing_OptionalOkPtr
Allowing for `i, ok := &x.(T);` (type assertions) and `v, ok := &m[k];` (map indexing)
|
2021-06-06 12:18:45 +01:00 |
|
gingerBill
|
4c21f9495d
|
Clean up lbAddr_Swizzle logic for load and store
|
2021-06-05 23:56:59 +01:00 |
|
gingerBill
|
f119fd1ee1
|
Use shufflevector when possible for lbAddr_Swizzle load
|
2021-06-05 22:50:23 +01:00 |
|
gingerBill
|
46ab822316
|
Improved lb_build_assign_stmt_array logic
|
2021-06-05 22:07:39 +01:00 |
|
gingerBill
|
a2f2041aa6
|
Fix lb_build_assign_stmt_array for lbAddr_Swizzle
|
2021-06-05 17:33:42 +01:00 |
|