2
0
mirror of https://github.com/m-labs/artiq.git synced 2024-12-19 08:26:30 +08:00
Commit Graph

1758 Commits

Author SHA1 Message Date
e41b9db787 gui: minor cleanup 2016-01-03 00:47:43 +08:00
6007b64898 applets: add big_number 2016-01-03 00:46:33 +08:00
5ad6c5cbe0 applets: add simple applet library 2016-01-03 00:46:15 +08:00
whitequark
38a99fde52 Implement selective attribute writeback using shadow memory. 2016-01-02 22:51:04 +08:00
whitequark
2e33084a5f transforms.llvm_ir_generator: implement instrumentation for attribute writeback. 2016-01-02 06:51:30 +08:00
whitequark
5f68cc6a21 transforms.artiq_ir_generator: handle raise in except: with finally:. 2016-01-02 06:51:29 +08:00
whitequark
693a364d85 transforms.artiq_ir_generator: fix typo. 2015-12-31 22:39:33 +08:00
whitequark
ff0ab736e9 Commit missing parts of 8aa34ee9. 2015-12-31 22:36:25 +08:00
whitequark
79d020dd3a transforms.artiq_ir_generator: handle terminated try body. 2015-12-31 22:36:25 +08:00
whitequark
71d8cbb431 runtime/artiq_personality: add missing cast. 2015-12-31 22:10:30 +08:00
whitequark
cb90bf6ef3 test/coredevice/portability: keep trace list entirely on host. 2015-12-31 22:08:15 +08:00
whitequark
a2618f0b5b runtime/artiq_personality.c: add missing cast. 2015-12-31 22:06:01 +08:00
whitequark
abc5a49aaf test: use raise X() syntax rather than raise X. 2015-12-31 22:02:57 +08:00
whitequark
8aa34ee952 compiler: don't require exceptions to inherit ARTIQException. 2015-12-31 21:54:54 +08:00
whitequark
f9e90d90fa runtime/artiq_personality.c: don't dereference nonexistent typeInfoPtr. 2015-12-31 21:16:18 +08:00
whitequark
51e966edf2 Commit missing parts of 0b69e488. 2015-12-31 21:09:24 +08:00
whitequark
0b69e488e6 transforms.llvm_ir_generator: compare exn typeinfo using strcmp.
This is necessary to correctly catch exceptions from RPCs.
2015-12-31 19:53:28 +08:00
whitequark
9ed6b54249 transforms.cfg_simplifier: remove.
Specifically, the following idiom broke our CFGSimplifier:

b1:
  branch_if %cond, %b2, %b3
b2:
  branch %b3
b3:
  %v = phi [ %b2 => 0, %b3 => 1 ]

This is very annoying to properly handle in general case, and also
this (specifically %b2) is exactly what broke LocalAccessValidator
in the first place. So, remove CFGSimplifier altogether.

