| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | update todo.txt | 2025-09-11 | 1 | -1/+2 | |
| | | |||||
| * | pp better diagnostic | 2025-09-11 | 1 | -9/+11 | |
| | | |||||
| * | preprocessor: more awful hacks | 2025-09-11 | 3 | -17/+33 | |
| | | |||||
| * | preprocessor: fix order of expansion wiht macro arguments | 2025-09-11 | 2 | -10/+25 | |
| | | |||||
| * | amd64: improve codegen for ADD | 2025-09-11 | 1 | -0/+3 | |
| | | |||||
| * | amd64: bugfix for stack args with no RBP, also reuse epilogue code? | 2025-09-11 | 1 | -26/+48 | |
| | | |||||
| * | lex: stringify args in function macros | 2025-09-10 | 5 | -23/+70 | |
| | | |||||
| * | c: warn redefinition, allow redeclaratinos | 2025-09-10 | 2 | -4/+20 | |
| | | |||||
| * | lex: implement basic function-like macro functionality | 2025-09-10 | 5 | -51/+171 | |
| | | |||||
| * | cpp: fix #conditional;s | 2025-09-09 | 1 | -5/+9 | |
| | | |||||
| * | ccomp: fix memory leak with temporary arena parsing for stmt | 2025-09-09 | 1 | -1/+3 | |
| | | |||||
| * | amd64/emit: fix order of stack restore operations with regs+stk | 2025-09-09 | 1 | -6/+11 | |
| | | |||||
| * | bugfix | 2025-09-09 | 1 | -1/+1 | |
| | | |||||
| * | ioper | 2025-09-09 | 1 | -12/+21 | |
| | | |||||
| * | fixes, delnops | 2025-09-09 | 8 | -6/+40 | |
| | | |||||
| * | regalloc: start implementing linear scan | 2025-09-08 | 12 | -468/+729 | |
| | | |||||
| * | amd64: swap, sar | 2025-09-08 | 1 | -1/+21 | |
| | | |||||
| * | amd64: bugfix | 2025-09-08 | 2 | -5/+9 | |
| | | |||||
| * | frontend: #ifdef | 2024-04-12 | 3 | -6/+67 | |
| | | |||||
| * | fix | 2024-04-09 | 1 | -1/+1 | |
| | | |||||
| * | frontend: basic #include | 2024-04-09 | 5 | -7/+118 | |
| | | |||||
| * | lexer: fix scanning of pp directives in some circumstances | 2024-04-09 | 1 | -1/+2 | |
| | | |||||
| * | fix abi regs with aggregate return in hidden param | 2024-01-24 | 1 | -3/+7 | |
| | | |||||
| * | move definition of struct label | 2023-09-05 | 1 | -10/+9 | |
| | | |||||
| * | fix | 2023-09-05 | 1 | -2/+2 | |
| | | |||||
| * | make ptr offset in init take obj size into account | 2023-09-05 | 2 | -4/+5 | |
| | | |||||
| * | amd64: fix isel for numeric conversion ops | 2023-08-07 | 1 | -4/+4 | |
| | | |||||
| * | amd64: add mulf and divf codegen | 2023-08-07 | 1 | -3/+18 | |
| | | |||||
| * | hm | 2023-08-07 | 1 | -4/+4 | |
| | | |||||
| * | regalloc fixes and rpo | 2023-07-09 | 4 | -21/+78 | |
| | | |||||
| * | amd64/emit bugfix | 2023-07-09 | 1 | -3/+3 | |
| | | |||||
| * | amd64 codegen fixes | 2023-07-07 | 2 | -13/+20 | |
| | | |||||
| * | mem2reg; style | 2023-07-07 | 1 | -7/+12 | |
| | | |||||
| * | regalloc: update preds during simplify pass | 2023-07-07 | 1 | -1/+7 | |
| | | |||||
| * | fix copyopt | 2023-07-06 | 1 | -1/+1 | |
| | | |||||
| * | fix emit() setcc and copy | 2023-07-06 | 1 | -1/+2 | |
| | | |||||
| * | fix mem2reg ?? | 2023-07-06 | 1 | -10/+43 | |
| | | |||||
| * | some frontend fixes | 2023-06-30 | 1 | -3/+24 | |
| | | |||||
| * | misc bugfixs | 2023-06-30 | 4 | -29/+98 | |
| | | |||||
| * | add initializers (only static for initialier list rn) | 2023-06-29 | 16 | -255/+948 | |
| | | | | | and other fixes | ||||
| * | also C23 static_assert | 2023-06-26 | 1 | -3/+3 | |
| | | |||||
| * | c: move codegen code after decl parser | 2023-06-26 | 1 | -748/+748 | |
| | | |||||
| * | frontend: add static assert | 2023-06-26 | 2 | -2/+38 | |
| | | |||||
| * | regalloc: remove unused variable | 2023-06-26 | 1 | -5/+0 | |
| | | |||||
| * | backend: fix mem2reg & regalloc | 2023-06-26 | 7 | -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 | 2023-06-26 | 2 | -8/+120 | |
| | | |||||
| * | fix some warnings | 2023-06-25 | 3 | -11/+2 | |
| | | |||||
| * | lex: use a circular buffer cache for pre-pre-processed chars | 2023-06-25 | 2 | -56/+67 | |
| | | |||||
| * | regalloc: fix temporary rename clobbering return register with multiple returns | 2023-06-25 | 1 | -2/+13 | |
| | | |||||
| * | regalloc add sources | 2023-06-25 | 1 | -1/+3 | |
| | | |||||