aboutsummaryrefslogtreecommitdiffhomepage
path: root/ir
Commit message (Expand)AuthorAgeFilesLines
* ir: barebones IR passes checked contractslemon2025-11-217-2/+26
* remove umullemon2025-11-213-3/+1
* change op names to match 285063eba44lemon2025-11-218-142/+142
* rename IR classes to reflect bitsizelemon2025-11-219-46/+46
* 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
* isel: lower allocas a different way, such that stk address gets materialized ...lemon2025-11-201-1/+1
* ir: for easier debugging, keep ctype in dats, print as literal when possiblelemon2025-11-203-21/+53
* mem2reg: fix edgecase..lemon2025-11-191-1/+1
* debug output to stdoutlemon2025-11-195-75/+79
* factor type stuff into type.hlemon2025-11-161-0/+14
* ir: 'trap' jump; c: __builtin_trap; lex: __has_builtinlemon2025-11-154-4/+13
* abi0: remove debugging leftover sortpo. but do number blks (free)lemon2025-11-141-1/+2
* preeliminary va_list supportlemon2025-11-146-25/+68
* mem2reg: handle uses in branches in cmpuse()lemon2025-11-121-0/+2
* ir: fix addcon equality check..lemon2025-11-121-1/+1
* revert b55005e5c08. correct fix was in c.clemon2025-11-121-1/+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
* implement argument passing in stacklemon2025-11-122-0/+2
* fixup! amd64: get rid of xinc/xdec. handle those at emit stagelemon2025-11-091-0/+1
* amd64: get rid of xinc/xdec. handle those at emit stagelemon2025-11-091-2/+0
* abi: fix unaligned & overflowing loads/stores, for small size/aligned structs...lemon2025-11-091-48/+84
* fold/builder: fix bad use of iscon in place of isnumconlemon2025-11-062-6/+6
* delete some dead codelemon2025-11-051-2/+0
* amd64: fix aggregate abi stuff;; ir: fold, peephole optimizing constructorslemon2025-11-056-101/+375
* regalloc: misclemon2025-11-021-3/+3
* cfg: allow dead blocks with alloca pseudo instrslemon2025-11-021-2/+7
* rega: fix parallel stack moveslemon2025-11-021-6/+19
* rega: fix Ocopy of stk->stklemon2025-10-261-3/+2
* c: also propagate terminates in genswitchlemon2025-10-241-1/+0
* regalloc: fix spill edge case againlemon2025-10-241-1/+5
* mem2reg ssa construction silly optimizationlemon2025-10-241-1/+1
* codegen fixes, propagate terminatelemon2025-10-242-7/+10
* ir bugfixeslemon2025-10-234-4/+27
* regalloc: implement spilling output when 1 input was spilledlemon2025-10-231-5/+21
* fix edge case codegen bugs (w/ stack offsets, spilling)lemon2025-10-221-6/+13
* always keep volatile loadslemon2025-10-221-0/+4
* regalloc fix devirtlemon2025-10-221-3/+5
* refactor vec_of(T) and misclemon2025-10-201-1/+1
* codegen bugfixeslemon2025-10-192-3/+16
* Organize source files into directorieslemon2025-10-1911-0/+3282