Instead, teach LocalAccessValidator how to look through predecessors
in order to get a location.
2015-12-31 17:07:36 +08:00
17802d3cff test/coredevice/primes: keep output list entirely on the host 2015-12-31 09:49:37 +08:00
whitequark
787a1d34fe transforms.llvm_ir_generator: don't crash when quoting over than one list. 2015-12-30 16:22:26 +08:00
whitequark
25e2824709 validators.escape: infer correct region for arguments. 2015-12-30 16:19:35 +08:00
whitequark
72b6cca9c3 transforms.cfg_simplifier: correctly update phis. 2015-12-30 16:07:14 +08:00
whitequark
2a474b7166 ir: fix incoming_{blocks,values,value_for_block}. 2015-12-30 16:06:18 +08:00
whitequark
ac3a170c8f transforms.llvm_ir_generator: don't crash when quoting empty lists. 2015-12-30 15:47:57 +08:00
whitequark
5dcf936f4e transforms.inferencer: don't crash on partially-inferred binary expressions. 2015-12-30 15:46:54 +08:00
whitequark
6938036b28 embedding: unify all derived attribute types. 2015-12-30 15:38:49 +08:00
whitequark
f52d364806 Mollify PEP 0479. 2015-12-30 15:33:30 +08:00
whitequark
78fb3e1b7b compiler: validate local accesses after interleaving. 2015-12-30 15:26:30 +08:00
whitequark
df91500f68 Fix ff3206be. 2015-12-30 15:16:05 +08:00
whitequark
ff3206be07 compiler.embedding: treat RPC methods like any others (fixes #211). 2015-12-30 14:21:09 +08:00
whitequark
14484216ec transforms.cfg_simplifier: handle phi and branch_if properly. 2015-12-30 12:10:28 +08:00
04b0db1a91 targets/kc705: pre-divide input RTIO clock to improve non-50% duty cycle tolerance 2015-12-29 17:00:57 +08:00
aa29defd02 test/coredevice/test_pulses: fix first_timestamp 2015-12-29 12:43:53 +08:00
whitequark
9d7d614139 test.coredevice.rtio.CoredeviceTest.test_time_keeps_running: relax timing.
Testing ARTIQ over an SSH channel to Hong Kong is slow.
2015-12-29 02:57:33 +08:00
whitequark
8fb6d4cdb4 coredevice.comm_generic: handle RPC default args correctly. 2015-12-29 02:54:34 +08:00
whitequark
0dd71946b9 test.coredevice.portability.HostVsDeviceCase.test_exceptions: update.
TypeError would never be raised with the new compiler.
It crashes in a different way now.
2015-12-29 02:18:38 +08:00
whitequark
db05ec0277 test.coredevice.portability.HostVsDeviceCase.test_misc: update.
It crashes in a different way now.
2015-12-29 02:15:57 +08:00
whitequark
8822db089f transforms.cfg_simplifier: implement.
This allows error reporting in LocalAccessValidator to proceed
even when the predecessor is an empty block with only a branch.
2015-12-29 02:15:57 +08:00
whitequark
57ebd57ddb transforms.dead_code_eliminator: update doc. 2015-12-29 02:15:57 +08:00
70dfad08e3 applets: add XY/histogram plot demo 2015-12-28 16:48:31 +08:00
c9da5f4ecb frontend: bind v4 and v6 localhost addresses by default, support multiple bind 2015-12-27 18:03:13 +08:00
bea1182aca sim/devices/core: adapt to _ARTIQEmbeddedInfo 2015-12-27 11:56:01 +08:00
b5253e1353 coredevice/analyzer: decode log messages 2015-12-27 01:28:34 +08:00
048dcbee92 runtime/rtio: reverse char ordering in log messages 2015-12-27 01:07:18 +08:00
50a463a6fd runtime: support for RTIO logging 2015-12-26 22:44:50 +08:00
ba6c527819 gateware/targets: add RTIO log channels 2015-12-26 22:44:01 +08:00
080752092c gateware/rtio: add LogChannel 2015-12-26 22:43:28 +08:00
9ba8dfbf23 gateware/rtio/core: avoid potential python bug 2015-12-26 22:11:57 +08:00
24fa74a8ab coredevice/analyzer: support TTL clockgen 2015-12-26 21:51:37 +08:00
1c36ae0672 coredevice/analyzer: support TTL inputs 2015-12-26 21:24:53 +08:00
7eb4067477 test/coredevice/analyzer: test TTL input mode 2015-12-26 21:10:19 +08:00
whitequark
82ec76af3e compiler.types: fix TFunction internal field order (closes #208). 2015-12-26 18:08:51 +08:00
a871194ee4 coredevice/analyzer: prefix channel names with their types 2015-12-26 17:47:53 +08:00
2b70fa14a6 coredevice/analyzer: update rtio_slack on output messages only 2015-12-26 17:47:08 +08:00
whitequark
b931096ec3 transforms.artiq_ir_generator: fix While codegen (closes #207). 2015-12-26 17:24:05 +08:00
whitequark
502e570e86 compiler: embed host exception constructors as such (fixes #204). 2015-12-26 03:17:29 +08:00
whitequark
8051fe9592 Commit missing parts of 082e9e20dd. 2015-12-26 03:16:50 +08:00
whitequark
082e9e20dd compiler: do not associate SSA values with iodelay even when inlining.
Fixes #201.
2015-12-25 15:02:33 +08:00
whitequark
33c3b3377e ir: keep loc when copying. 2015-12-25 14:59:28 +08:00
whitequark
690b2fd034 transforms.artiq_ir_generator: fix optarg codegen (closes #205). 2015-12-25 12:40:45 +08:00
cd8eccfd46 coredevice/analyzer: add rtio_slack channel 2015-12-25 00:40:47 +08:00
7475b3813e test/coredevice: PEP8 2015-12-24 19:26:42 +08:00
bf1a3a5b8f test/coredevice: add analyzer unittest 2015-12-24 19:25:29 +08:00
5f3b69dd19 frontend/coreconfig: simplify action names 2015-12-24 18:54:23 +08:00
179c50480f frontend: split coretool into coreconfig, corelog and coreanalyzer 2015-12-24 18:51:11 +08:00
e41e2c088d analyzer: encapsulate decoded dump, get onehot sel from header 2015-12-24 00:31:21 +08:00
4be5df9802 coredevice/analyzer: DDS decoding 2015-12-23 18:57:53 +08:00
58d0e2c0b8 coredevice/analyzer: log TTL decoding in debug mode 2015-12-23 18:56:23 +08:00
e4d73c0302 artiq/coredevice/dds: fix dds_set signature 2015-12-23 17:25:31 +08:00
b4b0dcc5d1 test/coredevice/rtio: remove obsolete functions 2015-12-22 12:11:13 +08:00
f6522922f8 coredevice/exceptions: PEP8 2015-12-22 12:03:11 +08:00
23355d8eff coredevice: restore RTIOCollisionError 2015-12-22 11:59:18 +08:00
fc299ca918 language/environment: disable processors by default 2015-12-22 11:45:34 +08:00
whitequark
a250b5da21 language.core: implement round(value, width) (fixes #203). 2015-12-22 11:26:49 +08:00
whitequark
25188f0ca9 transforms.interleaver: correctly handle degenerate with parallel: blocks. 2015-12-21 21:32:48 +08:00
whitequark
ac5c86bfdc artiq_compile: add missing import. 2015-12-21 21:15:18 +08:00
whitequark
f957be4e6f transforms.llvm_ir_generator: handle loop instruction (fixes #202). 2015-12-21 21:12:17 +08:00
007a7170e1 analyzer: report DDS channel number 2015-12-21 18:37:53 +08:00
8691f69a3c gateware/rtio/analyzer: suppress spurious initial reset messages 2015-12-21 18:32:08 +08:00
e87436fc03 coredevice/analyzer: remove zero-timestamp msg filtering (now unnecessary) 2015-12-21 11:15:58 +08:00
183e855229 remove workaround_asyncio263 2015-12-20 23:26:48 +08:00
2ae63570dd frontend/coretool: verbosity control 2015-12-20 23:17:31 +08:00
5769107936 gateware/rtio: keep counter clock domain transfer active during CSR reset 2015-12-20 22:12:34 +08:00
b96e0d241e coredevice/analyzer: set VCD timescale 2015-12-20 22:06:07 +08:00
4b5c10b641 coredevice/core: remove default period 2015-12-20 22:05:52 +08:00
cdcb57effe coredevice/analyzer: basic VCD writing 2015-12-20 19:32:52 +08:00
whitequark
e4615e7b37 transforms.int_monomorphizer: visit children of CallT. 2015-12-20 18:07:31 +08:00
46f59b673f coredevice: analyzer message decoding 2015-12-20 14:34:16 +08:00
whitequark
d5216879d4 runtime: implement round() (fixes #198).
From https://github.com/bpowers/musl/blob/master/src/math/round.c.
2015-12-20 04:06:11 +08:00
whitequark
54aeb5030d transforms.int_monomorphizer: also monomorphize round() calls (#198). 2015-12-20 02:36:30 +08:00
whitequark
95af6daa28 transforms.inferencer: accept round(width=n) form (#198). 2015-12-20 01:02:57 +08:00
1638f0fa9b gateware/rtio/analyzer: fix event ordering 2015-12-19 17:04:30 +08:00
whitequark
afee03b89c Commit missing parts of 4fb1de33. 2015-12-19 06:41:32 +08:00
whitequark
4fcd6abc5e Commit missing parts of 0395efd4. 2015-12-19 06:33:29 +08:00
whitequark
4fb1de33c9 Initial invocation of a @kernel function can now return a value (fixes #197). 2015-12-19 05:26:18 +08:00
whitequark
e9afe5a93b runtime: include __powidf2. 2015-12-19 00:14:51 +08:00
whitequark
0395efd479 compiler: give environment types in LLVM IR readable names. 2015-12-18 23:41:51 +08:00
whitequark
baa986aa32 compiler.prelude: add @portable as an alias for @kernel. 2015-12-18 23:00:29 +08:00
whitequark
7b3ace2e30 transforms.inferencer: fix unsupported decorator diagnostic when embedding.
decorator.loc points to the quoted object with a synthesized location,
and it's not really worth refactoring when we can just point at the @.
2015-12-18 22:58:17 +08:00
whitequark
0755aa38ff transforms.iodelay_estimator: allow goto in zero-iodelay while statements. 2015-12-18 21:14:40 +08:00
whitequark
2759310662 transforms.iodelay_estimator: reject control flow in 'with parallel:' (fixes #195). 2015-12-18 21:02:53 +08:00
64ad38854b gateware/rtio/analyzer: fix exception message layout 2015-12-18 18:27:06 +08:00
10d4bfba38 frontend/coretool: basic analyzer dump 2015-12-18 18:23:16 +08:00
0832c71a66 coredevice/comm_tcp: support retrieving analyzer data 2015-12-18 18:22:50 +08:00
whitequark
52102a1a79 Fix handling of default values for RPC arguments (fixes #190). 2015-12-18 18:03:07 +08:00
whitequark
f4b19fee5c compiler.types: make TValue hashable. 2015-12-18 17:31:20 +08:00
whitequark
3fbee2707b analyses.domination: consider unreachable blocks dominated by any other.
As a result, the dominator tree can now process arbitrary (reducible)
CFGs and we do not run DCE before analyses, risking loss of
correspondence to the AST, which would arbitrarily silence analyses.
2015-12-18 16:39:52 +08:00
59a3ea4f15 gateware/rtio/analyzer: fix bus write 2015-12-18 15:44:20 +08:00
f431add20e runtime/analyzer: fix zero data corner case, handle cache 2015-12-18 15:17:22 +08:00
b3abc9baf9 runtime/net_server: fix PCB filter 2015-12-18 01:14:57 +08:00
80172f9548 frontend/coretool: minor cleanup 2015-12-18 00:18:39 +08:00
73794b5c25 runtime: send analyzer data 2015-12-18 00:13:22 +08:00
6ae41e6024 runtime/net_server: refactor to support multiple services 2015-12-17 16:55:39 +08:00
whitequark
8cb7844621 transforms.interleaver: unroll loops. 2015-12-17 00:52:22 +08:00
whitequark
5dd1fc993e transforms.dead_code_eliminator: also remove dead instructions. 2015-12-17 00:52:22 +08:00
5e38cad64c test/coredevice: partial update to new APIs 2015-12-16 19:45:57 +08:00
whitequark
2570932264 transforms.interleaver: don't fail on delay-free loops/conditionals. 2015-12-16 19:26:17 +08:00
whitequark
69cdeaf706 transforms.interleaver: don't fail on degenerate parallel blocks. 2015-12-16 19:26:17 +08:00
4def561710 targets: integrate RTIO analyzer 2015-12-16 17:36:52 +08:00
afaad270cc rtio/analyzer: fix superficial mistakes 2015-12-16 17:36:36 +08:00
whitequark
f8eaeaa43f compiler: explicitly represent loops in IR. 2015-12-16 15:33:26 +08:00
33860820b9 gateware/soc: use new SDRAM API call 2015-12-16 14:59:35 +08:00
whitequark
35acc33ef6 validators.escape: don't fail on quoted values in lhs. 2015-12-16 13:57:02 +08:00
whitequark
8751d2ee6c Delay.{expr→interval}. 2015-12-16 13:57:02 +08:00
bf29e8ddc6 kc705: make config[] usage consistent 2015-12-15 12:14:30 -07:00
4362f97d67 gateware/rtio/analyzer: complete, untested 2015-12-14 23:53:14 +08:00
whitequark
e755e1ba9e validators.escape: support arrays in multiple assignment. 2015-12-14 16:31:03 +08:00
whitequark
1860364778 protocols.pyon: support artiq.int (fixes #188). 2015-12-14 16:26:02 +08:00
b5f2e178f6 rtio/analyzer: message encoder 2015-12-14 00:37:08 +08:00
eac2e2ad0b gui/experiments: fix Qt compatibility issue with QHeaderView.setResizeMode 2015-12-13 19:32:17 +08:00
eeb53c5aa5 coredevice/comm: compare software and gateware versions. Closes #97 2015-12-11 22:56:40 +08:00
0eb8079b45 gui: fix some dock sizing issues 2015-12-11 00:20:20 +08:00
whitequark
25027f6907 compiler: fix tests. 2015-12-10 23:16:36 +08:00
whitequark
2d906daf7f compiler: implement 'with watchdog' support. 2015-12-10 23:11:00 +08:00
whitequark
64f19b84f2 compiler.testbench.llvmgen: fix. 2015-12-10 23:08:05 +08:00
whitequark
4888e897b9 compiler: refactor to use builtins.TInt{32,64}. (NFC) 2015-12-10 23:06:23 +08:00
whitequark
143bae4bd3 compiler.builtins: {fn→obj}_{serial,parallel}. 2015-12-10 23:03:28 +08:00
whitequark
c660028abf transforms.llvm_ir_generator: fix reraise inside EH block. 2015-12-10 23:02:32 +08:00
whitequark
3ec9b677b2 Revert "transforms.artiq_ir_generator: treat builtins in 'with' syntactically."
This reverts commit ccc993071b.
2015-12-10 22:25:15 +08:00
whitequark
ccc993071b transforms.artiq_ir_generator: treat builtins in 'with' syntactically. 2015-12-10 21:29:16 +08:00
whitequark
22dab0c7cc compiler: clarify confusing comment (NFC). 2015-12-10 20:50:28 +08:00
93317d48c9 gui/explorer: file selector for experiments outside repos 2015-12-09 19:13:57 +08:00
7b2580583a master: allow remote listing of directories 2015-12-08 19:24:04 +08:00
ed08352f67 gui: improve error handling 2015-12-08 18:58:20 +08:00
0da89557da gui: basic support for opening files outside repository 2015-12-08 17:52:38 +08:00
238ee9adb4 gui/experiments: support recomputing all arguments of an experiment 2015-12-07 00:55:32 +08:00
5e14afde3e scheduler: use current (last scanned) repo revision instead of HEAD 2015-12-06 19:00:41 +08:00
f99c53d179 client: block until end of repository scan 2015-12-06 18:41:20 +08:00
ea6dcb2743 master: repository -> experiment_db 2015-12-06 18:39:27 +08:00
8467013160 master,gui: support recomputation+reset of arguments 2015-12-06 17:27:15 +08:00