forked from M-Labs/artiq
1
0
Fork 0
Commit Graph

1603 Commits

Author SHA1 Message Date
Sebastien Bourdeauducq d94f0211a6 test/scheduler: cleanup 2015-10-06 13:35:30 +08:00
Sebastien Bourdeauducq 66f82a13d3 language,gui: support scaling of number entries 2015-10-06 00:30:41 +08:00
Sebastien Bourdeauducq e46ba83513 rtio/dds: use rio_phy domain to reset FTW tracker. Closes #120 2015-10-04 22:53:51 +08:00
Sebastien Bourdeauducq b3584bc190 language,master,run: support raw access to DDB from experiments. Closes #123 2015-10-04 18:29:39 +08:00
Sebastien Bourdeauducq 512bc79484 master: consistent db function argument names 2015-10-04 18:27:44 +08:00
Sebastien Bourdeauducq 168af9589e gui/moninj: fix problems with dynamic modification of DDB 2015-10-04 17:55:57 +08:00
Sebastien Bourdeauducq 0e3927b01a master: support DDB rescan 2015-10-04 17:38:07 +08:00
whitequark 2ca84f9fea Highlight source range in IR dumps using colors. 2015-10-04 02:11:17 +03:00
Sebastien Bourdeauducq 50a5a3baf0 environment: attr_* -> setattr_* 2015-10-04 00:18:21 +08:00
Sebastien Bourdeauducq 090a7e5871 test/sync_struct: cleanup 2015-10-03 19:40:11 +08:00
Sebastien Bourdeauducq f552d62b69 use Python 3.5 coroutines 2015-10-03 19:28:57 +08:00
Sebastien Bourdeauducq b117b9320d asyncio.async -> asyncio.ensure_future 2015-10-03 14:37:02 +08:00
Sebastien Bourdeauducq 125503139e remove workaround for Python bug in asyncio process.wait(). Requires Python 3.5. Closes #58 2015-10-03 14:33:18 +08:00
Sebastien Bourdeauducq cd3107ba75 do not use deprecated asyncio.JoinableQueue 2015-10-03 13:59:18 +08:00
whitequark 7a6fc3983c Make delay component of function type unifyable. 2015-09-30 18:41:14 +03:00
whitequark 3e1348a084 Merge branch 'master' of github.com:m-labs/artiq into new-py2llvm 2015-09-27 18:22:28 +03:00
whitequark 60c985bf0b Remove debug print. 2015-09-27 17:55:19 +03:00
Robert Jördens 01416bb0be copyright: claim contributions
These are contributions of >= 30% or >= 20 lines (half-automated).

I hereby resubmit all my previous contributions to the ARTIQ project
under the following terms:

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.

Closes #130

