Commit Graph

425 Commits

Author SHA1 Message Date
dd0dcc9c0a mie: add null IR value 2025-09-08 15:33:25 +01:00
2ff85a7505 doc: sample: add for and while loop samples 2025-09-08 15:30:44 +01:00
cb63e8d016 doc: sample: remove var keyword 2025-09-08 15:30:24 +01:00
ebfbbd0a1a frontend: compile: create and (optionally) show isel graph for each block 2025-08-29 15:47:42 +01:00
9c1e0958b0 mie: implement instruction selection graph generation for binary ops and load/store 2025-08-29 15:46:52 +01:00
7fdae9f1e0 mie: move mie_type_to_string to type.c 2025-08-29 15:46:12 +01:00
1a37898d48 cmake: update FindBluelib module 2025-08-29 15:44:12 +01:00
d532d9cff3 lang: codegen: fix free of mie_ctx that isn't allocated by ivy_codegen 2025-08-16 21:11:46 +01:00
7583252b72 doc: add/update sample files 2025-08-16 21:02:14 +01:00
1a9debd6fb test: update mie_ctx include path 2025-08-16 21:01:49 +01:00
fe2565dfcd frontend: update mie_ctx include path 2025-08-16 21:01:32 +01:00
adb326c795 lang: codegen: fix instr gen duplicating left operand 2025-08-16 21:00:50 +01:00
bda10b1166 lang: codegen: update mie_ctx include path 2025-08-16 21:00:22 +01:00
9126638045 mie: add a stub instruction selection system 2025-08-16 20:57:43 +01:00
7ef90750db mie: add status codes 2025-08-16 20:56:40 +01:00
311dd60322 mie: name: add a mie_name destructor that removes it from its parent name map 2025-08-16 20:54:05 +01:00
b4fa90ea7f mie: move mie_ctx out of the ir subsystem 2025-08-16 20:53:40 +01:00
2b87068852 test: update mie ir api usage 2025-06-02 11:32:46 +01:00
91a3b7cddc frontend: update mie ir api usage 2025-06-02 11:32:36 +01:00
9f83929600 lang: update mie ir api usage 2025-06-02 11:31:35 +01:00
d01a3b4663 mie: refactor ir api into a separate sub-directory 2025-06-02 11:31:19 +01:00
a3d553019d frontend: disassemble: implement dumping int/uint constpool values 2025-05-16 16:57:14 +01:00
57c352ab88 asm: parse: fix parse_linefeed not writing constpool entries for int/uint values 2025-05-16 16:56:47 +01:00
2b28371cb6 frontend: disassemble: implement dumping the contents of classes 2025-05-15 12:11:11 +01:00
49d21de894 frontend: disassemble: implement dumping ident, atom, and null constpool values 2025-05-15 12:10:58 +01:00
a76525e11f asm: parse: use specified indices when writing constpool values 2025-05-15 12:09:39 +01:00
2845c29c5f asm: assembler: constpool value indices are now used and enforced
constpool values must be defined in ascending sequence, each index must be greater than the last.
any gaps in the sequence will automatically be filled with null values.
2025-05-15 12:08:34 +01:00
95f58615e0 asm: reader: implement reading ident and atom constpool values 2025-05-15 12:06:04 +01:00
9229e90723 frontend: disassemble: adjust section dump output format 2025-05-14 16:29:31 +01:00
8998ef0232 frontend: assemble: assembler requires output file to be open read/write 2025-05-14 16:29:09 +01:00
3980c9a21f asm: parse: implement label reference generation 2025-05-14 16:28:37 +01:00
a35ae51b2f asm: assembler: implement label creation and resolution 2025-05-14 16:28:30 +01:00
6399022cb3 frontend: disassemble: add a range of switches to control what information is provided 2025-05-13 13:24:43 +01:00
197ba14a4d asm: reader: implement constpool reader interface 2025-05-13 13:23:59 +01:00
179d0dddaa asm: assembler: fix write_selector not setting the number of args 2025-05-13 13:23:12 +01:00
ad23eec392 asm: assembler: don't include null terminator when writing string data 2025-05-13 13:22:46 +01:00
d5183aeb9f common: implement stringification of selectors 2025-05-13 13:20:11 +01:00
6307429bbf common: add missing status codes to ivy_status_to_string 2025-05-13 13:19:40 +01:00
c254495d3a frontend: implement disassemble command 2025-05-12 15:53:54 +01:00
656e24b8a7 frontend: implement debug printing of IVY_ASM_TOK_LABEL_REF lexer tokens 2025-05-12 15:53:43 +01:00
d746ea5234 lang: ast: fix nullptr deref in expr_finalise_arith when calculating ast node bounds 2025-05-12 15:53:06 +01:00
7580b714f0 ivy.vim: highlight $-prefixed label references 2025-05-12 15:52:25 +01:00
e3937ab092 doc: update iasm sample to use $-prefixed label references 2025-05-12 15:51:57 +01:00
416472410b common: add bad format status code 2025-05-12 15:51:24 +01:00
8d9ae5f36a asm: implement object file reader 2025-05-12 15:51:03 +01:00
2e4d1e53f3 asm: fix misplaced padding breaking offset calculation in ivy_assembler_finish 2025-05-12 15:50:48 +01:00
fe23529c6b asm: implement instruction decoding 2025-05-12 15:49:53 +01:00
c1ba6e78bc asm: implement $-prefixed label references for branch instructions 2025-05-12 15:49:27 +01:00
497ba65440 meta: rename ivy-rt to ivy-vm 2025-05-09 14:01:41 +01:00
05df01ff1b frontend: compile: remove filepath printf output 2025-05-09 13:41:12 +01:00