aboutsummaryrefslogtreecommitdiffhomepage
path: root/ir/regalloc.c
Commit message (Expand)AuthorAgeFilesLines
* regalloc: fix defn of spilled var with immediatelemon2026-02-281-1/+14
* ir: regalloc & x86-64 isel bugfixeslemon2026-02-181-1/+1
* codegen: eliminate redudant consecutive ret sequenceslemon2026-01-081-0/+1
* rega: fix spill copy of i32 -> i64lemon2026-01-041-4/+4
* backend: separate instrs for integer/float storelemon2025-12-311-3/+3
* ir: use BIT macro for regset (1<< is wrong for u64)lemon2025-12-231-6/+6
* rega: fix 3ff0bfcblemon2025-12-211-4/+1
* rega: fix infinite loop when compiling infinite looplemon2025-12-201-1/+4
* backend: unify pass memory allocation strategieslemon2025-12-201-1/+1
* ir/regalloc: struct alloc -> union alloclemon2025-12-201-16/+15
* ir: move cls2load to interfacelemon2025-12-181-4/+0
* regalloc+emit: get rid of xsave/xrestore hacklemon2025-12-181-49/+63
* rega: implement stack<->stack swap for parallel moveslemon2025-12-181-29/+34
* x86_64: for vararg calls, write to EAX in isellemon2025-12-181-8/+25
* x86-64/emit: implement single-exit-point ret with jump threadinglemon2025-12-161-0/+2
* bitset: better implementation of bsiter() and stufflemon2025-12-161-1/+1
* regalloc: fix lifetime construction for nested loopslemon2025-12-151-17/+34
* regalloc: fixbug with phi move of stack <- stacklemon2025-12-131-4/+4
* rename arraylength macro -> countoflemon2025-12-111-2/+2
* parallel move; implement reg<->stack swplemon2025-12-101-3/+18
* regalloc: optimize a little edge case betterlemon2025-12-101-4/+6
* misc fixeslemon2025-12-101-1/+1
* rega: change assert for spilled callee. it's ok if nspill==1lemon2025-12-091-1/+1
* regalloc: kill dead defs of physical regslemon2025-12-041-8/+16
* regalloc: skip dead phislemon2025-11-261-1/+4
* implement float varargs, and some other fixeslemon2025-11-231-5/+12
* make sure indirect function call pointer does not end up in clobber reglemon2025-11-221-2/+2
* regalloc: merge overlapping fixed intervals betterlemon2025-11-221-1/+12
* ir: barebones IR passes checked contractslemon2025-11-211-0/+2
* change op names to match 285063eba44lemon2025-11-211-11/+11
* rename IR classes to reflect bitsizelemon2025-11-211-5/+5
* regalloc: assert nops aren't being usedlemon2025-11-211-0/+1
* debug output to stdoutlemon2025-11-191-2/+2
* ir: 'trap' jump; c: __builtin_trap; lex: __has_builtinlemon2025-11-151-2/+2
* amd64: fix aggregate abi stuff;; ir: fold, peephole optimizing constructorslemon2025-11-051-6/+13
* regalloc: misclemon2025-11-021-3/+3
* rega: fix parallel stack moveslemon2025-11-021-6/+19
* rega: fix Ocopy of stk->stklemon2025-10-261-3/+2
* regalloc: fix spill edge case againlemon2025-10-241-1/+5
* ir bugfixeslemon2025-10-231-2/+2
* 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
* codegen bugfixeslemon2025-10-191-3/+7
* Organize source files into directorieslemon2025-10-191-0/+1195