Commit Graph

211 Commits

Author SHA1 Message Date
Sebastien Bourdeauducq f105e5e214 language: add std module with common user features 2014-09-29 23:14:10 +08:00
Sebastien Bourdeauducq 1ae7724a15 transforms/interleave: support try statements 2014-09-29 18:09:48 +08:00
Sebastien Bourdeauducq 2a40d69290 transforms/inline: fix runtime exception encoding 2014-09-29 18:09:26 +08:00
Sebastien Bourdeauducq 4572b7657f devices/runtime_exceptions: fix exception_map generation 2014-09-29 18:08:58 +08:00
Sebastien Bourdeauducq 035b541a73 language/core: add RuntimeException 2014-09-29 17:36:35 +08:00
Sebastien Bourdeauducq 4a1cad5227 language/core: reduce namespace pollution 2014-09-29 17:28:14 +08:00
Robert Jördens 741228878c add basic setup.py and infrastructure 2014-09-27 21:28:06 +08:00
Sebastien Bourdeauducq 7289c18a42 transforms/unroll_loops: count statements in try blocks 2014-09-27 11:57:47 +08:00
Sebastien Bourdeauducq 4a5e398857 py2llvm: support continue statement 2014-09-27 00:27:11 +08:00
Sebastien Bourdeauducq 89fdab2176 py2llvm: factorize basic block termination test 2014-09-26 23:53:56 +08:00
Sebastien Bourdeauducq d10112688f py2llvm: execute finally block when exception is re-raised in handler 2014-09-26 23:44:44 +08:00
Sebastien Bourdeauducq 4978f8b3d7 py2llvm: remove LLVM-crashing (unreachable) non-SSA path with exception ID 2014-09-26 19:38:14 +08:00
Sebastien Bourdeauducq 20ca97485c py2llvm: support break/return in try block 2014-09-26 19:21:49 +08:00
Sebastien Bourdeauducq 8852dd394e transforms/unroll_loop: handle breaks in try and with blocks 2014-09-26 19:20:56 +08:00
Sebastien Bourdeauducq f332def3a2 py2llvm: fix behaviour of 'break' in 'else' clause of loops 2014-09-26 18:16:20 +08:00
Sebastien Bourdeauducq af0cd902d3 get frequency from RTIO, support fractional frequencies 2014-09-26 17:24:06 +08:00
Sebastien Bourdeauducq dd6de244fe minor cleanups 2014-09-26 17:21:51 +08:00
Sebastien Bourdeauducq e0cd45b1ba devices/corecom_serial: do not use deprecated logger.warn 2014-09-25 12:58:11 +08:00
Sebastien Bourdeauducq 4f26b6281d host: support runtime device exceptions 2014-09-25 12:57:26 +08:00
Sebastien Bourdeauducq cf1f1269b2 py2llvm/fractions: use internal linkage for gcd function 2014-09-24 19:21:45 +08:00
Sebastien Bourdeauducq 8aebab580f transforms/inline: support non-hashable host objects 2014-09-24 17:16:40 +08:00
Sebastien Bourdeauducq 82da734e89 transforms/inline: remove _is_in_attr_list 2014-09-24 17:02:33 +08:00
Sebastien Bourdeauducq 4d3d15ad99 transforms/inline: support reraise and tuple exception matching 2014-09-23 22:10:15 +08:00
Sebastien Bourdeauducq f7075b24f6 py2llvm: fix exception matching 2014-09-23 22:09:35 +08:00
Sebastien Bourdeauducq af15f45bb9 runtime: do not use buggy llvm.eh.sjlj.* intrinsics 2014-09-23 22:09:08 +08:00
Sebastien Bourdeauducq 8b769a0417 devices/runtime: add more eh functions 2014-09-23 16:25:41 +08:00
Sebastien Bourdeauducq d1085449aa py2llvm: support for try/except/else/finally blocks 2014-09-23 16:23:54 +08:00
Sebastien Bourdeauducq c989daf4d6 py2llvm: stop after other types of termination instructions 2014-09-23 16:21:48 +08:00
Sebastien Bourdeauducq e8c92c3b6f transforms/inline: support catchall 'except' clauses 2014-09-23 16:20:36 +08:00
Sebastien Bourdeauducq bad87ef38b devices/corecom_serial: unpack unsigned chars 2014-09-22 13:23:39 +08:00
Sebastien Bourdeauducq 19abab3feb devices/runtime: rename syscall to build_syscall 2014-09-22 13:22:38 +08:00
Sebastien Bourdeauducq 5244a63b55 devices/runtime: register eh_raise service 2014-09-22 13:22:04 +08:00
Sebastien Bourdeauducq a8df1703fb py2llvm: support raise statement 2014-09-22 13:20:27 +08:00
Sebastien Bourdeauducq 3de24619b2 corecom: exception support 2014-09-21 23:36:10 +08:00
Sebastien Bourdeauducq e821f9eb83 transforms/inline: encode exceptions 2014-09-21 23:30:40 +08:00
Sebastien Bourdeauducq 655835e8de language/core: cleanup 2014-09-21 23:18:33 +08:00
Sebastien Bourdeauducq 320d3c36ed language/core: add EncodedException 2014-09-21 23:17:46 +08:00
Robert Jördens 426d6dd979 corecom_serial: logger/debugging 2014-09-21 18:19:14 +08:00
Sebastien Bourdeauducq 7e45cd62ef language/core: add docstrings 2014-09-18 17:44:11 +08:00
Sebastien Bourdeauducq f5167f21fb language/core: make KernelFunctionInfo private 2014-09-18 17:20:34 +08:00
Sebastien Bourdeauducq 3249b8ad3e language/core: reduce namespace pollution 2014-09-18 16:30:38 +08:00
Sebastien Bourdeauducq 5fe3cffc84 transforms/unroll_loop: do not unroll breakable loops 2014-09-18 09:53:08 +08:00
Sebastien Bourdeauducq 0b1ebb1ba5 devices/core: raise loop unrolling limit 2014-09-17 19:52:18 +08:00
Sebastien Bourdeauducq 9af0e9c91a devices/runtime: support dumping of ELF object via ARTIQ_DUMP_OBJECT environment variable 2014-09-17 18:03:54 +08:00
Sebastien Bourdeauducq af6457c5fa devices/core: enable unparser via ARTIQ_UNPARSE environment variable 2014-09-17 17:06:51 +08:00
Sebastien Bourdeauducq a79709f0ae transforms/inline: let float() calls through 2014-09-17 16:42:28 +08:00
Sebastien Bourdeauducq 97ad9efa85 py2llvm/base_types: implement int, floor, floordiv, and boolean ops on floats 2014-09-17 16:24:37 +08:00
Sebastien Bourdeauducq 80f4bc7741 py2llvm/base_types: fix corner cases with bool/int/float conversion 2014-09-17 16:23:02 +08:00
Sebastien Bourdeauducq 2e45d7267d py2llvm/fractions: fix round() 2014-09-17 16:22:00 +08:00
Sebastien Bourdeauducq dc38356ad9 transform/tools/value_to_ast: support floats 2014-09-16 23:11:53 +08:00