aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Expand)AuthorAgeFilesLines
* ir: freeblk: clear predslemon2025-11-221-0/+2
* tests: add Nora Sandler's 'Write a C Compiler' test suitelemon2025-11-222-0/+4
* ir/ir.c: fix assert in mkcallarglemon2025-11-221-1/+1
* update todo.txtlemon2025-11-221-1/+6
* c: fix static eval for address of some array refslemon2025-11-222-2/+7
* c: add decl.sym; avoid calling mkhiddensym repeatedlylemon2025-11-222-22/+17
* ir/dump: initialize out buffer staticallylemon2025-11-221-3/+1
* sysv: nested scalar classification of struct shouldn't return KPTR, used to i...lemon2025-11-221-1/+1
* regalloc: merge overlapping fixed intervals betterlemon2025-11-221-1/+12
* c: move warning for extension keyword til after preprocessorlemon2025-11-223-4/+12
* lex: #include ".." should also look in working directorylemon2025-11-221-19/+17
* lex: move token data from tmp to glob arena when used in a macro bodylemon2025-11-221-2/+7
* c: cast should narrow for narrow intslemon2025-11-221-2/+3
* amd64/emit: fix REX-requiring 8-bit GPR encoding checking wrong reglemon2025-11-222-2/+4
* irdump: print alloca # byteslemon2025-11-211-0/+3
* ir: implement dominator tree computationlemon2025-11-213-0/+40
* ir: barebones IR passes checked contractslemon2025-11-218-2/+28
* remove umullemon2025-11-216-9/+5
* change op names to match 285063eba44lemon2025-11-2113-211/+211
* rename IR classes to reflect bitsizelemon2025-11-2113-109/+109
* regalloc: assert nops aren't being usedlemon2025-11-211-0/+1
* ir/builder: peephole optimize branch with constant conditionallemon2025-11-211-4/+14
* mem2reg: implement marker algorithm from Braun et allemon2025-11-211-8/+40
* mem2reg: store pending phis implicitlylemon2025-11-211-12/+8
* ir: fix delpred when npred becomes 1lemon2025-11-211-2/+12
* ir/dump: print block predecessorslemon2025-11-211-2/+10
* cfg: sortrpo delete unreachable blocks with allocas by hoisting them to the e...lemon2025-11-211-6/+7
* c: fix conditional expr not converting operands to final typelemon2025-11-211-9/+13
* cpp: add predefined __antcc__ macro, for debugginglemon2025-11-201-0/+1
* isel: lower allocas a different way, such that stk address gets materialized ...lemon2025-11-204-29/+64
* ir: for easier debugging, keep ctype in dats, print as literal when possiblelemon2025-11-205-25/+61
* rename test/varargslemon2025-11-191-0/+0
* mem2reg: fix edgecase..lemon2025-11-191-1/+1
* c: implement ++/-- for bitfieldslemon2025-11-191-7/+21
* c: remove vestigial ins variablelemon2025-11-191-93/+88
* eval: fix enum edge caselemon2025-11-191-2/+2
* eval: fix b0c0f2d2d885 for ptr convertiblelemon2025-11-191-1/+1
* debug output to stdoutlemon2025-11-199-78/+84
* make clean test/buildlemon2025-11-162-2/+2
* basic automated testinglemon2025-11-1614-45/+164
* eval: only isaddrconst for ptrslemon2025-11-161-1/+1
* driver: allow passing thru objs when building executablelemon2025-11-161-17/+27
* factor type stuff into type.hlemon2025-11-167-209/+219
* c: due to __builtin_trap (in the future also things like noreturn function ca...lemon2025-11-151-1/+5
* c: disallow void argumentslemon2025-11-151-1/+3
* ir: 'trap' jump; c: __builtin_trap; lex: __has_builtinlemon2025-11-158-13/+65
* isel: don't incorrectly clamp constant lhs of shift operationlemon2025-11-152-5/+5
* emit: stack alignment edgecaseslemon2025-11-151-5/+9
* driver: diagnostic for missing path after -olemon2025-11-151-1/+1
* c: forward-declaring function with incomplete type shouldn't errorlemon2025-11-151-10/+14