Commit Graph

78 Commits

Author SHA1 Message Date
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
29996c4a30 Add builder methods to create custom types 2025-07-16 16:16:18 +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
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
735c4370aa Add pub keyword 2025-07-14 18:47:02 +03:00
4eaa365674 Add function flags and codegen extern functions 2025-07-14 18:26:57 +03:00
376baa2c9a Remove length param from string, use string pointers instead 2025-07-14 18:22:05 +03:00
83475b144c Codegen strings 2025-07-14 17:54:56 +03:00
5d06ecb874 Add broken support for nested arrays 2025-07-14 00:05:05 +03:00