Commit Graph

50 Commits

Author SHA1 Message Date
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
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
1b9f3dbca0 Fix warnings 2025-07-14 02:26:55 +03:00
86eab29173 Make nested arrays work 2025-07-14 01:20:50 +03:00
5d06ecb874 Add broken support for nested arrays 2025-07-14 00:05:05 +03:00
d99c450e61 Fix some warnings 2025-07-13 23:14:51 +03:00
cbb1be1161 Implement GEP instead of the weird thing before 2025-07-13 23:14:16 +03:00
312a777203 Get arrays to compile while still not supporting mutability for a bit 2025-07-13 22:04:49 +03:00
d62d6e2845 Actually finish array-support for lib 2025-07-13 20:56:24 +03:00
a2e52e0bd2 Add Array support to llvm-lib 2025-07-13 20:31:33 +03:00
e79a0fe458 Update where default value is calculated, fix load type 2025-07-12 23:59:16 +03:00
04e0c136df Fix warnings 2025-07-12 14:42:43 +03:00
14e0dcbe15 (broken) add part 1 of mutability 2025-07-12 02:38:31 +03:00
1aa9b3e76c Add RetVoid just in case 2025-07-09 22:01:32 +03:00
94c4ec0613 Add a block garbage-collector that will delete an unused block at end 2025-07-09 21:57:48 +03:00
d757ac4eb3 Fiddle around with if-expression codegen 2025-07-09 21:12:39 +03:00
a907fec967 Fix module docs 2025-07-09 20:07:30 +03:00
9710d17e00 Add a bunch of documentation 2025-07-09 20:01:24 +03:00
b84672ef8c Add Mult and And -operators to the whole chain 2025-07-09 19:08:21 +03:00
8afb2c2572 Fix bug in Logic Operator conversion 2025-07-09 19:00:03 +03:00
d5daaa0e87 Improve Debug and Display implementations 2025-07-09 18:47:40 +03:00
49df6c9ed9 Add a bunch of new integer comparison operators 2025-07-09 16:05:08 +03:00
46560d8541 Add all types u8 -> i128 and fix signedness in icmp 2025-07-08 23:47:44 +03:00
2e99ec3a80 Fix warnings 2025-07-08 18:48:18 +03:00
95b3ffe8ef Add custom debug format for LLIR 2025-07-08 00:04:35 +03:00
48ae533f33 Remove the old files 2025-07-06 20:49:28 +03:00
35efa78a56 Connect all the wires again 2025-07-06 20:49:13 +03:00
58117d86e4 Make a more Rusty LLIR for the lib that is compiled to LLVM IR 2025-07-06 19:47:05 +03:00
8a32e66ba8 Refactor a bunch of stuff, produce compiling MIR 2025-07-04 21:30:40 +03:00
05c585d47c Add sub and fibonacci calculation 2025-06-29 19:11:56 +03:00
7b93ab5d2e Fix from_cstring from taking ownership 2025-06-29 18:19:59 +03:00
814b816450 Add phi 2025-06-29 01:18:17 +03:00
5b23d7d4d5 rework 2025-06-28 21:58:35 +03:00
740aee1382 Add SIGN to IntegerType 2025-06-28 18:56:24 +03:00
02d8b37424 Move context.rs to lib.rs 2025-06-28 18:49:54 +03:00
85564c74c9 Rework api 2025-06-28 00:14:56 +03:00
54f25481f4 Misc changes 2025-06-27 20:37:31 +03:00
922afaa672 Change clang-command to ld, add util.rs 2025-06-25 21:38:30 +03:00
d0aa3e1410 Add the ability to call functions 2025-06-24 23:30:29 +03:00
5f93b7c9c2 Add rudamentary LLVM lib stuff, make a fully compiling executable 2025-06-24 23:10:44 +03:00