aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAgeFilesLines
* 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 ↵lemon2025-11-211-6/+7
| | | | entry block
* 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
| | | | when necesary
* 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 ↵lemon2025-11-151-1/+5
| | | | calls), compileexpr() can terminate current block. add checks for that in callexpr. more are probably needed..
* 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
|
* isel: fold arithlemon2025-11-141-1/+21
|
* abi0: remove debugging leftover sortpo. but do number blks (free)lemon2025-11-141-1/+2
|
* sysv: document vaargs stack layout stufflemon2025-11-141-3/+29
|
* preeliminary va_list supportlemon2025-11-1415-206/+620
|
* mem2reg: handle uses in branches in cmpuse()lemon2025-11-121-0/+2
|
* driver: placeholder cmdline option handlerslemon2025-11-121-1/+12
|
* ir: fix addcon equality check..lemon2025-11-121-1/+1
|
* revert b55005e5c08. correct fix was in c.clemon2025-11-122-2/+0
|
* fold: clamp int to 32bits when requiredlemon2025-11-121-0/+1
|
* mem2reg: sort variable uses to match source order..lemon2025-11-121-0/+21
|
* ir: free useslemon2025-11-121-0/+4
|
* irdump: don't print fn ret type in non return brancheslemon2025-11-121-1/+1
|
* amd64/isel: fold Oext with immediateslemon2025-11-121-0/+8
|
* implement argument passing in stacklemon2025-11-123-6/+20
|
* amd64: fix positive RBP off (stack params); address encoding erratalemon2025-11-121-2/+2
|
* fixup! amd64: get rid of xinc/xdec. handle those at emit stagelemon2025-11-092-1/+2
|