Commit Graph

20 Commits

Author SHA1 Message Date
Calvin Rose 3a782d27b1 Allow for multiple functions in a sysir "context".
Allows for in memory linking.
2023-10-22 16:05:38 -05:00
Calvin Rose 97963d1396 Update printing for operating on pointers. 2023-09-05 17:01:31 -05:00
Calvin Rose efbc46c69e Add support for using operators on arrays (and pointers to arrays).
Allows more expressive yet type checked representation of array
algorithms.
2023-09-03 12:32:28 -05:00
Calvin Rose 46bda4e6fa Stub out type inference pass. 2023-08-16 14:09:25 -05:00
Calvin Rose b939671b79 Add check for redefining types. 2023-08-13 11:09:20 -05:00
Calvin Rose 4b8e7a416f Have separate instructions for pointer arith 2023-08-12 17:36:06 -05:00
Calvin Rose 1e1e7a5cfd Update garbage collection for sysir abstract type. 2023-08-12 13:47:23 -05:00
Calvin Rose 91e459e4a5 Format sysir. 2023-08-12 13:43:51 -05:00
Calvin Rose a2bd98390e More work on the sysir. 2023-08-12 13:42:52 -05:00
Calvin Rose d9912f38f8 Add union types and change name of type constructor instructions. 2023-08-12 10:29:24 -05:00
Calvin Rose 8007806c8e Add better support for arrays and struct fields in IR.
Also add option for named registers.
2023-08-08 18:56:02 -05:00
Calvin Rose de2440d458 Lots todo 2023-08-07 10:54:41 -05:00
Calvin Rose 3fe4cfd14c Add labels back to sysir 2023-08-07 09:39:35 -05:00
Calvin Rose 75be5fd4c6 Update sysir to have better field support. 2023-08-06 20:00:49 -05:00
Calvin Rose 7c7136fd70 Merge branch 'master' into compile-opt 2023-08-06 17:09:13 -05:00
Calvin Rose cfa32d58a7 More work on sysir, add initial work for recursive types. 2023-08-06 15:50:21 -05:00
Calvin Rose 7cc176f0c0 Add source mapping to emitted C. 2023-07-16 16:08:28 -05:00
Calvin Rose ef94a0f0b4 Rename sysdialect to sysir 2023-05-12 18:11:14 -05:00
Calvin Rose fd7579dd07 More work on the sys-ir. 2023-04-08 10:51:46 -05:00
Calvin Rose 6b74400f2a Create system IR that can compile to C.
Work ongoing, still needs better pointer support, as well
as composite types.
2023-04-03 09:30:23 -05:00