Signed-off-by: Robert Jordens <jordens@gmail.com>
2015-09-06 16:08:57 -06:00
Sebastien Bourdeauducq d621780206 language/scan: mark scan objects 2015-09-05 14:42:19 -06:00
Raghavendra Srinivas b3831d3387 dds: support amplitude tuning on AD9914
Closes #108
2015-09-05 13:15:09 -06:00
Sebastien Bourdeauducq 2921bd6501 pxi6733: minor mediator fixes 2015-09-04 18:53:50 -06:00
Yann Sionneau 63d4907c65 pxi6733: replace print by logger.debug 2015-09-05 01:22:57 +02:00
Yann Sionneau 7dfd11e2f0 pxi6733: try to fix ping method 2015-09-05 00:07:58 +02:00
Sebastien Bourdeauducq 6e5b71a43e coredevice/comm_tcp: disable socket timeout after connect
Reads may block indefinitely.
2015-09-03 09:59:24 -06:00
whitequark 1437fff17b language.core.int64: implement __{,i,r}truediv__. 2015-09-02 17:55:48 -06:00
whitequark 867a0689ad transforms.Inferencer: narrow range() element type. 2015-09-02 17:55:48 -06:00
whitequark b971cc8cdf compiler.{iodelay,transforms.iodelay_estimator}: implement. 2015-09-02 17:55:48 -06:00
Sebastien Bourdeauducq 136d44d9db gui/moninj: display comments 2015-09-01 14:25:20 -06:00
Sebastien Bourdeauducq 6dba0e94c5 gui/moninj: wrap DDS frequency 2015-09-01 13:26:49 -06:00
Sebastien Bourdeauducq a059ebf36a tools/get_experiment: do not autodetect experiments starting with _ 2015-09-01 13:21:03 -06:00
whitequark 3af54f5ffc test.coredevice.rtio: simplify. 2015-09-01 08:38:53 -06:00
whitequark 995245b786 compiler.embedding: default RPC return annotation is -> TNone. 2015-09-01 08:38:38 -06:00
whitequark c9d8fd837e test.coredevice.rtio: update for new compiler. 2015-08-31 23:34:28 -06:00
whitequark 156779007a LLVMIRGenerator: implement quoting of lists. 2015-08-31 23:33:33 -06:00
whitequark 956c1985b1 ARTIQIRGenerator: evaluate SubscriptT index in non-assignment context. 2015-08-31 23:33:04 -06:00
whitequark 2df8b946f9 Factor out the code to pretty-print diagnostics. 2015-08-31 22:52:39 -06:00
whitequark b03efbc94d compiler.embedding: maintain correct column numbers in debug info. 2015-08-31 22:18:49 -06:00
whitequark 3ca5967cea LLVMIRGenerator: don't map sret LLVM argument to any ARTIQ arguments. 2015-08-31 14:02:02 -06:00
whitequark 5e0ec3a6ea ARTIQIRGenerator: fix keyword/optional argument codegen in calls. 2015-08-31 13:42:36 -06:00
whitequark 501ba912c2 Implement {delay,now,at}{,_mu} and {mu,seconds}_to_{seconds,mu}. 2015-08-31 09:59:33 -06:00
whitequark 5151adb9a8 compiler.targets: correctly pass CPU features to LLVM. 2015-08-30 16:56:58 -05:00
whitequark b263a55b1a compiler.testbench.perf_embedding: implement. 2015-08-30 12:23:16 -05:00
whitequark 2124ff9e91 Fix tests. 2015-08-28 05:28:58 -05:00
whitequark cbd903a9dc compiler.embedding: add tests for quote serialization. 2015-08-28 05:24:57 -05:00
whitequark 37811f690b ARTIQIRGenerator: support comparisons against None. 2015-08-28 05:14:52 -05:00
whitequark bcba86de7e compiler.embedding: handle errors during initial kernel call. 2015-08-28 05:14:06 -05:00
whitequark b35051cb08 compiler.embedding: handle calls into lambdas (poorly). 2015-08-28 05:13:38 -05:00
whitequark 5916c10b24 ARTIQException: replace ARTIQ library path with <artiq> in tracebacks. 2015-08-28 04:55:46 -05:00
whitequark 72823cf521 test.{coredevice,coredevice_vs_host} → test.coredevice.{rtio,portability}. 2015-08-28 03:53:43 -05:00
whitequark c621b1f275 compiler: handle language.core.int during embedding. 2015-08-28 03:24:15 -05:00
Sebastien Bourdeauducq a36a50ba0d comm_tcp: add connect timeout 2015-08-28 16:23:23 +08:00
whitequark 83ebb999c8 transforms.Inferencer: improve attribute unification diagnostic. 2015-08-28 03:23:15 -05:00
whitequark 98bb570aec log.c: fix off-by-one error. 2015-08-28 03:06:40 -05:00
whitequark 9fd25a1cc4 LLVMIRGenerator: fix syscall emission. 2015-08-28 03:03:12 -05:00
whitequark 6a29775bf0 compiler.types.Type: more useful __str__. 2015-08-28 02:53:12 -05:00
whitequark ac92aabce1 Fix default argument fiasco. 2015-08-28 02:50:40 -05:00
whitequark 6b8ef8c490 artiq_run: use "artiq_run_" as user code module prefix, not "file_import_". 2015-08-28 02:22:59 -05:00
whitequark edf33f1643 compiler.targets: dump module signature with ARTIQ_DUMP_SIG=1. 2015-08-28 02:22:35 -05:00
whitequark 677cc69643 compiler.embedding: actually use qualified name when embedding methods.
Previous commit 6b55e3b only did this for embedded types.
2015-08-28 02:22:16 -05:00
whitequark 9605e8215f coredevice.ttl: update for new int semantics. 2015-08-28 02:11:26 -05:00
whitequark 9936768603 ARTIQIRGenerator: fix non-nullary method calls. 2015-08-28 02:11:05 -05:00
whitequark ed236eb7f2 artiq_run: pretty-print diagnostics. 2015-08-28 01:54:51 -05:00
whitequark d473d58b41 artiq_{compile,run}: adapt to new compiler. 2015-08-28 01:43:46 -05:00
whitequark 6b55e3bd80 compiler.embedding: use qualified name when embedding methods. 2015-08-28 01:14:19 -05:00
whitequark 13e612c11b Fix tests. 2015-08-28 00:51:31 -05:00
whitequark 7c1abb25ec compiler.embedding: test all diagnostics.
Also, unify and improve diagnostic messages.
2015-08-28 00:47:28 -05:00
whitequark d80be482fc Allow clearing core device log buffer.
This is useful to get a fresh environment, such as when
running tests that print to log buffer.
2015-08-28 00:37:46 -05:00
Sebastien Bourdeauducq c7d9bb7edd Merge branch 'master' of github.com:m-labs/artiq 2015-08-28 10:00:16 +08:00
Sebastien Bourdeauducq ebfd8c937c language/environment: fix set_* with parent 2015-08-28 10:00:04 +08:00
whitequark c21387dc09 compiler.embedding: support calling methods marked as @kernel. 2015-08-27 19:46:50 -05:00
whitequark d0fd61866f compiler.types: print fields of instance types. 2015-08-27 17:25:01 -05:00
whitequark 9791cbba4d compiler.embedding: use typedtree hash to iterate inference to fixpoint. 2015-08-27 17:04:28 -05:00
whitequark a3284f8978 compiler.types: fix module paths in __repr__. 2015-08-27 15:46:36 -05:00
whitequark 84e32db622 LLVMIRGenerator: handle self-referential class types. 2015-08-27 15:40:46 -05:00
whitequark 71ebe1778d LLVMIRGenerator: remove debug print. 2015-08-27 15:40:15 -05:00
Yann Sionneau 4a16ea111c worker, scheduler: fix unit tests on Windows 2015-08-27 18:23:26 +02:00
whitequark f7c8625f61 compiler.embedding: support calling methods via RPC as well. 2015-08-27 05:56:46 -05:00
whitequark c62b16d5e1 compiler.embedding: support RPC functions as host attribute values. 2015-08-27 05:53:18 -05:00
whitequark 04bd2421ad compiler.embedding: dedent kernel functions before parsing. 2015-08-27 05:44:56 -05:00
whitequark cb225269ff Allow accessing attributes of embedded host objects. 2015-08-27 05:01:04 -05:00
Yann Sionneau 7db0498a9a artiq_flash: dont prepend the runtime file with mezzanine board directory if using -d 2015-08-27 11:02:06 +02:00
Sebastien Bourdeauducq 90ce54d8d5 gateware/dds/monitor: support onehot selection, strip reset 2015-08-27 15:54:01 +08:00
Sebastien Bourdeauducq 0fe0f4d433 dds: fix phase computation. Closes #79. 2015-08-27 11:09:33 +08:00
Sebastien Bourdeauducq 1991b3c910 coredevice/TTLClockGen: fix attribute init 2015-08-27 09:48:11 +08:00
Yann Sionneau 977df7013d py2llvm: skip test_is_prime unit test on Windows
see http://irclog.whitequark.org/m-labs/2015-08-26#13821771;
2015-08-26 14:50:52 +02:00
Sebastien Bourdeauducq 8aec02dfcf Merge branch 'master' of github.com:m-labs/artiq 2015-08-26 20:43:12 +08:00
Sebastien Bourdeauducq 79ca0d50fa gui,environment: default step to 1.0 2015-08-26 20:43:00 +08:00
Yann Sionneau 92390cfbe6 py2llvm: allow the unit test to run on Windows 2015-08-26 11:12:48 +02:00
whitequark 422208a0e9 Fix copy-paste error. 2015-08-25 22:05:34 -07:00
whitequark 9b9fa1ab7c Allow embedding and RPC sending host objects. 2015-08-25 21:56:01 -07:00
Joe Britton b790fb093d add ping() to novatech driver 2015-08-26 12:05:10 +08:00
Sebastien Bourdeauducq d5f2f5c062 gui: fix spinbox bounds 2015-08-25 00:56:19 +08:00
Sebastien Bourdeauducq e043179120 language,gui: support ndecimals in scan and number arguments 2015-08-25 00:39:16 +08:00
Sebastien Bourdeauducq 718de9888b gui: disable parameter selection 2015-08-25 00:38:03 +08:00
Sebastien Bourdeauducq 1c96f258b1 gui: show server in window title 2015-08-25 00:37:49 +08:00
Sebastien Bourdeauducq 1ad8e65e42 language/environment: support parents 2015-08-25 00:03:36 +08:00
Sebastien Bourdeauducq bb228b00ef gui,language,master: argument groups 2015-08-24 23:46:54 +08:00
Sebastien Bourdeauducq 7d4d92ec06 gui/explorer: use QTreeWidget for argument editor 2015-08-24 22:59:56 +08:00
Sebastien Bourdeauducq 84b07607ad gui: do not attempt moninj on windows 2015-08-24 20:20:33 +08:00
whitequark 526d7c4e46 Fix a typo. 2015-08-22 14:01:55 -07:00
whitequark a557445e05 LocalAccessValidator: assume variables with "$" in name are internal.
Internal variables are assumed to be scoped correctly
(including not being accessed uninitialized).

