aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAgeFilesLines
* fix cls logic for comparison instrslemon2023-06-206-17/+23
| | | | | | | | previously instr.cls always represented the output dataclass. this doesn't work for comparisons because we know the output is always a boolean integer and we care about the actual comparison dataclass. so now .cls represents the operation dataclass, which matches the result class except for comparisons where the result is always KI4V
* erratalemon2023-06-201-2/+2
|
* elf: fix type mismatch from bforelemon2023-06-191-3/+3
|
* regalloc: alloc extra memory for alloc maplemon2023-06-191-1/+1
| | | | | regalloc itself can insert instructions so this was causing out of bounds read errors
* backend: compile comparison instrs and brancheslemon2023-06-198-40/+370
|
* amd64/emit: fix mov(zx/sx)wlemon2023-06-191-6/+6
|
* oopslemon2023-06-191-1/+1
|
* frontend: disallow non-local decls in for initializerlemon2023-06-191-6/+14
|
* frontend: rename parser -> lexer and document c.clemon2023-06-193-233/+251
|
* frontend: separate compiler & lexerlemon2023-06-197-381/+386
|
* frontend: add for, break, continue statementslemon2023-06-193-75/+202
|
* fix isel & emit for sym constantslemon2023-06-193-9/+11
|
* add %y symbol printinglemon2023-06-192-4/+14
|
* move ctype to common.hlemon2023-06-192-11/+7
|
* don't try to compile when debugging IRlemon2023-06-193-8/+13
|
* oopslemon2023-06-191-1/+1
|
* forgot some staticslemon2023-06-182-3/+3
|
* update todo.txtlemon2023-06-181-2/+0
|
* separate elf64 and elf32 structureslemon2023-06-182-180/+354
|
* add endian.h for endian dependent stufflemon2023-06-187-55/+150
|
* fix iowrite()lemon2023-06-181-1/+4
|
* fix memory bugslemon2023-06-183-10/+14
|
* basic cli driverlemon2023-06-182-63/+296
|
* ELF output static datalemon2023-06-187-26/+82
|
* basic ELF outputlemon2023-06-1714-39/+692
|
* misclemon2023-06-176-27/+46
|
* hint in-place operations to use same reg for lhs and destlemon2023-06-151-1/+1
|
* less memsetlemon2023-06-153-5/+9
|
* oopslemon2023-06-141-1/+1
|
* cleanuplemon2023-06-141-15/+14
|
* imrpove emit()lemon2023-06-142-78/+106
|
* add spilling for function calls, misc fixeslemon2023-06-146-41/+180
|
* simpler handling of large constants in IRlemon2023-06-146-37/+37
|
* renamelemon2023-06-142-2/+2
|
* rename parse.c -> c.clemon2023-06-132-1/+1
|
* lowering of structcopylemon2023-06-137-93/+178
|
* oopslemon2023-06-131-1/+1
|
* use a hashtable for addr refslemon2023-06-137-18/+39
|
* lower allocas in isel() instead of emit() and misc fixeslemon2023-06-1311-172/+146
|
* amd64/emit: add commentslemon2023-06-121-87/+115
|
* add todo.txtlemon2023-06-121-0/+11
|
* dumblemon2023-06-121-9/+8
|
* xor reg,reglemon2023-06-123-5/+29
|
* nyi fdivlemon2023-06-121-1/+1
|
* dec,inc,sublemon2023-06-125-3/+57
|
* bugfixlemon2023-06-122-3/+4
|
* amd64/emit: emit LEA for 3-address ADDlemon2023-06-121-3/+14
|
* oopslemon2023-06-121-1/+1
|
* something with philemon2023-06-123-36/+18
|
* register renaming and suchlemon2023-06-1210-92/+351
|