aboutsummaryrefslogtreecommitdiffhomepage
path: root/amd64/isel.c
Commit message (Expand)AuthorAgeFilesLines
* isel: loadstoreaddr don't fuseaddr as much lemon2025-11-241-3/+5
* implement float varargs, and some other fixes lemon2025-11-231-0/+6
* amd64/isel: indirect call arg must be memaddr lemon2025-11-221-2/+7
* make sure indirect function call pointer does not end up in clobber reg lemon2025-11-221-0/+5
* ir: barebones IR passes checked contracts lemon2025-11-211-0/+2
* remove umul lemon2025-11-211-3/+2
* change op names to match 285063eba44 lemon2025-11-211-13/+13
* rename IR classes to reflect bitsize lemon2025-11-211-11/+11
* isel: lower allocas a different way, such that stk address gets materialized ... lemon2025-11-201-23/+58
* ir: for easier debugging, keep ctype in dats, print as literal when possible lemon2025-11-201-3/+7
* debug output to stdout lemon2025-11-191-1/+1
* isel: don't incorrectly clamp constant lhs of shift operation lemon2025-11-151-4/+4
* isel: fold arith lemon2025-11-141-1/+21
* preeliminary va_list support lemon2025-11-141-5/+23
* amd64/isel: fold Oext with immediates lemon2025-11-121-0/+8
* implement argument passing in stack lemon2025-11-121-6/+18
* fixup! amd64: get rid of xinc/xdec. handle those at emit stage lemon2025-11-091-1/+1
* amd64/isel: make `sub imm` work for address fusing lemon2025-11-091-2/+8
* amd64: get rid of xinc/xdec. handle those at emit stage lemon2025-11-091-18/+1
* amd64: fix aggregate abi stuff;; ir: fold, peephole optimizing constructors lemon2025-11-051-2/+1
* isel: fix 3-address add when used for flags in branch lemon2025-11-021-0/+3
* isel fixes lemon2025-10-301-3/+11
* isel: fix address sel for absolute int addr lemon2025-10-261-0/+7
* amd64 missing stuff lemon2025-10-231-2/+10
* isel: fix -fpic factoring out non-symbolic address operands lemon2025-10-231-1/+1
* amd64: load/store from abs address constants; movabs lemon2025-10-231-10/+19
* amd64: float conversion insntrs lemon2025-10-181-0/+13
* small thigns lemon2025-10-181-1/+1
* bugfixes lemon2025-10-101-0/+1
* initial implementation of run-time array/aggregate initializers lemon2025-10-081-0/+4
* fix some more codegen bugs for symbol constants lemon2025-09-161-2/+5
* codegen: float cmp, ior; frontend: fix cond expr bug lemon2025-09-141-2/+5
* preliminary pie and pic lemon2025-09-141-8/+25
* amd64: fix isel for numeric conversion ops lemon2023-08-071-4/+4
* amd64 codegen fixes lemon2023-07-071-1/+1
* misc bugfixs lemon2023-06-301-4/+2
* add initializers (only static for initialier list rn) lemon2023-06-291-7/+33
* fix some warnings lemon2023-06-251-9/+1
* fix regalloc thinking some ins are dead by adding ins.keep lemon2023-06-241-1/+5
* amd64/emit: more float fixes lemon2023-06-241-21/+24
* backend: fix regalloc to work with more complex dataflow lemon2023-06-241-1/+1
* change RMORE -> RADDR; use RXXX (RNONE) for special args,also undef lemon2023-06-221-12/+12
* explicitly store predecessors in each block lemon2023-06-211-4/+4
* amd64: conform to ABI for varargs func calls lemon2023-06-201-1/+0
* improve codegen for div a little (bikeshedding) lemon2023-06-201-0/+5
* fix regression wiht ret args not being fixed lemon2023-06-201-2/+7
* fix out of bounds read lemon2023-06-201-0/+1
* don't lower params and args to registers in abi0 lemon2023-06-201-2/+60
* fix cls logic for comparison instrs lemon2023-06-201-1/+1
* backend: compile comparison instrs and branches lemon2023-06-191-16/+102