Commit graph

74 commits

Author SHA1 Message Date
Folkert
232c8652d5 clippy 2021-02-20 22:28:01 +01:00
Brendan Hansknecht
7d24d51392 gen_dev: generate and link zig builtins. 2021-02-14 18:15:00 -08:00
Brendan Hansknecht
a783be3332 gen_dev: add switch statements. This also fixes a small bug with comparisons. 2021-02-13 15:35:55 -08:00
Brendan Hansknecht
c609df2d74 gen_dev: generate all functions they may be need if a function pointer is used 2021-02-12 19:42:08 -08:00
Brendan Hansknecht
95be1a1b6d gen_dev: add ability to pass arguments to functions 2021-02-12 19:32:34 -08:00
Brendan Hansknecht
5a3ec0c0ac Switch to base pionter offset addressing.
This change will be needed to deal with passing function arguments.
Without this change, we would need to do multiple passes due to function
arguments being on top of the stack and conflicting with variables.
2021-02-12 17:02:25 -08:00
Brendan Hansknecht
846c82961f gen_dev: add basic function support 2021-02-10 22:38:58 -08:00
Folkert
55eff1dba1 fix oversights 2021-01-28 15:32:22 +01:00
Folkert
936bf459eb initial version of rc optimization 2021-01-28 13:14:54 +01:00
Richard Feldman
427ff12950
Merge branch 'trunk' into dev-backend 2021-01-25 00:56:14 -05:00
Brendan Hansknecht
9032c8c43b Expand register names for more readability 2021-01-21 21:14:21 -08:00
Brendan Hansknecht
5cabdd83b0 Merge remote-tracking branch 'origin/trunk' into dev-backend 2021-01-21 21:01:10 -08:00
Folkert
15cbadf652 add inc field to Inc instruction 2021-01-22 00:16:20 +01:00
Brendan Hansknecht
244113ede2 Add floating point addition 2021-01-19 15:25:21 -08:00
Sébastien Besnier
3c5549072c add tests for SETE instruction 2021-01-19 18:32:45 +01:00
Sébastien Besnier
1ee2c7a40f add equality testing in gen_dev 2021-01-19 15:08:03 +01:00
Brendan Hansknecht
7f8511532a Add floats to the dev backend 2021-01-18 12:07:47 -08:00
Brendan Hansknecht
ea3d7cfd3f Small todo update 2021-01-16 17:10:37 -08:00
Brendan Hansknecht
2561620c18 Merge remote-tracking branch 'origin/trunk' into dev-backend 2021-01-16 17:09:56 -08:00
Sébastien Besnier
85f146c688 fix extra space in comment 2021-01-14 07:59:26 +01:00
Sébastien Besnier
1961cf771a fix subtraction error implementation 2021-01-13 21:18:59 +01:00
Sébastien Besnier
dfed317f8e add x86_64 subtraction support for gen_dev 2021-01-13 20:56:33 +01:00
Folkert
78f653b85c fix typo 2021-01-07 23:19:17 +01:00
Folkert
6e0f57d7eb make invoke work 2021-01-02 00:55:09 +01:00
Folkert
6eb8684c2b basic implementation of invoke for gen_dev 2021-01-01 20:27:08 +01:00
Folkert
5a6bd1e187 fix gen_dev 2021-01-01 16:20:27 +01:00
Folkert
6bc0cf33a5 add unreachable instruction to the mono IR 2021-01-01 02:26:56 +01:00
Folkert
754521c4c3 all the clippy fixes 2021-01-01 00:40:41 +01:00
Folkert
728298d15a automatic clippy fixes 2021-01-01 00:05:45 +01:00
Folkert
288190281b remove Cond from gen_dev 2020-12-31 21:03:58 +01:00
Brendan Hansknecht
4d90ffb686 Fix typo 2020-12-28 11:39:47 -08:00
Brendan Hansknecht
f6dc256cad Add simple high level todo list for dev backend 2020-12-23 09:44:40 -08:00
Anton-4
b085469602 Replaced large_enum_variant explanation with link to issue #800 2020-12-14 16:09:16 +01:00
Brendan Hansknecht
be979b4218 Add immediate addition and subtraction for AArch46 2020-12-01 18:29:10 -08:00
Brendan Hansknecht
f9d571ebc2 Always inline assembly functions and calling conventions 2020-11-30 23:35:23 -08:00
Brendan Hansknecht
fd77d92851 Add AArch64 stack operations 2020-11-30 22:16:38 -08:00
Brendan Hansknecht
dbf335a79d Add AArch64 to dev backend object generation 2020-11-30 02:47:18 +00:00
Brendan Hansknecht
ce55313515 Add AArch64 dev backend frame 2020-11-29 18:23:00 -08:00
Brendan Hansknecht
eb8ec4a08d Reorginize assembler to be more risc friendly 2020-11-27 20:38:40 -08:00
Brendan Hansknecht
6335555f97 Move functions into assembler 2020-11-27 19:57:33 -08:00
Brendan Hansknecht
75a4a728aa Shorten asm function names 2020-11-27 19:53:18 -08:00
Brendan Hansknecht
04cd953246 Revamp stack setup and clean. This will be needed for other 64bit backends 2020-11-27 19:46:49 -08:00
Brendan Hansknecht
6a95738b1c Properly align the stack when used 2020-11-26 15:14:53 -08:00
Brendan Hansknecht
c32cedc1bd Switch to constants in calling conventions and inline assembly 2020-11-25 23:43:43 -08:00
Brendan Hansknecht
2decae8006 Fix typo 2020-11-25 22:38:04 -08:00
Richard Feldman
213ea8a79d
fix typos in comment 2020-11-26 00:02:05 -05:00
Brendan Hansknecht
bd8046056f Fix not leaf function 2020-11-23 22:18:52 -08:00
Brendan Hansknecht
09410d7a02 Rename ret_near to ret and temporarily allow dead relocations 2020-11-23 22:09:44 -08:00
Brendan Hansknecht
67c104d506 Nit clippy stuff 2020-11-23 00:17:57 -08:00
Brendan Hansknecht
3430a08d3d Major refactor for generic 64 bit with traits 2020-11-23 00:16:42 -08:00