whitequark
02b41ea0f7
Add MonomorphismChecker.
2015-07-02 21:28:26 +03:00
whitequark
73a8f3c442
Fix tests.
2015-07-02 20:06:43 +03:00
whitequark
8a65266f14
Improve builtin call error message.
2015-07-02 20:06:07 +03:00
whitequark
196acb37f6
Add IntMonomorphizer.
2015-07-02 19:57:27 +03:00
whitequark
7ce9bdf54d
Move transforms to artiq.compiler.transforms, add artiq.Module.
2015-07-02 19:35:35 +03:00
whitequark
1702251ee5
Add region field to types.
2015-07-02 18:44:09 +03:00
whitequark
86cdc84f7e
Initialize types.TBuiltin's attributes field.
2015-07-02 18:19:01 +03:00
whitequark
6bf95397d7
Rename package py2llvm to compiler.
...
Since the package implements a typechecker along with a code generator,
and the typechecker will be run before or together with transformations,
this name is more descriptive.
2015-06-29 20:15:22 +03:00
a647e1104d
compiler: split into transforms and py2llvm
2014-09-05 22:18:31 +08:00
86193437f5
compiler/ir_values: fix gcd64
2014-09-05 16:48:27 +08:00
4915b4b5aa
PEP8
2014-09-05 12:03:22 +08:00
7e9df82e37
compiler/ir_values: implement rational mul/div
2014-08-28 18:58:24 +08:00
841e7cce35
compiler/ir_values: fix right operations
2014-08-28 18:58:05 +08:00
a861226409
compiler/ir: fraction normalization
2014-08-28 17:24:33 +08:00
76cef042a5
compiler/ir: introduce Fraction type (incomplete)
2014-08-19 17:52:55 +08:00
0832507c26
compiler/ir: refactor SSA/alloca management
2014-08-19 17:52:05 +08:00
b3b61d8b6b
compiler/fold_constants: fix int/round
2014-08-18 23:11:53 +08:00
24544f2758
compiler/tools/eval_constant: raise NotConstant on calls
2014-08-18 23:11:27 +08:00
b1598ba659
compiler/inline: add microcycle_unit as reserved name
2014-08-18 23:06:50 +08:00
7ea28642e4
compiler: add lower_units transform
2014-08-18 23:06:34 +08:00
dcc140c5a9
compiler/lower_time: make 'now' an int64
2014-08-18 23:04:28 +08:00
56ccd054eb
compiler/fold_constants: support int, int64, round and round64
2014-08-18 22:52:19 +08:00
219aa23d25
compiler/ir_values: implement sign extension and truncation
2014-08-18 22:51:54 +08:00
4ff61a8f56
compiler/ir_ast_body,ir_values: minor fixes
2014-08-18 22:51:24 +08:00
a5e5b5c870
compiler: pass funcdef instead of statement list
2014-08-18 21:37:30 +08:00
86577ff64f
compiler/inline: update reserved names
2014-08-18 21:34:13 +08:00
e1cdec8c07
compiler/ir: fix compile_function call
2014-08-18 21:32:52 +08:00
1e654f5da2
compiler/tools: support int64 in value_to_ast
2014-08-18 21:31:56 +08:00
fc9cf67069
compiler/ir: use new infrastructure
2014-08-18 14:34:14 +08:00
65566ec710
compiler/ir_ast_body,ir_infer_types: support syscalls
2014-08-18 14:33:21 +08:00
4b0788d92c
compiler: add None type support
2014-08-17 23:46:29 +08:00
9e21ea5658
compiler/ir_ast_body,ir_infer_types: use Python dict directly as namespace
2014-08-17 22:15:10 +08:00
30ef6119e6
compiler/ir_ast_body: refactor and add statement visitor
2014-08-17 21:46:11 +08:00
d41d06835c
compiler/ir_values: support bool operation on VBool
2014-08-17 21:45:36 +08:00
3e4cbba018
compiler: new architecture for type inference and LLVM code emission
2014-08-16 23:20:16 +08:00
02798d1996
infer_type: better rules
2014-08-16 20:58:10 +08:00
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