aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/ir_dump.c
Commit message (Collapse)AuthorAgeFilesLines
* C99 complex types MVPlemon2026-04-131-1/+1
| | | | | | | | | Missing: static eval of complex values, Silly inefficient implementation of equality comparisons between them The whole thing is pretty inefficient without proper aggregate mem2reg anyway
* irdump: dont print instr numbers by defaultlemon2026-04-111-6/+21
|
* Implement basic aarch64 struct arg passing ABIlemon2026-04-081-1/+1
| | | | | | | | | | - Missing: vaargs, >2 member HFAs - Reworked the way stack allocation references are lowered. Now RSTACK persists throughout all passes until emit. This allows deferring stack frame layouting until the end in a less messy way than before, which was emiting frame-pointer relative addresses @ isel time and patching them up later in emit to account for actual stack frame layout.
* IR: mark free'd instructions as suchlemon2026-03-231-1/+1
| | | | | That way they are not copied when inlining. Also rename ninstr -> ninstrtab. opnarg -> opnoper
* IR: add 3rd operand to Instrlemon2026-03-221-1/+1
| | | | | The motivation is for aarch64 msub/madd instrs, for isel to produce. But it should be useful for other things too.
* Rework handling of predefined macros.lemon2026-03-211-2/+2
| | | | And add some GCC predefs like __SIZE_TYPE__, __LONG_SIZE__, etc
* Refactor: use typedefs and CamelCase for aggregate typeslemon2026-03-181-17/+17
| | | | Looks nicer
* REFACTOR: finish renaminglemon2026-03-171-3/+3
|
* REFACTOR: move sources to src/lemon2026-03-171-0/+319