Commit Graph

72 Commits

Author SHA1 Message Date
coreydunn
ed6d68bbeb gen: fix bug with cmp_wordsize 2024-02-04 11:47:02 -06:00
coreydunn
3a9213cbb2 gen: xor rdx regardless of type, syntax: cyan identifiers 2024-02-04 11:11:09 -06:00
coreydunn
4458cdf796 i2r: refer to operators via subtypes instead of str.buffer 2024-02-03 13:59:28 -06:00
5adc10b059 gen: allow x86_64 to dereference %rax 2024-02-02 08:33:00 -06:00
6cef6c8b41 gen: use wordsize for all types 2024-02-02 08:23:49 -06:00
245522d2f3 gen: move most instructions to LangDef 2024-02-02 07:40:05 -06:00
ba3518ed50 gen: move LangDef to Gen struct 2024-02-02 05:56:24 -06:00
f9bfbb94af gen: allow dereferencing accumulator (for i386) 2024-02-01 08:37:08 -06:00
4daf8e6ebf gen: process remaining tokens on rpn_stack 2024-02-01 08:17:02 -06:00
12fc079a7b references: do not clobber accumulator 2024-01-30 16:24:57 -06:00
8b308ef51a gen: basic dereference operator 2024-01-30 12:16:12 -06:00
f2140b02a3 LangDef:acc_32 2024-01-30 06:51:35 -06:00
10afcdc8b9 LSREF: fix not moving to accumulator bug 2024-01-29 21:11:02 -06:00
183f2439d2 basic reference support 2024-01-29 21:04:49 -06:00
8ea93c5767 gen: i386: do not adjust stack for function args 2024-01-28 16:53:41 -06:00
397561cd7d arglists: i386 ABI 2024-01-28 08:19:09 -06:00
68bc9a8c99 gen: fix function arg order 2024-01-28 07:14:21 -06:00
b7a1e5aac6 fix associative order of subtraction op 2024-01-28 07:04:43 -06:00
e53e3dfdd9 allow positive Var stack locations 2024-01-26 09:25:08 -06:00
df77188305 fix int-var subtration operand order 2024-01-26 05:24:38 -06:00
2ed9bdf5c4 -fsanitize=address, Func.no_args for setting ext fn arguments 2024-01-24 13:19:51 -06:00
4dac8797eb arglists: load arguments into variables in correct order 2024-01-24 10:14:15 -06:00
cf24472f1b remove useless error messages 2024-01-24 09:54:39 -06:00
a9c06fdb4a eval: call 0 arg functions, bugfix: remove extra eval stack pop 2024-01-24 09:46:27 -06:00
80d6785f2e arglists: fix incorrect eval_elem names 2024-01-24 09:34:18 -06:00
8b58307201 call function at end of arglist 2024-01-24 09:28:05 -06:00
c3ab2d9b57 partial arglist parsing, ABI conformance 2024-01-24 07:26:36 -06:00
ea77ec4032 eval/i2r: insert commas between sub-expressions as a separator 2024-01-22 16:49:49 -06:00
0924166588 eval: comma operators disappear 2024-01-22 16:01:01 -06:00
d49a2684cc eval: set funarg_max and funarg_no for each EE_FUNC 2024-01-22 10:43:57 -06:00
cd808539c3 eval: count number of function arguments in invocation 2024-01-22 10:14:39 -06:00
54c21f46f8 eval: count function args 2024-01-22 09:26:00 -06:00
e5fb2f3a09 evalop: two operands comment 2024-01-21 11:14:20 -06:00
4a11154583 evalop: push eval_elem only once 2024-01-21 11:06:37 -06:00
c7248232cf evalop: correct comments 2024-01-21 10:53:53 -06:00
a9352fdeb3 evalop: convert if/else to switch statement 2024-01-21 10:41:23 -06:00
468a4232af evalop: addressing mode 2024-01-21 10:34:50 -06:00
9323ccd77e combine similar eval ops 2024-01-21 09:11:42 -06:00
b7f2655916 evalop: set up for mul, div operations 2024-01-21 08:54:09 -06:00
f479dcb5b5 gen: use subtypes, operator buffer 2024-01-21 08:09:30 -06:00
dc2cda070d gen: buffer output 2024-01-20 12:05:48 -06:00
c54e37d5b4 evalop: construct operand names before evaluating 2024-01-20 11:11:04 -06:00
62b853e8b1 gen: showeval, improved operand analysis 2024-01-20 09:53:08 -06:00
0cb0988182 fully merge separate buildarch expression evaluators 2024-01-20 07:33:28 -06:00
0f2cc784eb LangDef: more buildarch-generic code generation 2024-01-20 06:59:00 -06:00
4588c4fc34 remove debug output 2024-01-19 16:01:48 -06:00
be5bd4d5fe move func/var identification away from operator eval 2024-01-19 15:59:05 -06:00
67d3a45adc gen_findvar, gen_findfunc 2024-01-19 10:34:13 -06:00
4bc76d91bf eval_elem enum names changed 2024-01-18 18:56:26 -06:00
0d8ff486db gen: partial migration of eval functions 2024-01-18 13:19:27 -06:00