This was changed from "." because artiq.compiler.embedding uses
"." in module prefix of function names.
2015-08-22 13:56:17 -07:00
whitequark 0e26cfb66e LocalAccessValidator: relax restrictions to accept def f(); def g(). 2015-08-22 13:31:09 -07:00
whitequark b39e76ae28 Remove debug print. 2015-08-22 12:22:26 -07:00
Yann Sionneau 34771ade67 artiq_flash.sh: fix runtime programming and allow usage of -d . -r 2015-08-22 15:28:55 +02:00
Sebastien Bourdeauducq 284e3ddb2b gui/scan: enforce min <= max 2015-08-22 21:05:24 +08:00
Sebastien Bourdeauducq 21a28a13c9 gui/explorer: less verbose error dialogs 2015-08-22 21:05:05 +08:00
Sebastien Bourdeauducq 42e87c060e protocols/pyon: use better object for empty builtins 2015-08-22 21:04:44 +08:00
Sebastien Bourdeauducq 72616f6f29 language: document HasEnvironment.dbs 2015-08-22 21:04:23 +08:00
Sebastien Bourdeauducq d38f1e6796 ad9xxx: fix gpio signal length 2015-08-22 13:12:30 +08:00
Sebastien Bourdeauducq 094fc1cfd1 qc2: DDS selection is active low 2015-08-22 11:49:38 +08:00
Sebastien Bourdeauducq 7f613d17d1 Merge branch 'master' of github.com:m-labs/artiq 2015-08-21 17:51:30 +08:00
Sebastien Bourdeauducq ac7e080c48 typo 2015-08-21 17:51:11 +08:00
Yann Sionneau 5fc5d0b672 artiq_flash: replace wrong wording 'carrier' with 'mezzanine' 2015-08-21 09:38:15 +02:00
Sebastien Bourdeauducq ac5dd0a7e5 doc: scans 2015-08-21 13:32:53 +08:00
Sebastien Bourdeauducq a8575fe2ac typo 2015-08-21 13:32:26 +08:00
Yann Sionneau 646721d3e9 artiq_flash: add missing semicolons 2015-08-20 18:28:00 +02:00
Yann Sionneau df7489ff61 travis/conda: add automated builds for kc705 nist_qc2 subtarget 2015-08-20 16:31:48 +02:00
whitequark 27a697920a LLVMIRGenerator: use sret when returning large structures. 2015-08-19 15:06:03 -07:00
whitequark 673512f356 coredevice.core: fix imports. 2015-08-19 12:37:31 -07:00
whitequark afc3f36104 ARTIQIRGenerator: fix polymorphic print on closures. 2015-08-19 12:37:22 -07:00
whitequark 53b4d87647 LLVMIRGenerator: attach debug metadata to all emitted LLVM instructions. 2015-08-19 12:18:20 -07:00
Yann Sionneau da1398b183 pxi6733: fix crash when samples are all the same
When samples are all the same, min = max, which PyDAQmx does not like.
This avoids the following crash reported by Kathie:

C:\Users\rabi\artiq\artiq\frontend [master]> python .\artiq_rpctool.py ::1 3256
call load_sample_values 100000 'np.array([0.0,0.0],dtype=float)'
Traceback (most recent call last):
  File ".\artiq_rpctool.py", line 112, in <module>
    main()
  File ".\artiq_rpctool.py", line 107, in main
    call_method(remote, args.method, args.args)
  File ".\artiq_rpctool.py", line 79, in call_method
    ret = method(*[eval(arg) for arg in args])
  File "C:\Users\rabi\AppData\Local\Continuum\Anaconda3\lib\site-packages\artiq-
0.0+dev-py3.4.egg\artiq\protocols\pc_rpc.py", line 142, in proxy
    return self.__do_rpc(name, args, kwargs)
  File "C:\Users\rabi\AppData\Local\Continuum\Anaconda3\lib\site-packages\artiq-
0.0+dev-py3.4.egg\artiq\protocols\pc_rpc.py", line 134, in __do_rpc
    return self.__do_action(obj)
  File "C:\Users\rabi\AppData\Local\Continuum\Anaconda3\lib\site-packages\artiq-
0.0+dev-py3.4.egg\artiq\protocols\pc_rpc.py", line 128, in __do_action
    raise RemoteError(obj["message"])
artiq.protocols.pc_rpc.RemoteError: Traceback (most recent call last):
  File "C:\Users\rabi\AppData\Local\Continuum\Anaconda3\lib\site-packages\artiq-
0.0+dev-py3.4.egg\artiq\protocols\pc_rpc.py", line 476, in _handle_connection_cr

    ret = method(*obj["args"], **obj["kwargs"])
  File "C:\Users\rabi\AppData\Local\Continuum\Anaconda3\lib\site-packages\artiq-
0.0+dev-py3.4.egg\artiq\devices\pxi6733\driver.py", line 117, in load_sample_val
ues
    byref(num_samps_written), None)
  File "<string>", line 3, in WriteAnalogF64
  File "<string>", line 2, in function
  File "C:\Users\rabi\AppData\Local\Continuum\Anaconda3\lib\site-packages\pydaqm
x-1.3.1-py3.4.egg\PyDAQmx\DAQmxFunctions.py", line 28, in mafunction
    raise DAQError(error,errBuff.value.decode("utf-8"), f.__name__)
PyDAQmx.DAQmxFunctions.DAQError: Minimum is greater than or equal to the maximum
. Ensure the maximum value is greater than the minimum value. If using a custom
scale, ensure that the scaled maximum is greater than the scaled minimum.
Property: DAQmx_AO_Min
Corresponding Value:  0.0

Property: DAQmx_AO_Max
Corresponding Value:  0.0

Channel Name: Dev1/ao1

Task Name: _unnamedTask<4>

Status Code: -200082
 in function DAQmxWriteAnalogF64
