Commit Graph

70 Commits

Author SHA1 Message Date
3404f0fb6e Add static allocator, fix loop_hard 2025-07-24 03:29:02 +03:00
81ce1dfc2e Fix a bunch of bugs with debug information and stuff 2025-07-22 19:16:45 +03:00
fa6b7bdf87 Add temporary line number for for non-local structs 2025-07-22 16:35:15 +03:00
e73b939de0 Add all cast instructions to lib 2025-07-22 14:05:50 +03:00
a6c9752883 Use unordered comparisons in floats 2025-07-22 13:26:08 +03:00
471c2eaf87 Fix struct-parsing interfering with if-parsing 2025-07-21 20:52:39 +03:00
066f441a77 Add FCmp 2025-07-21 20:34:27 +03:00
836a532d8d Fix UserPointer being completely monkeypatched, found the issue 2025-07-21 20:13:15 +03:00
3d3a9a34f9 Fix binary operators for floats, make library functions extern 2025-07-21 17:32:20 +03:00
feac7163f2 Add a bunch of operations to lib 2025-07-21 17:03:21 +03:00
7c7dde03f9 Fix error reporting on No-Main-Function and add fp compilation 2025-07-21 16:44:16 +03:00
96947be97a Remove additional llvm ir print, update readme 2025-07-21 15:47:50 +03:00
ed9c8638d5 Get pointers working 2025-07-21 14:43:24 +03:00
1ba1ae3213 Try add some display for LLIR 2025-07-21 12:07:42 +03:00
893eaaa865 Clean up and fix some warnings 2025-07-20 22:36:38 +03:00
33d5ee03f0 Improve LLVM IR SSA names 2025-07-20 20:50:32 +03:00
71a01dad69 Remove name from alloca 2025-07-20 20:24:26 +03:00
a62f9db422 Get static arrays actually working alone 2025-07-20 19:23:42 +03:00
de95db7cc1 Create named structs instead of anonymous 2025-07-20 17:51:08 +03:00
f952651a66 Get structs to work in debug information 2025-07-20 13:52:54 +03:00
c0b02f8a45 Clean up some prints 2025-07-20 05:04:12 +03:00
5f65d3438a Get arrays to work in DI, huzzah 2025-07-19 22:08:23 +03:00
c1cc1d28de Implement array and struct debug info 2025-07-19 20:51:06 +03:00
98169af415 Add array and pointer-types to lib 2025-07-19 16:18:29 +03:00
e12d0be08b Start adding debug-records 2025-07-19 13:14:53 +03:00
7c8a123945 Add variables to debug info 2025-07-19 12:15:56 +03:00
e75c38ad85 Add debug information to everything (for now) 2025-07-19 00:41:29 +03:00
e1d014bcc2 Fix warnings 2025-07-19 00:30:49 +03:00
92f12e90eb Make debug information work 2025-07-18 19:38:01 +03:00
b169e67ca4 Add debug locations to returns 2025-07-18 18:36:04 +03:00
1967cadbc0 Get debug info working very preliminarily 2025-07-18 17:26:11 +03:00
990d8cb448 Fix around in debug information generation, fix subprogram not being set 2025-07-18 16:59:05 +03:00
0c6d9885ec Add debug information compilation for subprograms and their parameters 2025-07-18 15:44:12 +03:00
3870b421a9 Refactor indexing/accessing a bit, no mutability 2025-07-16 22:04:11 +03:00
4ad871ff3d Remove dbg prints 2025-07-16 21:19:44 +03:00
dbd048c21c Fix struct indexing when setting a field 2025-07-16 20:38:21 +03:00
f2e4b3eff7 Do some cleanup 2025-07-16 18:57:42 +03:00
233ddb60f7 Fix struct gep return type, refactor a bit 2025-07-16 17:53:41 +03:00
2a879b5ef4 Implement codegen for structs 2025-07-16 17:08:15 +03:00
31185d921e Properly implement structs in lib 2025-07-16 16:11:45 +03:00
0ec427252f Add some support for custom struct types in lib 2025-07-15 20:28:59 +03:00
6788ef1690 Use AvailableExternally-linkage for externs for imports 2025-07-15 20:01:46 +03:00
bcad9b57fe Make the compiler produce .o/.asm/.ll according to input file name 2025-07-15 00:25:17 +03:00
5b5ec48b8d Put all debug prints behind debug-assertions 2025-07-14 23:43:03 +03:00
fa4df50a04 Fix linking so that non-imported functions don't bother main-module 2025-07-14 22:22:55 +03:00
2b47c4efc7 Make linking modules together work, fix printing modules 2025-07-14 21:10:13 +03:00
3d5ddc60dc Fix void function calls not discarding name 2025-07-14 19:16:52 +03:00
735c4370aa Add pub keyword 2025-07-14 18:47:02 +03:00
067c84e93e Implement external function linkage in lib 2025-07-14 18:29:45 +03:00
376baa2c9a Remove length param from string, use string pointers instead 2025-07-14 18:22:05 +03:00