Commit Graph

88 Commits

Author SHA1 Message Date
c23160bc32 Fix inconsitent multiple typedefs 2025-08-12 21:02:32 +03:00
1a8535516c Add nullptr comparison 2025-08-07 21:32:30 +03:00
5d19d38682 Add intrinsic min/max to integers and floats 2025-08-04 17:51:32 +03:00
f700c577f1 Add reading file to buffer macro, only works for one global per file 2025-07-29 00:50:07 +03:00
ebe7fc8d75 Add GetGlobal "instruction" 2025-07-29 00:29:04 +03:00
2207c3df83 Add initial support for array globals 2025-07-29 00:06:47 +03:00
50a875ad21 Add compilation of global values 2025-07-28 23:32:47 +03:00
30257e1a2b Add global api support for llvm-lib 2025-07-28 23:20:13 +03:00
13be3e9c02 Namespace all functions, except those that are explicitly extern 2025-07-28 21:13:53 +03:00
5026013df3 Add intrinsic malloc, use that in alloca 2025-07-28 20:46:58 +03:00
726251e39c Fix warnings, cleanup 2025-07-28 18:22:51 +03:00
d0e1082029 Refactor scopes a little bit 2025-07-28 18:05:19 +03:00
7ca8949e8c Start adding lexical scopes 2025-07-28 16:11:20 +03:00
d06eff9347 Add rest of the bitwise operations to library 2025-07-28 12:10:01 +03:00
7b27f30b9e Implement builtin associated alloca and nullptr 2025-07-27 20:46:17 +03:00
0196fb53ed Import binops while importing types as well 2025-07-26 13:18:55 +03:00
8810d34d54 Get intrinsics to inline at codegen 2025-07-24 17:14:49 +03:00
b793ef7526 Add intrinsic code generation part 1 2025-07-24 11:34:44 +03:00
efeefe0bfe Add scaffolding to return some errors from codegen 2025-07-23 16:06:05 +03:00
97f5eebf22 Fix some warnings 2025-07-22 23:25:49 +03:00
0a90ac4497 Fix inner block generation 2025-07-22 22:15:34 +03:00
682295b04a Fix casting from the same size of integer 2025-07-22 21:05:52 +03:00
81ce1dfc2e Fix a bunch of bugs with debug information and stuff 2025-07-22 19:16:45 +03:00
78a1e9f06b Fix typedef issue with modules 2025-07-22 18:03:15 +03:00
c03a5188ea Finish casting codegen 2025-07-22 14:12:31 +03:00
e73b939de0 Add all cast instructions to lib 2025-07-22 14:05:50 +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
f0f828d1eb Fix float type coercion and compilation 2025-07-21 16:54:50 +03:00
7c7dde03f9 Fix error reporting on No-Main-Function and add fp compilation 2025-07-21 16:44:16 +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
c723ba7b4a Get inner arrays working 2025-07-20 19:30:34 +03:00
a62f9db422 Get static arrays actually working alone 2025-07-20 19:23:42 +03:00
e12d0be08b Start adding debug-records 2025-07-19 13:14:53 +03:00
e1d014bcc2 Fix warnings 2025-07-19 00:30:49 +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
9bb4f97e6b Start adding debug information 2025-07-18 00:07:11 +03:00
3870b421a9 Refactor indexing/accessing a bit, no mutability 2025-07-16 22:04:11 +03:00
dbd048c21c Fix struct indexing when setting a field 2025-07-16 20:38:21 +03:00
cd31d7e7cd Nearly fix struct mutability 2025-07-16 20:27:01 +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