aboutsummaryrefslogtreecommitdiffhomepage
path: root/ir
Commit message (Expand)AuthorAgeFilesLines
* 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
* bitset: better implementation of bsiter() and stufflemon2025-12-162-2/+2
* mem2reg: fix obvious inefficiencylemon2025-12-161-16/+10
* create distinct interned string typelemon2025-12-153-10/+10
* move intern() to mem.clemon2025-12-151-1/+0
* regalloc: fix lifetime construction for nested loopslemon2025-12-151-17/+34
* only put dats can in .text now when emitting itlemon2025-12-142-3/+3
* various relocation related optimizationlemon2025-12-141-4/+6
* regalloc: fixbug with phi move of stack <- stacklemon2025-12-132-6/+5
* Add -O optimization flaglemon2025-12-131-2/+4
* fix position independent loads of function symbols.lemon2025-12-133-6/+6
* rename arraylength macro -> countoflemon2025-12-115-22/+22
* ir: bump MAXINSTRlemon2025-12-101-1/+1
* 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
* abi: fix aggregate passed by regs 2nd reg offsetlemon2025-12-062-24/+28
* add command-line predefined macros (-D, -U)lemon2025-12-061-2/+0
* ir: float fold div/0lemon2025-12-051-4/+3
* regalloc: kill dead defs of physical regslemon2025-12-041-8/+16
* c: make tentative definitions worklemon2025-12-021-1/+1
* abi/isel: aggregate args in stack wiplemon2025-11-271-9/+31
* regalloc: skip dead phislemon2025-11-261-1/+4
* ir: simplify some occurrences of single-argument phislemon2025-11-242-8/+17
* ir.h: tweak mkintrin() definition to work with tinycclemon2025-11-241-1/+1
* ir: implement cvtu64f. and other bug fixeslemon2025-11-231-2/+35
* implement cvtfXu64 by lowering it in builderlemon2025-11-231-9/+46
* c: check actual reachability for non-void func may not return valuelemon2025-11-232-0/+22
* implement float varargs, and some other fixeslemon2025-11-233-7/+17
* make sure indirect function call pointer does not end up in clobber reglemon2025-11-221-2/+2
* ir: freeblk: clear predslemon2025-11-221-0/+2
* ir/ir.c: fix assert in mkcallarglemon2025-11-221-1/+1
* ir/dump: initialize out buffer staticallylemon2025-11-221-3/+1
* regalloc: merge overlapping fixed intervals betterlemon2025-11-221-1/+12
* irdump: print alloca # byteslemon2025-11-211-0/+3