2015-08-19 12:49:33 +02:00
whitequark 51c591f01a Unbreak tests. 2015-08-18 22:44:09 -07:00
whitequark 6c8de9b6d4 Implement methods. 2015-08-18 22:39:22 -07:00
Sebastien Bourdeauducq 9f0ada49e5 doc: environment 2015-08-18 23:30:50 +08:00
Sebastien Bourdeauducq 600e8335f2 influxdb: tag-based schema, better type support 2015-08-18 14:49:23 +08:00
Sebastien Bourdeauducq ed00ca1485 influxdb: do not crash on parameter deletion 2015-08-18 13:35:05 +08:00
Sebastien Bourdeauducq 2ac8c53bbe influxdb: use types 2015-08-18 13:34:42 +08:00
Sebastien Bourdeauducq 2275017651 influxdb: better error reporting 2015-08-18 13:34:15 +08:00
Sebastien Bourdeauducq 66b5ca99d8 influxdb: better filtering 2015-08-18 09:59:48 +08:00
Sebastien Bourdeauducq c625f2e7c9 ttl: minor docstring cleanup 2015-08-17 23:50:24 +08:00
Sebastien Bourdeauducq c71d207e90 core/break_realtime: only increase now 2015-08-17 23:41:21 +08:00
Sebastien Bourdeauducq 278adf193d test/pc_rpc: use builtin_terminate 2015-08-17 23:17:13 +08:00
Sebastien Bourdeauducq e7d495cf2c gui/tools: better detection of scalar types 2015-08-17 23:14:18 +08:00
Sebastien Bourdeauducq 21b170ed32 pc_rpc/Server: show builtin terminate in method list 2015-08-17 23:03:43 +08:00
Sebastien Bourdeauducq 2410ef79e5 gui: display numpy scalars in parameters 2015-08-17 23:03:18 +08:00
Sebastien Bourdeauducq 324cafae3d rpctool: use pprint 2015-08-17 15:45:08 +08:00
Sebastien Bourdeauducq abbf5eb059 gui: minor cleanup 2015-08-17 15:44:54 +08:00
Sebastien Bourdeauducq fd3fefec52 add InfluxDB bridge 2015-08-17 15:44:40 +08:00
whitequark 94a2d5f5fa Implement class attribute access through instances. 2015-08-15 11:07:54 -04:00
whitequark 00efc8c636 Implement class definitions and class attribute access. 2015-08-15 09:45:16 -04:00
Sebastien Bourdeauducq dee844510c comm_tcp: enable TCP keepalive on host side as well 2015-08-15 16:03:00 +08:00
Sebastien Bourdeauducq 0be0b199c1 gui: save/restore state of pyqtgraph plots (closes #98) 2015-08-15 15:29:41 +08:00
Sebastien Bourdeauducq 34a9c8c12d artiq_run: add dummy pause method (closes #100) 2015-08-15 09:16:00 +08:00
Yann Sionneau 966d0ee3f2 pxi6733: fix verification of the number of buffered sample values 2015-08-14 10:36:03 +02:00
Sebastien Bourdeauducq f073dfaee5 ttl: add input/output doc 2015-08-13 12:20:12 +08:00
Sebastien Bourdeauducq 998db5121b pc_rpc: id_parameters -> description 2015-08-11 23:29:52 +08:00
Sebastien Bourdeauducq a6ab066c87 ctlmgr: support immediate controller retry 2015-08-11 23:22:36 +08:00
whitequark fd3c8a2830 language.core: remove {int,round}64, implement int with device semantics. 2015-08-11 12:57:17 +03:00
whitequark 786fde827a Unbreak tests. 2015-08-11 00:41:31 +03:00
whitequark 200330a808 Remove parts of py2llvm that are implemented in the new compiler. 2015-08-10 20:36:39 +03:00
whitequark 62e6f8a03d compiler.embedding.Stitcher: refactor. 2015-08-10 20:26:07 +03:00
whitequark 46476516ba ARTIQException: tell linecache where to look for runtime sources.
Runtime sources can appear in the backtrace when
artiq_raise_from_c is used.
2015-08-10 20:26:07 +03:00
whitequark c72267ecf5 Implement syscalls for the new compiler. 2015-08-10 20:26:06 +03:00
whitequark 435559fe50 Allow type annotations on remotely called functions. 2015-08-10 17:48:35 +03:00
whitequark b28a874274 Inferencer: range() does not accept a float argument. 2015-08-10 17:06:55 +03:00
Sebastien Bourdeauducq 06badd1dc1 scheduler: refactor, fix pipeline hazards 2015-08-10 21:58:11 +08:00
whitequark f53a5ff202 Remove syscall builtin. 2015-08-10 16:44:29 +03:00
whitequark 261515dfe5 compiler.targets.OR1KTarget: fix typo. 2015-08-10 15:47:44 +03:00
whitequark 75532d10aa Display full core device backtraces. 2015-08-10 15:12:22 +03:00
whitequark c63ec70c53 LLVMIRGenerator: emit debug information. 2015-08-10 15:11:52 +03:00
Sebastien Bourdeauducq b700f591f1 protocols/pc_rpc: add missing import 2015-08-10 20:07:39 +08:00
Sebastien Bourdeauducq 52de6311a4 test/scheduler: add repo_msg 2015-08-10 20:07:24 +08:00
whitequark 4f02f6e667 compiler.types: make all hashable. 2015-08-10 13:15:42 +03:00
whitequark 8f510a4407 compiler.ir.Function: add loc field. 2015-08-10 13:14:52 +03:00
whitequark 22570afbda LLVMIRGenerator: allocate less. 2015-08-10 09:12:34 +03:00
whitequark dfc91a35f2 ARTIQIRGenerator.polymorphic_print: str([x]) uses repr(x), not str(x). 2015-08-09 20:27:04 +03:00
whitequark f7b64db8f4 LLVMIRGenerator: fixup phis on expansion of ARTIQ instructions. 2015-08-09 20:24:16 +03:00
whitequark d4270cf66e Implement receiving data from RPCs. 2015-08-09 20:17:00 +03:00
whitequark 02b1543c63 Implement receiving exceptions from RPCs. 2015-08-09 16:16:41 +03:00
whitequark 8b7d38d203 Add ARTIQ_DUMP_ASSEMBLY. 2015-08-09 15:47:29 +03:00
Sebastien Bourdeauducq 54b11a392a ctlmgr: graceful controller termination 2015-08-09 20:41:11 +08:00
Sebastien Bourdeauducq 4b195663f6 pc_rpc/Server: add built-in terminate 2015-08-09 20:40:15 +08:00
whitequark 9c5ca2ae29 LLVMIRGenerator: add target data layout to LLVM modules. 2015-08-09 14:39:21 +03:00
Sebastien Bourdeauducq a21049d779 ctlmgr: exponential backoff 2015-08-09 18:28:56 +08:00
Sebastien Bourdeauducq 3f68d0ba8f ctlmgr: ping controllers 2015-08-09 17:30:46 +08:00
Sebastien Bourdeauducq 479175870f pdq2/driver: implement ping 2015-08-09 17:30:01 +08:00
whitequark 153592f1cc Naming. 2015-08-09 02:25:58 +03:00
whitequark b26af5df60 Implement sending RPCs. 2015-08-09 02:17:19 +03:00
whitequark 22457bc19c Ensure uwtable is added to all generated functions. 2015-08-08 21:48:21 +03:00
whitequark 13ad9b5d08 Allow to dump ARTIQ/LLVM IR for stitched code. 2015-08-08 21:47:20 +03:00
whitequark ee3f35c608 Improve error message on passing an argument twice. 2015-08-08 21:06:13 +03:00
Sebastien Bourdeauducq f81b2eba43 master: better repo scan error handling 2015-08-08 23:36:12 +08:00
Sebastien Bourdeauducq 400b414885 master,client: support scanning specific repo revisions 2015-08-08 23:23:25 +08:00
Sebastien Bourdeauducq 671a3f1833 doc: precision about dds batch time 2015-08-08 23:05:00 +08:00
whitequark bdcf7f100b ARTIQIRGenerator: add semantic locs to all other implicitly raised exceptions. 2015-08-08 16:26:53 +03:00
Sebastien Bourdeauducq 0a6fcd9fa0 Revert "comm_generic: cleanup"
This reverts commit be55487d2d.
2015-08-08 21:24:23 +08:00
whitequark acd8d6355f transforms.ARTIQIRGenerator: IndexError loc should point to "[". 2015-08-08 16:18:57 +03:00
whitequark 96c770190c Add column marker to ARTIQ exception traceback. 2015-08-08 16:09:47 +03:00
whitequark 27d2390fed Add zero-cost exception support to runtime and host. 2015-08-08 16:01:31 +03:00
whitequark 4efae2b67d Formatting. 2015-08-08 13:48:25 +03:00
whitequark ecdebc0b8a session.c: refactor. 2015-08-08 13:21:43 +03:00
Sebastien Bourdeauducq 1818e8173b client: log display support 2015-08-08 18:02:42 +08:00
Sebastien Bourdeauducq c80f0fa07a master: delete head repository checkout on exit 2015-08-08 11:44:19 +08:00
Sebastien Bourdeauducq 42010fcd4b gui: regenerate argument setter when modified from repository 2015-08-08 11:38:07 +08:00
Sebastien Bourdeauducq 585bb236f8 master: add ddb/pdb args 2015-08-08 11:13:36 +08:00
Sebastien Bourdeauducq 54d85efc2a master,gui: show Git commit messages in schedule 2015-08-08 11:08:04 +08:00
whitequark d6ab567242 coredevice.comm_*: refactor. 2015-08-07 16:44:16 +03:00
Sebastien Bourdeauducq be55487d2d comm_generic: cleanup 2015-08-07 21:12:00 +08:00
whitequark acc97a74f0 Fix compiler.module. 2015-08-07 14:21:53 +03:00
whitequark a7633f75c7 Show origin of expansion in diagnostics for synthesized code. 2015-08-07 13:56:18 +03:00
whitequark 50448ef554 Add support for referring to host values in embedded functions. 2015-08-07 13:24:01 +03:00
whitequark 353f454a29 Add basic support for embedded functions with new compiler. 2015-08-07 11:44:49 +03:00
Sebastien Bourdeauducq 7ed8fe57fa Git support 2015-08-07 15:51:56 +08:00
whitequark b5cf1e395d runtime: avoid race condition when running kernel.
Also, don't bother passing kernel name: entry point is already
recorded in DT_INIT when the kernel is linked.
2015-08-07 08:51:33 +03:00
whitequark 1a969aa9e4 compiler.transforms.inferencer: accept and ignore @kernel decorator. 2015-08-07 07:54:35 +03:00
Sebastien Bourdeauducq 968760d48f gui: save geometry of main window 2015-08-06 22:27:46 +08:00
Sebastien Bourdeauducq e078dabd3c tools/TaskObject: do not suppress exceptions raised by terminating task 2015-08-06 22:14:49 +08:00
Sebastien Bourdeauducq 9261254653 language/environment: support non-stored results 2015-08-06 18:43:27 +08:00
Sebastien Bourdeauducq 59a29ae04b language/environment: remove attr_rtresult
This function has the typical side effect of clearing the result. When happening in build(), this caused minor trouble when using pipelined scheduling (no result displayed at all until run() proceeds).
2015-08-06 18:23:09 +08:00
Sebastien Bourdeauducq fd795724f2 gui: better display of None 2015-08-06 18:03:05 +08:00
Sebastien Bourdeauducq 263ff86e66 gui: support X axis, fit, error bars in XY plot 2015-08-06 18:02:40 +08:00
Sebastien Bourdeauducq 7180552d24 gui: support setting histogram X axis 2015-08-06 15:34:58 +08:00
whitequark 7562d39750 compiler.module: split off inferencing from Module.__init__. 2015-08-06 08:25:53 +03:00
whitequark ca52b2fdd0 compiler.transforms.ARTIQIRGenerator: fix typo. 2015-08-06 08:25:53 +03:00
Sebastien Bourdeauducq cddb5b9ae4 gui: save explorer state 2015-08-05 13:35:28 +08:00
Sebastien Bourdeauducq c8db83b11f gui: add verbosity args for debugging 2015-08-05 11:41:43 +08:00
whitequark 4a8e397a77 Fold llvmlite patches into m-labs/llvmlite repository. 2015-08-05 03:49:01 +03:00
whitequark ad7cbc4394 Rename artiq_coreconfig → artiq_coretool; add log subcommand. 2015-08-02 16:40:58 +03:00
whitequark 8d0222c297 Rename artiq_coreconfig → artiq_coretool; add log subcommand. 2015-08-02 16:40:43 +03:00
whitequark 62fdc75d2d Integrate libdyld and libunwind.
It is currently possible to run the idle experiment, and it
can raise and catch exceptions, but exceptions are not yet
propagated across RPC boundaries.
2015-08-02 15:43:03 +03:00
whitequark aae2923c4c runtime: add lognonl{,_va} functions.
The kernels have print(), which prints aggregates (such as
arrays) piece-by-piece, and newlines would interfere.
2015-08-02 06:33:12 +03:00
Sebastien Bourdeauducq b2f720da67 gui: better state error handling
Remains limited by issue pyqtgraph/pyqtgraph#204
2015-08-01 19:52:13 +08:00
Sebastien Bourdeauducq 8ad88438c7 gui: save display state 2015-08-01 19:37:16 +08:00
Sebastien Bourdeauducq a64766a10d protocols/FlatFileDB: remove unneeded default_data 2015-08-01 16:49:05 +08:00
Sebastien Bourdeauducq 00cae1c23a gui: save dock area state 2015-08-01 16:48:44 +08:00
Sebastien Bourdeauducq 9e24b56099 gui: add state manager 2015-08-01 16:48:27 +08:00
whitequark e8943a008c Rename compiler/{targets/__init__.py → targets.py}. 2015-07-30 10:35:04 +03:00
whitequark 1e3911ed39 Use try..finally in compiler.targets.Target.link. 2015-07-30 10:33:54 +03:00
whitequark b0185f3917 Add profiling to the performance testbench. 2015-07-29 22:23:22 +03:00
whitequark d7f9af4bb5 Fix accidentally quadratic code in compiler.ir.Function._add_name. 2015-07-29 21:36:31 +03:00
whitequark 6d8d0ff3f5 Update performance testbench to include time spent in ARTIQ. 2015-07-29 21:28:07 +03:00
whitequark 3b5d3e2b1a Add a performance measurement testbench. 2015-07-29 21:17:52 +03:00
whitequark e8c107925c Implement shared object linking. 2015-07-29 20:35:16 +03:00
Sebastien Bourdeauducq 6b98f867de import DDS phase modes at the top level 2015-07-29 23:32:33 +08:00
Sebastien Bourdeauducq 86fef7b53b master: do not scan experiments starting with '_' 2015-07-29 23:29:07 +08:00
Sebastien Bourdeauducq a8c13cb7de gui: fix NumberEntry min/max 2015-07-29 23:28:34 +08:00
Sebastien Bourdeauducq 1d34c06d79 rtio: detect collision errors 2015-07-29 19:43:35 +08:00
Sebastien Bourdeauducq b548d50a2f test/coredevice: use ttl_out for PulseRate (loop is less available) 2015-07-29 19:42:43 +08:00
whitequark 2cd25f85bf Rename artiq.compiler.testbench.{module → signature}. 2015-07-29 14:32:34 +03:00
whitequark 3378dd57b8 Fold llvmlite patches into m-labs/llvmlite repository. 2015-07-29 13:54:00 +03:00
whitequark fd46d8b11e Merge branch 'master' into new-py2llvm 2015-07-29 12:52:19 +03:00
Sebastien Bourdeauducq 90368415a6 ttl: remove timestamp function
The general idea is that functions that work with absolute timestamps exist only in machine units versions, to help prevent floating point losses of precision. Time differences should be computed in machine units and then converted, e.g. mu_to_seconds(t2-t1).

This function would have had problems after ~50 days of running the device.
2015-07-29 11:11:16 +08:00
Robert Jördens 2640a57af3 test/coredevice: let output() settle longer 2015-07-28 16:20:05 -06:00
Robert Jördens 5f5227f01f ttl: add timestamp() 2015-07-28 16:20:05 -06:00
Robert Jördens e95b66f114 ttl: remove spurious _mu 2015-07-28 16:20:05 -06:00
Robert Jördens fb339d294e serdes_s6: no need to reset 2015-07-28 12:54:31 -06:00
Robert Jördens 9ac5bc52d4 rtio: add spartan6 serdes, 4x and 8x 2015-07-27 21:01:15 -06:00
whitequark 2939d4f0f3 Add tests for finally clause and reraising. 2015-07-27 12:36:21 +03:00
whitequark a83e7e2248 Add tests for exceptional control flow. 2015-07-27 10:22:28 +03:00
whitequark 90be44c596 Add tests for non-exceptional control flow across finally. 2015-07-27 10:13:22 +03:00
whitequark 7c77dd317a Implement __artiq_personality. 2015-07-27 09:10:20 +03:00
Sebastien Bourdeauducq b1d58bd4c8 rtio: fix replace/sequence_error when fine_ts_width > 0 2015-07-27 12:22:35 +08:00
Sebastien Bourdeauducq 959b7a7b46 rtio: resetless -> reset_less 2015-07-27 11:46:56 +08:00
Sebastien Bourdeauducq fe6a5c42df rtio: remove unused clk_freq argument 2015-07-27 10:57:15 +08:00
Sebastien Bourdeauducq 5b50f5fe05 rtio/ttl_serdes_7series: use recommended OSERDES T configuration 2015-07-27 10:50:50 +08:00
whitequark 47f13bf921 Always load the personality library in JIT testbench, if available. 2015-07-27 04:44:40 +03:00
whitequark 14c7b15785 Add a test harness for exceptions.
The libunwind.h is duplicated here so that it would be possible
to test the Python parts without pulling in misoc.
2015-07-27 04:18:12 +03:00
whitequark 7903889082 Merge branch 'master' into new-py2llvm 2015-07-27 03:29:00 +03:00
Sebastien Bourdeauducq f68d5cbd73 rtio: forward rtio domain reset to rio and rio_phy domains 2015-07-27 01:52:47 +08:00
Sebastien Bourdeauducq 940aa815dd rtio/ttl_serdes: cleanup/rewrite 2015-07-27 01:44:52 +08:00
Yann Sionneau d90dff4ef1 rtio: add SERDES TTL (WIP) 2015-07-26 17:40:34 +08:00
Sebastien Bourdeauducq d14a31f443 artiq_run: fix ELF running 2015-07-25 15:52:38 +08:00
Sebastien Bourdeauducq 696bceb406 gui: feedback on run deletion 2015-07-25 15:08:27 +08:00
Sebastien Bourdeauducq 61f45f505b gui/short_format: show string values 2015-07-25 14:37:19 +08:00
Sebastien Bourdeauducq 05dd11a60d protocols/pyon: support numpy scalars (closes #53) 2015-07-25 12:28:56 +08:00
Sebastien Bourdeauducq 8bc1dd9f9c test/serialization: remove redundant test since Quantity was removed 2015-07-25 12:23:43 +08:00
Sebastien Bourdeauducq 9fe65769f2 gui: add console description 2015-07-25 12:01:47 +08:00
whitequark 692791f0bd Make sure a landing pad returns {i8*} to soothe LLVM codegen. 2015-07-25 07:01:25 +03:00
Sebastien Bourdeauducq 5979f85c1c gui: use monospace font in log 2015-07-25 11:38:26 +08:00
whitequark ece52062f2 Implement code generation for exception handling. 2015-07-25 05:37:37 +03:00
Sebastien Bourdeauducq ef8b09d9bc gui: add console 2015-07-25 00:36:16 +08:00
Sebastien Bourdeauducq 928775f6ac gui: fix default LinearScan/RandomScan 2015-07-25 00:35:21 +08:00
Sebastien Bourdeauducq 5b62b2452d gui: get spinboxes to behave 2015-07-25 00:32:18 +08:00
Sebastien Bourdeauducq 7d81520827 protocols/pc_rpc: improve docstrings 2015-07-25 00:30:36 +08:00
whitequark c581af29d7 Merge remote-tracking branch 'origin/master' into new-py2llvm 2015-07-23 21:36:17 +03:00
Robert Jördens 6b0e120d75 wavesynth/Synthesizer: allow empty data 2015-07-23 12:34:54 -06:00
Sebastien Bourdeauducq 5b1165f413 gui: log autoscroll 2015-07-24 00:11:05 +08:00
Sebastien Bourdeauducq 1a4028ca92 gui: better log lookandfeel 2015-07-24 00:08:14 +08:00
Sebastien Bourdeauducq 3a06e22b67 master: handle logging while scanning repository 2015-07-23 23:06:15 +08:00
Sebastien Bourdeauducq aa2acb9137 gui: auto resize of table columns 2015-07-23 22:36:52 +08:00
whitequark 20f5f8217d Make sure tests pass both on ARTIQ Python and CPython.
In some cases (the `is` operator and wraparound arithmetics)
the tests will only pass on ARTIQ Python. These are conditionally
commented out.
2015-07-23 08:09:25 +03:00
whitequark 65121b437f Rework internal logic of slices. 2015-07-23 07:57:49 +03:00
whitequark 2b9ac344d8 Verify LLVM module in compiler.textbench.jit. 2015-07-23 07:57:35 +03:00
whitequark 9db199cad9 Handle closure effects appropriately in LocalAccessValidator. 2015-07-23 03:15:36 +03:00
whitequark acb8810e62 Add tests for lambdas and functions. 2015-07-23 03:07:30 +03:00
whitequark f8c2709943 Make division by zero raise an exception. 2015-07-23 01:26:50 +03:00
whitequark 4cfe4ea148 Make negative and too-far shifts have defined behavior. 2015-07-23 00:58:41 +03:00
whitequark bf60978c7b Add bool coercion support. 2015-07-22 19:15:54 +03:00
whitequark de181e0cb9 Revert "Require boolean operand in BoolOp."
This reverts commit 5d518dcec6.
2015-07-22 18:35:18 +03:00
whitequark 51aef980a0 Revert "Require boolean condition in If, While, IfExp."
This reverts commit e21829ce74.
2015-07-22 18:35:14 +03:00
whitequark f2a6110cc4 Add integration tests for every language construct. 2015-07-22 18:34:52 +03:00
Sebastien Bourdeauducq 0b10f72c2b Merge branch 'master' of https://github.com/m-labs/artiq 2015-07-22 10:44:49 +08:00
whitequark dff4ce7e3a Return LLVM IR module from LLVMIRGenerator.process. 2015-07-22 04:13:04 +03:00
whitequark 986d9d944f Add artiq.compiler.testbench.run. 2015-07-22 04:10:15 +03:00
whitequark 86e006830c Use the correct printf format for 64-bit integers. 2015-07-22 03:05:15 +03:00
whitequark 236d5b886a Add support for Assert. 2015-07-22 02:58:59 +03:00
Sebastien Bourdeauducq 073e09ed36 gui: common format for results/params 2015-07-22 06:01:09 +08:00
Sebastien Bourdeauducq bd2bd68a54 gui,client: do now show arguments 2015-07-22 05:47:14 +08:00
Sebastien Bourdeauducq 8402f1cdcd master,gui: basic log support 2015-07-22 05:13:50 +08:00
Sebastien Bourdeauducq e247fb5415 gui/tools: add ListSyncModel 2015-07-22 05:13:46 +08:00
whitequark 5d518dcec6 Require boolean operand in BoolOp. 2015-07-21 23:46:22 +03:00
whitequark e21829ce74 Require boolean condition in If, While, IfExp. 2015-07-21 23:39:22 +03:00
whitequark 1e851adf4f Add a polymorphic print function. 2015-07-21 22:32:10 +03:00
Sebastien Bourdeauducq 179ca36d09 gui: basic scan support 2015-07-21 21:24:24 +02:00
whitequark 0e7294db8d Null-terminate all string literals. 2015-07-21 19:57:18 +03:00
whitequark 9d20080624 Use internal linkage for interior Python global values. 2015-07-21 19:55:43 +03:00
whitequark 8c9d9cb5a1 Make compiler.testbench.llvmgen emit a main() function. 2015-07-21 19:48:44 +03:00
whitequark 7301a76d68 Mark string constants as unnamed_addr.
As a result they will be merged when possible.
2015-07-21 17:10:31 +03:00
whitequark 49ece6a12a Add support for string literals. 2015-07-21 14:27:48 +03:00
whitequark 64d2604aa8 Tolerate assertion failures in tests when looking for diagnostics. 2015-07-21 14:12:27 +03:00
whitequark ec9d40b04f Add LLVM IR generation for function calls. 2015-07-21 13:45:27 +03:00
whitequark e299801c0f LocalAccessValidator: fix validation of closures with no outer variables. 2015-07-21 13:16:18 +03:00
whitequark 6f11fa6bb1 Add conversion to LLVM IR (except handling of exception handling). 2015-07-21 04:55:01 +03:00
Robert Jördens 47191eda91 dds monitor: relax timing (for pipistrello) 2015-07-19 21:36:51 -06:00
Sebastien Bourdeauducq 1a0dc499dd gui: exit when main window is closed 2015-07-19 18:27:41 +02:00
Sebastien Bourdeauducq bb05ed268e language/scan: add argument processor 2015-07-19 16:47:35 +02:00
whitequark c6cd318f19 Fix artiq.compiler.ir.BasicBlock.__repr__. 2015-07-19 16:32:33 +03:00
Sebastien Bourdeauducq 937ca853aa language/scan: fix random scan, add explicit scan, specify what runs on host/device 2015-07-19 11:36:52 +02:00
whitequark 7e3f91c0bb Teach closures to LocalAccessValidator. 2015-07-19 12:08:26 +03:00
whitequark 2c010b10ee Remove UnaryOp ARTIQ IR instruction; rename BinaryOp to Arith.
Everything it can express can also be expressed via Arith.
2015-07-19 11:51:53 +03:00
whitequark ac491fae47 Add LocalAccessValidator. 2015-07-19 11:44:51 +03:00
whitequark adf18bb042 Fix assignment to tuples in IRGenerator. 2015-07-19 10:31:11 +03:00
whitequark 4bd83fb43d Use ".k" instead of "k" for the finalizer continuation variable.
The dot signifies that this is an internal variable and it
does not need to be tracked as if it was a user-defined one.
2015-07-19 10:30:42 +03:00
whitequark 8eedb3bc44 Fix IRGenerator.append(loc=...). 2015-07-19 10:29:33 +03:00
whitequark f212ec0263 Add a trivial dead code elimination transform.
Its purpose is to sweep up basic blocks with no predecessors,
which are annoying to handle explicitly elsewhere.
2015-07-19 10:29:14 +03:00
whitequark 603d49dffa Add a dominator analysis. 2015-07-18 20:48:52 +03:00
whitequark 224a93fde3 Make compiler.ir.BasicBlock.predecessors much faster. 2015-07-18 20:48:11 +03:00
Sebastien Bourdeauducq deaa492566 language: add scan iterators 2015-07-18 19:26:41 +02:00
Sebastien Bourdeauducq 9e29a4650a environment,gui: more argument types 2015-07-18 16:25:08 +02:00
Sebastien Bourdeauducq 5f95a302e6 environment: improve docstrings 2015-07-18 16:24:37 +02:00
Sebastien Bourdeauducq 657f198cdc gui: display '---' on failed number result 2015-07-18 10:26:47 +02:00
whitequark 47cbadb564 Revert "Ensure bindings are created in correct order for e.g. "x, y = y, x"."
This reverts commit bcd1832203.

The bindings are actually created in lexical order, as evident
in e.g. "x = lambda: x". The safety provided by this check should
be instead provided by a local access analysis.
2015-07-18 09:54:11 +03:00
whitequark 8e1cc8d985 Add an explicit ARTIQ IR instruction to create a closure. 2015-07-18 09:27:34 +03:00
whitequark 5ad02d5282 Fix ARTIQ IR generation for variables declared global. 2015-07-18 09:10:41 +03:00
whitequark 21eafefd28 Fix inference for globals. 2015-07-18 08:13:49 +03:00
whitequark 0d66bdfbf8 Fix For miscompilation. 2015-07-18 07:58:43 +03:00
whitequark dde2e67c3f Add source locations to ARTIQ IR instructions. 2015-07-18 07:49:42 +03:00
whitequark 255ffec483 Generate more compact ARTIQ IR for else-less if. 2015-07-18 07:49:27 +03:00
Sebastien Bourdeauducq dd7920f0c3 gui: basic argument support 2015-07-17 21:28:46 +02:00
whitequark e96bc3c36c Add complete IR generator. 2015-07-17 21:29:06 +03:00
Sebastien Bourdeauducq 2576036ba1 language,worker: preserve order of arguments 2015-07-17 19:32:38 +02:00
Sebastien Bourdeauducq 6b36d93cc2 master,client: support repository rescan 2015-07-17 18:55:48 +02:00
Sebastien Bourdeauducq 4907991ea3 sync_struct: docstring cleanup 2015-07-17 18:53:43 +02:00
whitequark f28549a11a Add builtins.is_exception. 2015-07-17 16:05:02 +03:00
whitequark 3b661b2b65 Fix environment corruption by ExceptHandler without a name. 2015-07-17 16:04:46 +03:00
Sebastien Bourdeauducq 39c6bc940c coreconfig: use new database API (closes #75) 2015-07-17 10:49:55 +02:00
Sebastien Bourdeauducq 9649e1837a gui: basic plotting 2015-07-16 20:52:53 +02:00
Sebastien Bourdeauducq a83473a19a sync_struct: clarify notify_cb doc 2015-07-16 20:52:27 +02:00
whitequark 2dcb744519 Fix inference for default arguments. 2015-07-16 17:26:31 +03:00
whitequark f8e51e07d5 Add zero/one accessors to TBool, TInt, TFloat. 2015-07-16 16:03:24 +03:00
whitequark bcd1832203 Ensure bindings are created in correct order for e.g. "x, y = y, x". 2015-07-16 15:59:59 +03:00
whitequark 5756cfcebc Correctly infer type of list(iterable). 2015-07-16 15:35:46 +03:00
whitequark 6cda67c0c6 Ensure type comparisons see through type variables. 2015-07-16 14:59:05 +03:00
whitequark c1e7a82e97 Add IndexError and ValueError builtins. 2015-07-16 14:58:40 +03:00
whitequark b58fa9067d Add attributes to TRange.
Also make attributes an OrderedDict, for stable order during
LLVM IR generation.
2015-07-16 14:57:44 +03:00
whitequark a6950bf11d Move builtin.is_{builtin,exn_constructor} to types. 2015-07-16 14:56:39 +03:00
whitequark 5000f87dfc Rename the field of CoerceT from expr to value. 2015-07-16 14:55:23 +03:00
whitequark e9416f4707 Convert Slice into typed SliceT. 2015-07-16 14:54:04 +03:00
whitequark 53fb03d1bf Restrict comprehensions to single for and no if clauses. 2015-07-16 14:52:41 +03:00
whitequark 227f97f8a3 Add inference for Index, Slice and ExtSlice. 2015-07-16 04:22:41 +03:00
Sebastien Bourdeauducq 66940ea815 rtio: disable NOP suppression after reset and underflow 2015-07-15 20:54:55 +02:00
Sebastien Bourdeauducq f836465585 coredevice: environment -> runtime 2015-07-15 11:20:41 +02:00
Sebastien Bourdeauducq 84de2fb28b expid: experiment -> class_name 2015-07-15 11:08:12 +02:00
Sebastien Bourdeauducq 255aba9247 test/worker: remove stale handler 2015-07-15 11:07:48 +02:00
Sebastien Bourdeauducq 7de56666e3 worker,environment: support scanning of arguments with no default 2015-07-15 10:59:48 +02:00
Sebastien Bourdeauducq 9ed4dcd7d1 repository: load experiments in worker, list arguments 2015-07-15 10:54:44 +02:00
whitequark c724e024ce Fix inference for multiple-target assignments. 2015-07-15 06:33:44 +03:00
Sebastien Bourdeauducq 7770ab64f2 worker: factor timeouts 2015-07-14 23:43:08 +02:00
whitequark 9ff9f85f19 Add accessors to instructions. 2015-07-14 22:18:38 +03:00
Sebastien Bourdeauducq e20b260117 gui: fix selections 2015-07-14 19:08:08 +02:00
Sebastien Bourdeauducq 21e8596d8c gui: RT results overview 2015-07-14 17:31:18 +02:00
Sebastien Bourdeauducq 55cd41444e gui/DictSync: better support of nested structs 2015-07-14 17:30:55 +02:00
Sebastien Bourdeauducq 1edeb5a13f sync_struct: docstring cleanup 2015-07-14 17:30:21 +02:00
Sebastien Bourdeauducq 84e7f55df3 gui: fix DDS class recognition 2015-07-14 17:28:26 +02:00
Yann Sionneau 6e3fd591f7 gui: remove unnecessary QSplitter 2015-07-14 16:59:04 +02:00
whitequark bdcb24108b Add basic IR generator. 2015-07-14 08:56:51 +03:00
whitequark f417ef31a4 Make binop coercion look through CoerceT nodes.
This fixes inference for "x = 1 + 1" after int monomorphization.
2015-07-14 06:42:09 +03:00
Yann Sionneau 90ba9f7bbf llvmlite: rename our package to be llvmlite_or1k to avoid collision with llvmlite package needed for numba 2015-07-14 01:01:56 +02:00
Sebastien Bourdeauducq 56fc7a484c TTLInOut: timestamp -> timestamp_mu 2015-07-13 23:21:29 +02:00
Sebastien Bourdeauducq 820ff2da2c test/coredevice: WA for lack of constant string support in compiler (see issue #68) 2015-07-13 22:22:26 +02:00
Sebastien Bourdeauducq 32d141f5ac refactor ddb/pdb/rdb 2015-07-13 22:21:32 +02:00
whitequark ebe243f8d9 Add printing of SSA functions. 2015-07-13 21:08:20 +03:00
whitequark dbdd45acc5 Add missing return. 2015-07-13 20:52:55 +03:00
whitequark 7c9afcce85 Fix Python default argument fiasco. 2015-07-13 20:52:48 +03:00
Sebastien Bourdeauducq 8b02b58a77 sync_struct/Notifier: do not pass root param to publish 2015-07-13 17:12:59 +02:00
Sebastien Bourdeauducq 0e92cfe053 artiq_run: remove support for stale watchdog API 2015-07-11 22:26:37 +02:00
whitequark 7c52910dc5 Add a basic SSA IR. 2015-07-11 18:46:37 +03:00
Robert Jördens 80eea4ce6c test: relax test_time_keeps_running
on pipistrello this takes about 200-250ms
2015-07-09 16:30:37 -06:00
Sebastien Bourdeauducq 9d4073ef36 master: remove simple parameter history 2015-07-09 13:54:38 +02:00
Sebastien Bourdeauducq 96a5d73c81 worker: split build stage from prepare 2015-07-09 13:18:12 +02:00
Sebastien Bourdeauducq 34aacd3c5f complete AD9914 support (no programmable modulus, untested) 2015-07-08 17:22:43 +02:00
Yann Sionneau 0109821078 tools: change asyncio_process_wait_timeout to handle cases where process.stdout is None. close #56 2015-07-07 19:30:36 +02:00
Yann Sionneau 2d343dd95d pc_rpc: AsyncioClient __do_rpc coroutine was never yielded from 2015-07-07 19:26:47 +02:00
Sebastien Bourdeauducq f3e5197c14 test/coredevice/test_time_keeps_running: remove unnecessary close_devices, upper bound 2015-07-07 15:48:47 +02:00
Yann Sionneau 706bf2b4b4 pxi6733: allow usage of 2-dimensional arrays. close #66 2015-07-07 15:42:08 +02:00
Sebastien Bourdeauducq 8a33d8c868 never stop RTIO counter 2015-07-07 15:29:38 +02:00
Yann Sionneau df232f5405 lda driver: add error message when no device found 2015-07-07 15:18:28 +02:00
Sebastien Bourdeauducq f9d878119a pxi6733: add mediator 2015-07-05 19:07:57 +02:00
Sebastien Bourdeauducq 2bc8286f3f pdq2/mediator: fix arm 2015-07-05 19:07:31 +02:00