aboutsummaryrefslogtreecommitdiffhomepage
path: root/ir
Commit message (Expand)AuthorAgeFilesLines
* simpl: handle multiplication by negative po2 too lemon2025-12-221-5/+9
* simpl: optimize unsigned & signed division by power of 2 lemon2025-12-213-19/+66
* ir: simpl: optimize some constant multiplications lemon2025-12-212-18/+61
* rega: fix 3ff0bfcb lemon2025-12-211-4/+1
* driver: -fsyntax-only lemon2025-12-201-1/+1
* rega: fix infinite loop when compiling infinite loop lemon2025-12-201-1/+4
* some static assertions for packed type sizes lemon2025-12-201-0/+2
* backend: unify pass memory allocation strategies lemon2025-12-207-31/+21
* backend: general simplification pass skeleton lemon2025-12-203-1/+154
* copyopt: optimize same-arg phis with multiple preds lemon2025-12-201-2/+6
* ir/regalloc: struct alloc -> union alloc lemon2025-12-201-16/+15
* ir: move some filluses() to ir.c, rename optmem.c -> mem2reg.c lemon2025-12-194-30/+29
* ir: move cls2load to interface lemon2025-12-183-7/+7
* regalloc+emit: get rid of xsave/xrestore hack lemon2025-12-182-51/+63
* rega: implement stack<->stack swap for parallel moves lemon2025-12-181-29/+34
* x86_64: for vararg calls, write to EAX in isel lemon2025-12-181-8/+25
* x86-64/emit: implement single-exit-point ret with jump threading lemon2025-12-162-1/+3
* bitset: better implementation of bsiter() and stuff lemon2025-12-162-2/+2
* mem2reg: fix obvious inefficiency lemon2025-12-161-16/+10
* create distinct interned string type lemon2025-12-153-10/+10
* move intern() to mem.c lemon2025-12-151-1/+0
* regalloc: fix lifetime construction for nested loops lemon2025-12-151-17/+34
* only put dats can in .text now when emitting it lemon2025-12-142-3/+3
* various relocation related optimization lemon2025-12-141-4/+6
* regalloc: fixbug with phi move of stack <- stack lemon2025-12-132-6/+5
* Add -O optimization flag lemon2025-12-131-2/+4
* fix position independent loads of function symbols. lemon2025-12-133-6/+6
* rename arraylength macro -> countof lemon2025-12-115-22/+22
* ir: bump MAXINSTR lemon2025-12-101-1/+1
* parallel move; implement reg<->stack swp lemon2025-12-101-3/+18
* regalloc: optimize a little edge case better lemon2025-12-101-4/+6
* misc fixes lemon2025-12-101-1/+1
* rega: change assert for spilled callee. it's ok if nspill==1 lemon2025-12-091-1/+1
* abi: fix aggregate passed by regs 2nd reg offset lemon2025-12-062-24/+28
* add command-line predefined macros (-D, -U) lemon2025-12-061-2/+0
* ir: float fold div/0 lemon2025-12-051-4/+3
* regalloc: kill dead defs of physical regs lemon2025-12-041-8/+16
* c: make tentative definitions work lemon2025-12-021-1/+1
* abi/isel: aggregate args in stack wip lemon2025-11-271-9/+31
* regalloc: skip dead phis lemon2025-11-261-1/+4
* ir: simplify some occurrences of single-argument phis lemon2025-11-242-8/+17
* ir.h: tweak mkintrin() definition to work with tinycc lemon2025-11-241-1/+1
* ir: implement cvtu64f. and other bug fixes lemon2025-11-231-2/+35
* implement cvtfXu64 by lowering it in builder lemon2025-11-231-9/+46
* c: check actual reachability for non-void func may not return value lemon2025-11-232-0/+22
* implement float varargs, and some other fixes lemon2025-11-233-7/+17
* make sure indirect function call pointer does not end up in clobber reg lemon2025-11-221-2/+2
* ir: freeblk: clear preds lemon2025-11-221-0/+2
* ir/ir.c: fix assert in mkcallarg lemon2025-11-221-1/+1
* ir/dump: initialize out buffer statically lemon2025-11-221-3/+1