Enrico Lumetti
a33bf77407
Instruction selection: basic bril->AArch64Var conversion
2022-08-15 01:56:24 +02:00
Enrico Lumetti
18ebacb00b
Revamp tests
2022-08-13 23:47:05 +02:00
Enrico Lumetti
1a0eeea38b
Fix two-operands subtraction
2022-08-12 23:03:55 +02:00
Enrico Lumetti
a376f31d4a
Convert cvar-to-bril tests to rackunit
2022-08-11 00:27:58 +02:00
Enrico Lumetti
9063858c78
Test subtraction
2022-08-10 23:48:23 +02:00
Enrico Lumetti
0fd4666235
Add utility to print bril from a CVar program
2022-08-10 23:45:43 +02:00
Enrico Lumetti
0aeb312f14
Move more tests to rackunit
2022-08-10 23:44:42 +02:00
Enrico Lumetti
cadcd25dbd
Fix comment
2022-08-10 23:44:20 +02:00
Enrico Lumetti
b80f8768a8
Convert test-cvar.rkt tests to rackunit, test for subtraction
2022-08-10 23:33:51 +02:00
Enrico Lumetti
e4d469ea95
Fix rvar subtraction, convert tests to rackunit
2022-08-10 23:33:20 +02:00
Enrico Lumetti
14d6b476bd
Fix subtraction, convert tests to rackunit
2022-08-10 23:28:09 +02:00
Enrico Lumetti
a4dd0ded8f
Convert test-rint to rackunit
2022-08-05 16:25:57 +02:00
Enrico Lumetti
f7a20171ec
Remove old CVar -> asm path
2022-05-08 17:30:37 +02:00
Enrico Lumetti
3a252a6879
Add CVar to bril translation
2022-05-01 22:56:35 +02:00
Enrico Lumetti
e3636d0b05
Introduce different remove-complex-opera* pass
...
This pass only allows arguments to be variables.
The resulting language is:
let-expr := (Let symbol <simple-expr> <expr>)
simple-expr: (Int num) | (Var symbol) | (Prim op (list-of-symbols))
expr := let-expr | simple-expr
top-level := let-expr
Notably, every top level expression is assigned to a (temporary) variable.
This subset of CVar is particularly easy to translate into bril IR.
2022-05-01 22:46:36 +02:00
Enrico Lumetti
3851d496ed
Rewrite explicate-control
2022-05-01 16:09:35 +02:00
Enrico Lumetti
0929ef05f9
Add CVar language and interpreter
2022-05-01 16:02:34 +02:00
Enrico Lumetti
5b1f580ed8
Convert remove-complex-opera* to new data structures
2022-04-30 18:01:54 +02:00
Enrico Lumetti
04c8ab0297
Port uniquify to new structures
2021-11-14 12:20:08 +01:00
Enrico Lumetti
7b8ea0b6f4
Port c2 to rvar
2021-10-21 13:15:37 +02:00
Enrico Lumetti
bad45de00a
Convert c1 to new EoC data structures
...
Don't port partial evaluator for the moment
2021-10-05 15:12:14 +02:00
Enrico Lumetti
5487761f54
Experiments with aarch64 stack
2021-05-06 16:53:18 +02:00
Enrico Lumetti
595f8a9db4
Add select-instructions pass
2021-05-05 20:55:32 +02:00
Enrico Lumetti
ced273944b
Add conclusion and rename _main to start
2021-05-05 20:55:19 +02:00
Enrico Lumetti
44a453a062
Avoid having (read) as an atom in Cvar language
2021-05-05 20:55:00 +02:00
Enrico Lumetti
ec8e75232e
Fix link in README
2021-05-05 01:01:02 +02:00
Enrico Lumetti
70295d0dcf
Rename scm to rkt
2021-05-05 00:46:51 +02:00
Enrico Lumetti
69f969bb71
Add aarch64 execution infrastructure
2021-05-05 00:36:32 +02:00
Enrico Lumetti
ad82c64d4d
Improve test-util
2021-05-05 00:36:03 +02:00
Enrico Lumetti
df520e99ca
Fix grammar produced by explicate-control
2021-05-01 00:41:08 +02:00
Enrico Lumetti
85dbf65800
Add test-uncover-locals
2021-05-01 00:38:17 +02:00
Enrico Lumetti
4c67b0f18d
Remove trailing space and (- x x) matching
2021-05-01 00:11:54 +02:00
Enrico Lumetti
866af9c2b5
Implement and test explicate-control
2021-05-01 00:08:46 +02:00
Enrico Lumetti
febb63c240
Fix bug in rco-arg and update tests
2021-04-30 23:05:14 +02:00
Enrico Lumetti
d52c9eb875
Return to simpler implementation
2021-04-30 20:20:07 +02:00
Enrico Lumetti
8c1294a56e
Maybe unnecessary
2021-04-30 19:55:59 +02:00
Enrico Lumetti
c1c29c0782
Make remove-complex-opera more sophisticate (maybe more useful?)
2021-04-30 15:46:45 +02:00
Enrico Lumetti
f1c4cb627b
Add remove-complex-opera* implementation
2021-04-27 16:20:51 +02:00
Enrico Lumetti
6e12178605
Fix subtraction
2021-04-27 16:20:38 +02:00
Enrico Lumetti
95cec82371
Add uniquify implementation
2021-04-26 19:04:50 +02:00
Enrico Lumetti
e6c4b50adf
Reorganize tests
2021-04-26 19:04:20 +02:00
Enrico Lumetti
28f43d4282
Add R1 language interpretation
2020-06-11 02:53:57 +02:00
Enrico Lumetti
346fd55489
License
2020-05-28 11:35:01 +02:00
Enrico Lumetti
b8db439685
First commit
2020-05-28 11:34:01 +02:00