aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAgeFilesLines
* amd64: improve codegen for ADD lemon2025-09-111-0/+3
|
* amd64: bugfix for stack args with no RBP, also reuse epilogue code? lemon2025-09-111-26/+48
|
* lex: stringify args in function macros lemon2025-09-105-23/+70
|
* c: warn redefinition, allow redeclaratinos lemon2025-09-102-4/+20
|
* lex: implement basic function-like macro functionality lemon2025-09-105-51/+171
|
* cpp: fix #conditional;s lemon2025-09-091-5/+9
|
* ccomp: fix memory leak with temporary arena parsing for stmt lemon2025-09-091-1/+3
|
* amd64/emit: fix order of stack restore operations with regs+stk lemon2025-09-091-6/+11
|
* bugfix lemon2025-09-091-1/+1
|
* ioper lemon2025-09-091-12/+21
|
* fixes, delnops lemon2025-09-098-6/+40
|
* regalloc: start implementing linear scan lemon2025-09-0812-468/+729
|
* amd64: swap, sar lemon2025-09-081-1/+21
|
* amd64: bugfix lemon2025-09-082-5/+9
|
* frontend: #ifdef lemon2024-04-123-6/+67
|
* fix lemon2024-04-091-1/+1
|
* frontend: basic #include lemon2024-04-095-7/+118
|
* lexer: fix scanning of pp directives in some circumstances lemon2024-04-091-1/+2
|
* fix abi regs with aggregate return in hidden param lemon2024-01-241-3/+7
|
* move definition of struct label lemon2023-09-051-10/+9
|
* fix lemon2023-09-051-2/+2
|
* make ptr offset in init take obj size into account lemon2023-09-052-4/+5
|
* amd64: fix isel for numeric conversion ops lemon2023-08-071-4/+4
|
* amd64: add mulf and divf codegen lemon2023-08-071-3/+18
|
* hm lemon2023-08-071-4/+4
|
* regalloc fixes and rpo lemon2023-07-094-21/+78
|
* amd64/emit bugfix lemon2023-07-091-3/+3
|
* amd64 codegen fixes lemon2023-07-072-13/+20
|
* mem2reg; style lemon2023-07-071-7/+12
|
* regalloc: update preds during simplify pass lemon2023-07-071-1/+7
|
* fix copyopt lemon2023-07-061-1/+1
|
* fix emit() setcc and copy lemon2023-07-061-1/+2
|
* fix mem2reg ?? lemon2023-07-061-10/+43
|
* some frontend fixes lemon2023-06-301-3/+24
|
* misc bugfixs lemon2023-06-304-29/+98
|
* add initializers (only static for initialier list rn) lemon2023-06-2916-255/+948
| | | | and other fixes
* also C23 static_assert lemon2023-06-261-3/+3
|
* c: move codegen code after decl parser lemon2023-06-261-748/+748
|
* frontend: add static assert lemon2023-06-262-2/+38
|
* regalloc: remove unused variable lemon2023-06-261-5/+0
|
* backend: fix mem2reg & regalloc lemon2023-06-267-61/+206
| | | | | | | | | | | | | | | | | | | | | | | | | | | | they were broken, especially for unstructured control flow. most significant fix is to register allocator for temporaries that are used before the first definition in the source order, e.g.: @1: %x = add %y, 1 b @3 @2 %y = ... b @1 it's legal for %x to use %y there (assuming @2 dominates @1) but from the point of view of the register allocator %y is defined and freed and then used again, which broke things. the fix is to introduce phis for this situation: @1: %y.1 = phi @2 %y %x = add %y.1, 1 b @3 @2 %y = ... b @1 then regalloc phi handling code makes it work
* frontend: add labels and goto statement lemon2023-06-262-8/+120
|
* fix some warnings lemon2023-06-253-11/+2
|
* lex: use a circular buffer cache for pre-pre-processed chars lemon2023-06-252-56/+67
|
* regalloc: fix temporary rename clobbering return register with multiple returns lemon2023-06-251-2/+13
|
* regalloc add sources lemon2023-06-251-1/+3
|
* abi0: fix agg return by pointer not updating arg count lemon2023-06-241-0/+1
|
* fix regalloc thinking some ins are dead by adding ins.keep lemon2023-06-243-3/+8
|
* update todo.txt lemon2023-06-241-1/+1
|
* ir: dattab shouldn't reset for every function lemon2023-06-241-1/+1
| | | | this was causing later functions' data to override earlier data