Commit Graph

246 Commits

Author SHA1 Message Date
af0cd902d3 get frequency from RTIO, support fractional frequencies 2014-09-26 17:24:06 +08:00
dd6de244fe minor cleanups 2014-09-26 17:21:51 +08:00
e0cd45b1ba devices/corecom_serial: do not use deprecated logger.warn 2014-09-25 12:58:11 +08:00
4f26b6281d host: support runtime device exceptions 2014-09-25 12:57:26 +08:00
cf1f1269b2 py2llvm/fractions: use internal linkage for gcd function 2014-09-24 19:21:45 +08:00
8aebab580f transforms/inline: support non-hashable host objects 2014-09-24 17:16:40 +08:00
82da734e89 transforms/inline: remove _is_in_attr_list 2014-09-24 17:02:33 +08:00
4d3d15ad99 transforms/inline: support reraise and tuple exception matching 2014-09-23 22:10:15 +08:00
f7075b24f6 py2llvm: fix exception matching 2014-09-23 22:09:35 +08:00
af15f45bb9 runtime: do not use buggy llvm.eh.sjlj.* intrinsics 2014-09-23 22:09:08 +08:00
8b769a0417 devices/runtime: add more eh functions 2014-09-23 16:25:41 +08:00
d1085449aa py2llvm: support for try/except/else/finally blocks 2014-09-23 16:23:54 +08:00
c989daf4d6 py2llvm: stop after other types of termination instructions 2014-09-23 16:21:48 +08:00
e8c92c3b6f transforms/inline: support catchall 'except' clauses 2014-09-23 16:20:36 +08:00
bad87ef38b devices/corecom_serial: unpack unsigned chars 2014-09-22 13:23:39 +08:00
19abab3feb devices/runtime: rename syscall to build_syscall 2014-09-22 13:22:38 +08:00
5244a63b55 devices/runtime: register eh_raise service 2014-09-22 13:22:04 +08:00
a8df1703fb py2llvm: support raise statement 2014-09-22 13:20:27 +08:00
3de24619b2 corecom: exception support 2014-09-21 23:36:10 +08:00
e821f9eb83 transforms/inline: encode exceptions 2014-09-21 23:30:40 +08:00
655835e8de language/core: cleanup 2014-09-21 23:18:33 +08:00
320d3c36ed language/core: add EncodedException 2014-09-21 23:17:46 +08:00
426d6dd979 corecom_serial: logger/debugging 2014-09-21 18:19:14 +08:00
7e45cd62ef language/core: add docstrings 2014-09-18 17:44:11 +08:00
f5167f21fb language/core: make KernelFunctionInfo private 2014-09-18 17:20:34 +08:00
3249b8ad3e language/core: reduce namespace pollution 2014-09-18 16:30:38 +08:00
5fe3cffc84 transforms/unroll_loop: do not unroll breakable loops 2014-09-18 09:53:08 +08:00
0b1ebb1ba5 devices/core: raise loop unrolling limit 2014-09-17 19:52:18 +08:00
9af0e9c91a devices/runtime: support dumping of ELF object via ARTIQ_DUMP_OBJECT environment variable 2014-09-17 18:03:54 +08:00
af6457c5fa devices/core: enable unparser via ARTIQ_UNPARSE environment variable 2014-09-17 17:06:51 +08:00
a79709f0ae transforms/inline: let float() calls through 2014-09-17 16:42:28 +08:00
97ad9efa85 py2llvm/base_types: implement int, floor, floordiv, and boolean ops on floats 2014-09-17 16:24:37 +08:00
80f4bc7741 py2llvm/base_types: fix corner cases with bool/int/float conversion 2014-09-17 16:23:02 +08:00
2e45d7267d py2llvm/fractions: fix round() 2014-09-17 16:22:00 +08:00
dc38356ad9 transform/tools/value_to_ast: support floats 2014-09-16 23:11:53 +08:00
f061b15994 py2llvm: add floating point support 2014-09-16 23:11:30 +08:00
dbca62c1d7 py2llvm/fractions: fix or_sub 2014-09-16 16:43:01 +08:00
140b4eb594 devices/rtio_core: set OE, implement gate/count 2014-09-15 22:48:22 +08:00
8bf7b27a89 runtime: increase initial_time 2014-09-15 22:47:19 +08:00
11d8840277 runtime: new serial protocol, support multiple entry points and log messages 2014-09-15 22:40:33 +08:00
f529361c8b runtime: add rtio_oe and rtio_get syscalls 2014-09-14 23:30:33 +08:00
a55018953d devices/rtio_core: add dummy counter 2014-09-13 19:37:57 +08:00
5c228f9114 Consistent variable naming 2014-09-13 19:32:21 +08:00
71adcb74bf language/core: remove kernel_attr_ro 2014-09-13 19:24:58 +08:00
123ddb26a1 transforms/inline: refactor and fix _ReferenceManager.inline 2014-09-13 19:24:32 +08:00
dc9515fc62 transforms/inline: support for function return values 2014-09-13 16:17:16 +08:00
3d440d5f15 py2llvm: support pass statements 2014-09-13 16:16:15 +08:00
6861d28d2d runtime: support arbitrarily long initial DDS setup time 2014-09-12 15:40:34 +08:00
92efde1e40 devices/dds_core: support realtime FUD and zero-length pulse collapsing 2014-09-12 15:36:17 +08:00
a60e6237bf runtime: increase initial time
This leaves some time for DDS FUD operations to complete.
2014-09-12 15:34:29 +08:00
16b2d9f177 runtime: support real-time FUD 2014-09-12 15:34:11 +08:00
b5f145d976 devices: new RTIO driver 2014-09-12 15:28:02 +08:00
10d796e026 runtime: add rtio_replace syscall 2014-09-11 23:14:45 +08:00
f0c2003778 py2llvm/fractions: fix addsub with int 2014-09-11 23:11:57 +08:00
7e889b014d py2llvm: add break statement support 2014-09-10 16:16:12 +08:00
d66448a486 py2llvm: for loop and range support 2014-09-10 16:06:27 +08:00
5144da3f9a transforms/inline: add sequential block when inlining function 2014-09-09 22:01:28 +08:00
e6530075d9 devices/dds_core: add on/off methods 2014-09-09 22:00:51 +08:00
0ad2b4d09b transform/inline: fix subscript handling 2014-09-09 21:03:15 +08:00
8aa69cb959 devices/runtime: use new py2llvm methods 2014-09-09 21:02:38 +08:00
eec52a2e29 py2llvm: array support 2014-09-09 17:13:48 +08:00
e2ca571c89 transforms/inline: let array calls through 2014-09-09 17:13:26 +08:00
f410b4d241 language/core: add array function 2014-09-09 17:12:37 +08:00
9eb2a2441d py2llvm: factor repr/same_type/merge for values 2014-09-09 10:30:10 +08:00
60368aa9e2 py2llvm: complete rational arithmetic support 2014-09-08 18:45:46 +08:00
1133308dd5 py2llvm: support 'neg' on VInt 2014-09-08 18:25:04 +08:00
71b8575d7a py2llvm/fractions: add numerator/denominator getattr support 2014-09-07 15:26:05 +08:00
e2d834928f py2llvm/ast_body: support getattr 2014-09-07 15:24:19 +08:00
c5c38c6376 py2llvm: remove unnecessary indirection for unary operators 2014-09-07 15:09:38 +08:00
bce687b4a0 py2llvm/base_types: implement 'not' on 'None' 2014-09-07 14:55:46 +08:00
dddc9259b0 py2llvm: run passes before creating EE 2014-09-07 14:47:09 +08:00
15dcf3351b py2llvm: move GCD function into LLVM IR 2014-09-07 14:46:32 +08:00
3c8b541939 py2llvm: reorganize, split 'values' module, factor LLVM module/pass management 2014-09-07 14:09:03 +08:00
6deaf7b81a py2llvm: add support for function parameters and return values, add unit test 2014-09-06 19:03:08 +08:00
64c29bcfa6 py2llvm/values: support 'not' on VInt 2014-09-06 19:02:09 +08:00
2ef187b7d3 py2llvm/values: fix arity of 'not' 2014-09-06 18:18:08 +08:00
a647e1104d compiler: split into transforms and py2llvm 2014-09-05 22:18:31 +08:00
ef1f8787dc devices/runtime: minor cleanup 2014-09-05 21:51:58 +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
62b872ad94 devices/dds_core: use new compiler features to compute tuning word trivially 2014-08-18 23:53:10 +08:00
7a90f4f4ec runtime: start RTIO counter at first rtio_set 2014-08-18 23:46:58 +08:00
7d8dc4ef30 runtime: support 64-bit RTIO timestamps 2014-08-18 23:41:54 +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
331dbc971b language/units: add microcycle unit for core time 2014-08-18 22:52:54 +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