Commit Graph

793 Commits

Author SHA1 Message Date
8bdc7964b8 compiler: add infer_types module (WIP) 2014-08-13 22:08:34 +08:00
2135e37dca compiler: use value_to_ast(x) instead of ast.Num(x) 2014-08-13 18:02:24 +08:00
899a034204 compiler/lower_time: adapt to new unit system 2014-08-13 17:59:53 +08:00
9cbf31153a compiler/ir: compile fractions with denominator==1 as integers 2014-08-13 17:58:48 +08:00
70fbc6ad56 compiler/interleave: use eval_constant from tools 2014-08-13 17:58:06 +08:00
5481baac1d compiler/inline: cleanup reference manager, recognize Fraction 2014-08-13 17:56:55 +08:00
fe5b3cc67e compiler/fold_constants: use eval_constant from tools 2014-08-13 17:54:58 +08:00
0145e52d4b compiler/tools: add eval_constant and Fraction support 2014-08-13 17:54:22 +08:00
b2bb837d22 compiler/ir: add binary AND and OR 2014-07-23 17:10:12 -06:00
d922c3db7e compiler/ir: replace quantities with their integer value 2014-07-23 11:48:43 -06:00
1b52941381 compiler/ir: support shifts 2014-07-23 11:48:15 -06:00
8769066e89 compiler/devices: set initial time 2014-07-21 13:22:07 -06:00
a9b96cefbe compiler/ir: support AugAssign 2014-07-16 09:43:46 -06:00
591509d31b compiler: lower time transform 2014-07-15 11:22:11 -06:00
6509f1fd04 artiq.language.experiment -> artiq.language.core 2014-07-10 18:13:37 +02:00
ffd2bdc4eb compiler/inline: return number -> function RPC map 2014-07-07 19:11:07 +02:00
e0ac1193c6 compiler/ir: support function calls in expressions 2014-07-06 21:06:01 +02:00
a8ef4d8b91 compiler/ir: create machine code from kernel statements 2014-07-05 22:44:54 +02:00
99c99484ae compiler/ir: load into device 2014-07-05 19:38:45 +02:00
711be75c35 compiler/ir: pass arguments to syscall 2014-07-05 19:13:05 +02:00
10db450098 Minor cleanup 2014-07-04 17:50:35 +02:00
71323fb7cd compiler: system calls 2014-07-04 17:17:01 +02:00
74cdafdde5 compiler: interleave transform 2014-06-22 18:52:37 +02:00
6ea0430cec compiler/ir: simplify type dictionaries 2014-06-22 00:04:46 +02:00
b28fdf5fb0 compiler: add unroll_loops transform 2014-06-21 15:06:15 +02:00
5a8074a12f compiler: propagate AST node location info 2014-06-21 14:53:09 +02:00
c71eb702bb tools/make_stmt_transformer: pass args/kwargs 2014-06-21 12:13:28 +02:00
c3092ae13f compiler: factorize operation of NodeTransformer on statement lists 2014-06-21 00:40:52 +02:00
6400e28e4c compiler: fold constants 2014-06-21 00:19:56 +02:00
94ff2e2ddc compiler: share value_to_ast 2014-06-21 00:19:40 +02:00
5b0fd50dbe inline: support rw kernel attributes 2014-06-18 21:04:54 +02:00
d41ac863f4 inline: support kernel_attr_ro 2014-06-17 19:46:22 +02:00
0d9bdc101c inline: check inlined functions are on the same core device 2014-06-17 18:52:48 +02:00
08ab99d33e inline: basic function inlining 2014-06-17 18:37:51 +02:00
d87b207b8a compiler/inline: embeddable calls 2014-06-16 23:52:19 +02:00
9db8627081 compiler: generate RPC calls 2014-06-16 22:56:08 +02:00
792ac44245 inline: return statements 2014-06-16 22:01:20 +02:00
c021b2ef41 compiler/inline: handle function params and builtin calls 2014-06-16 21:52:38 +02:00
733a03b7ad cleanup 2014-06-16 21:35:08 +02:00
7ec448cdc9 compiler: inline transform WIP 2014-06-10 15:23:14 +02:00
7eb9641905 compiler: share eval_ast 2014-06-10 15:16:28 +02:00
9e8077b873 First simple attempt at compiling Python AST to LLVM IR 2014-06-07 18:47:06 +02:00
c769bdab9b Introduce compiler and device modules 2014-05-30 18:20:13 +02:00