aboutsummaryrefslogtreecommitdiffhomepage
path: root/ir
Commit message (Expand)AuthorAgeFilesLines
* ir/fold: fix float conversion overflowslemon2026-03-081-4/+14
* ir: fix inlining getting stuck on complex recursive call sequenceslemon2026-03-081-8/+17
* ir: increase per-function stack size limitlemon2026-03-061-1/+1
* ir/dump: fix dumping data in .textlemon2026-03-041-4/+16
* regalloc: fix minor regression with storing of regs into spilled stack slotslemon2026-03-041-1/+1
* add bswap16/32/64lemon2026-03-023-0/+9
* ir: make address ref hash table resizablelemon2026-02-284-21/+43
* backend: fix edgecases where imm32 immediate overflowslemon2026-02-281-0/+1
* regalloc: fix defn of spilled var with immediatelemon2026-02-281-1/+14
* fix various warningslemon2026-02-243-9/+7
* inline: fix undefined value returnslemon2026-02-241-1/+2
* IR: just use an array for extended constantslemon2026-02-195-37/+25
* cfg: dominator computation should ignore blocks with no predecessorslemon2026-02-191-1/+1
* ir: regalloc & x86-64 isel bugfixeslemon2026-02-181-1/+1
* ir/dump: sanity checklemon2026-02-181-0/+1
* ir/rpo: sanity checkslemon2026-02-181-4/+7
* ir: basic inlining pass implementationlemon2026-02-184-11/+333
* simpl: fix simplifying known cond brancheslemon2026-01-111-8/+3
* ir/simpl: stub out some code that wasn't properly tested and brokenlemon2026-01-091-0/+2
* codegen: eliminate redudant consecutive ret sequenceslemon2026-01-081-0/+1
* ir: only stub out float <-> u64 cvt on x86lemon2026-01-081-4/+3
* irsimpl: optimize away cond branches after constant propagationlemon2026-01-071-21/+69
* basic CSElemon2026-01-044-0/+119
* ir bugfixeslemon2026-01-042-4/+14
* rega: fix spill copy of i32 -> i64lemon2026-01-043-6/+6
* backend: separate instrs for integer/float storelemon2025-12-317-19/+30
* aarch64 isel syms with offsetlemon2025-12-311-6/+3
* ir/builder: fix bug optiminzg x+x as x-x -> 0lemon2025-12-261-2/+3
* avoid GOT relocations in unnecessary instanceslemon2025-12-253-7/+12
* ir: arena-backed linked list for uselistslemon2025-12-243-115/+90
* abi0: get rid of manual instruse reorderinglemon2025-12-241-12/+1
* lower alloca as a separate pass before isellemon2025-12-234-0/+46
* ir: use BIT macro for regset (1<< is wrong for u64)lemon2025-12-232-6/+8
* simpl: handle multiplication by negative po2 toolemon2025-12-221-5/+9
* simpl: optimize unsigned & signed division by power of 2lemon2025-12-213-19/+66
* ir: simpl: optimize some constant multiplicationslemon2025-12-212-18/+61
* rega: fix 3ff0bfcblemon2025-12-211-4/+1
* driver: -fsyntax-onlylemon2025-12-201-1/+1
* rega: fix infinite loop when compiling infinite looplemon2025-12-201-1/+4
* some static assertions for packed type sizeslemon2025-12-201-0/+2
* backend: unify pass memory allocation strategieslemon2025-12-207-31/+21
* backend: general simplification pass skeletonlemon2025-12-203-1/+154
* copyopt: optimize same-arg phis with multiple predslemon2025-12-201-2/+6
* ir/regalloc: struct alloc -> union alloclemon2025-12-201-16/+15
* ir: move some filluses() to ir.c, rename optmem.c -> mem2reg.clemon2025-12-194-30/+29
* ir: move cls2load to interfacelemon2025-12-183-7/+7
* regalloc+emit: get rid of xsave/xrestore hacklemon2025-12-182-51/+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-162-1/+3