aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/ir_regalloc.c
Commit message (Collapse)AuthorAgeFilesLines
* regalloc: remove dead code for liveness fixuplemon2026-03-241-100/+22
| | | | | | I tested it and it seems this wasn't doing anything. Maybe at some point in the past it was needed to fix up a worse implementation of mem2reg? So turn it into a check. Maybe it's wrong and it can be necessary.
* IR: mark free'd instructions as suchlemon2026-03-231-12/+12
| | | | | That way they are not copied when inlining. Also rename ninstr -> ninstrtab. opnarg -> opnoper
* rega/devirt: don't assume unused operands are zeroinitializedlemon2026-03-231-1/+1
|
* aarch64: rem/urem, bswap*, arg bugfixlemon2026-03-221-6/+6
|
* IR: add 3rd operand to Instrlemon2026-03-221-10/+21
| | | | | The motivation is for aarch64 msub/madd instrs, for isel to produce. But it should be useful for other things too.
* regalloc & emit: explicit comparisons over memcmp of small structureslemon2026-03-191-1/+1
| | | | | The one in x86-64_emit was not portable due to relying on zero initialization of inactive union fields/padding.
* regalloc: use in-place mergesort for intervalslemon2026-03-181-60/+60
| | | | | | Instead of constructing an array and doing quicksort. i love .02% speedup microoptimizations
* Refactor: use typedefs and CamelCase for aggregate typeslemon2026-03-181-166/+174
| | | | Looks nicer
* Refactor: move some utils from antcc.h to their own headerslemon2026-03-171-0/+1
|
* REFACTOR: move sources to src/lemon2026-03-171-0/+1417