aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Expand)AuthorAgeFilesLines
* ir/builder: peephole optimize branch with constant conditional lemon2025-11-211-4/+14
* mem2reg: implement marker algorithm from Braun et al lemon2025-11-211-8/+40
* mem2reg: store pending phis implicitly lemon2025-11-211-12/+8
* ir: fix delpred when npred becomes 1 lemon2025-11-211-2/+12
* ir/dump: print block predecessors lemon2025-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 type lemon2025-11-211-9/+13
* cpp: add predefined __antcc__ macro, for debugging lemon2025-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 possible lemon2025-11-205-25/+61
* rename test/varargs lemon2025-11-191-0/+0
* mem2reg: fix edgecase.. lemon2025-11-191-1/+1
* c: implement ++/-- for bitfields lemon2025-11-191-7/+21
* c: remove vestigial ins variable lemon2025-11-191-93/+88
* eval: fix enum edge case lemon2025-11-191-2/+2
* eval: fix b0c0f2d2d885 for ptr convertible lemon2025-11-191-1/+1
* debug output to stdout lemon2025-11-199-78/+84
* make clean test/build lemon2025-11-162-2/+2
* basic automated testing lemon2025-11-1614-45/+164
* eval: only isaddrconst for ptrs lemon2025-11-161-1/+1
* driver: allow passing thru objs when building executable lemon2025-11-161-17/+27
* factor type stuff into type.h lemon2025-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 arguments lemon2025-11-151-1/+3
* ir: 'trap' jump; c: __builtin_trap; lex: __has_builtin lemon2025-11-158-13/+65
* isel: don't incorrectly clamp constant lhs of shift operation lemon2025-11-152-5/+5
* emit: stack alignment edgecases lemon2025-11-151-5/+9
* driver: diagnostic for missing path after -o lemon2025-11-151-1/+1
* c: forward-declaring function with incomplete type shouldn't error lemon2025-11-151-10/+14
* isel: fold arith lemon2025-11-141-1/+21
* abi0: remove debugging leftover sortpo. but do number blks (free) lemon2025-11-141-1/+2
* sysv: document vaargs stack layout stuff lemon2025-11-141-3/+29
* preeliminary va_list support lemon2025-11-1415-206/+620
* mem2reg: handle uses in branches in cmpuse() lemon2025-11-121-0/+2
* driver: placeholder cmdline option handlers lemon2025-11-121-1/+12
* ir: fix addcon equality check.. lemon2025-11-121-1/+1
* revert b55005e5c08. correct fix was in c.c lemon2025-11-122-2/+0
* fold: clamp int to 32bits when required lemon2025-11-121-0/+1
* mem2reg: sort variable uses to match source order.. lemon2025-11-121-0/+21
* ir: free uses lemon2025-11-121-0/+4
* irdump: don't print fn ret type in non return branches lemon2025-11-121-1/+1
* amd64/isel: fold Oext with immediates lemon2025-11-121-0/+8
* implement argument passing in stack lemon2025-11-123-6/+20
* amd64: fix positive RBP off (stack params); address encoding errata lemon2025-11-121-2/+2
* fixup! amd64: get rid of xinc/xdec. handle those at emit stage lemon2025-11-092-1/+2
* amd64/isel: make `sub imm` work for address fusing lemon2025-11-091-2/+8
* amd64: get rid of xinc/xdec. handle those at emit stage lemon2025-11-093-28/+7
* abi: fix unaligned & overflowing loads/stores, for small size/aligned structs... lemon2025-11-091-48/+84
* lex: fix single-line comment eating up preprocessor directive in next line lemon2025-11-081-1/+1
* lex: #warning and #error lemon2025-11-081-2/+13