Commit Graph

2393 Commits

Author SHA1 Message Date
whitequark
284d726d5e artiq_flash: explicitly pass path within conda env to openocd datarootdir.
By default, openocd searches for scripts in DATAROOTDIR/openocd/scripts.
This of course makes it not relocatable. Conda has a flag to try to
detect and fix such hardcoded paths, but it does not work on openocd
(likely because the .rodata contains an already concatenated path,
which cannot be padded with zeroes from the right).

So, we pass the path explicitly instead.
2016-06-06 15:07:03 -04:00
67b3afd3e7 gui/moninj: reduce logging level of UDP failure 2016-06-04 16:34:07 -04:00
c5c7c269f7 gui/moninj: do not crash when there is no network 2016-06-04 16:30:30 -04:00
8d9c483cd0 explorer: fix directory listing error handling 2016-06-04 10:18:45 -04:00
f571b3e1a1 dds: use fast math for asf computations 2016-06-03 23:34:20 -04:00
36f8aa8d9e gui/entries: remove ScientificSpinbox. Closes #457 2016-06-03 23:33:20 -04:00
dhslichter
3c817be213 dds: fix asf_to_amplitude 2016-06-03 23:26:57 -04:00
404cf3524c gui/entries: remove unneeded parent 2016-06-03 23:26:57 -04:00
ba98ac1dcc examples: run should not return a value 2016-06-03 23:26:57 -04:00
f7eb0a6f22 examples/histograms: convert to mutate_dataset API. Closes #459 2016-05-31 20:24:46 -05:00
eeab7db3d4 applets/plot_xy: use numpy array for default X axis. Closes #458 2016-05-30 22:48:44 -05:00
f537562768 gui: fix explicit scan input validation 2016-05-30 15:45:38 -05:00
b57b1ddc57 language/environment: be more verbose in NumberValue unit/scale documentation (#448) 2016-05-28 13:38:24 -05:00
109aa73a6b gui: fix new() being called with arguments by qt (closes #444) 2016-05-25 23:13:23 +02:00
8d0034e11d rpctool: make readline optional, add to conda dependencies. Closes #442 2016-05-25 11:12:15 -05:00
aa26b13816 language/RandomScan: automatic seed by default 2016-05-23 14:33:32 -07:00
42c84e0c72 coredevice/TCA6424A: convert 'outputs' value to little endian. Closes #437 2016-05-22 06:54:08 -07:00
9db9f4e624 bit2bin: close input file explicitly 2016-05-21 21:50:30 +08:00
dhslichter
dfeff967ba qc2: swap SPI/TTL, all TTL lines are now In+Out compatible 2016-05-19 10:42:19 +08:00
e9a3e5642e flash: tcl-quote paths (c.f. #256) 2016-05-17 09:20:06 +08:00
b81b40d553 flash: use the handle 2016-05-17 09:20:06 +08:00
7bdf373b95 flash: close files (c.f. #256) 2016-05-17 09:20:06 +08:00
whitequark
7de77cfc8f Commit missing parts of 4e5d75295. 2016-05-09 23:57:52 +08:00
whitequark
9196cdc554 compiler: fix quoting of methods (fixes #423). 2016-05-09 23:57:52 +08:00
85ecb900df examples/photon_histogram: delay after count() 2016-05-07 18:33:48 +08:00
18b6718d0c lwip/liteethif: cleanup, drop frames above MTU (#398) 2016-05-07 18:33:48 +08:00
d365ce8de8 examples/photon_histogram: integers 2016-05-07 18:33:48 +08:00
7466a4d9a9 gui/applets: catch duplicate applet UIDs (#430) 2016-05-07 11:47:30 +08:00
2eb67902e8 gui: do not crash if 'recompute all arguments' fails 2016-05-05 00:53:29 +08:00
fa609283d5 worker: use unix time for HDF5 start_time 2016-05-03 21:40:48 +02:00
53cef7e695 worker: run experiment in output directory 2016-05-03 21:02:51 +02:00
7803b68c4d worker_impl: save expid, rid, start_time 2016-05-03 20:53:57 +02:00
5b955e8ce8 worker_db: factor get_output_prefix() 2016-05-03 20:53:54 +02:00
16fdebad8e gateware/nist_qc2: increase DDS bus drive strength. Closes #421 2016-05-03 16:44:14 +08:00
adeb88619c language/environment: update kernel_invariants in setattr_argument and setattr_device 2016-05-03 16:44:11 +08:00
9e14419abc style 2016-05-03 16:43:09 +08:00
f7ba61b47b examples/transport: add slack between experiments/after count() 2016-05-03 10:41:43 +02:00
dcf082e427 Revert "lwip: set MTU to 9000 to support jumbo frames"
This reverts commit dbbd11d798.

Breaks more than it fixes.
2016-04-30 08:23:03 +02:00
06268d182f gui/moninj: sort by channel. Closes #413 2016-04-30 12:31:06 +08:00
b05e3f42e9 lwip: set MTU to 9000 to support jumbo frames 2016-04-30 00:31:17 +08:00
whitequark
88fd5431b5 compiler: make kernel_invariant an instance, not class, property.
Fixes #409.
2016-04-30 00:31:17 +08:00
7844e98b1d doc/environment: datasets readonly in build 2016-04-27 01:43:01 +08:00
whitequark
9b04778f66 embedding: ignore empty lines, like annotations, before kernel functions.
Fixes #363.
2016-04-27 01:37:28 +08:00
whitequark
0f6f684670 compiler: allow RPCing builtin functions.
Fixes #366.
2016-04-27 01:37:28 +08:00
whitequark
8d9a22f8da compiler: don't typecheck RPCs except for return type.
Fixes #260.
2016-04-27 01:36:51 +08:00
whitequark
8a28039b74 coredevice: deserialize int64(width=64) as int(width=64), not host_int.
Fixes #402.
2016-04-22 23:28:01 +08:00
ed17972104 master/experiments: log more details about experiment name conflicts 2016-04-16 21:36:33 +08:00
f962092b38 environment: cleanup docs 2016-04-16 19:38:52 +08:00
9b4a04b307 environment/get_device_db: raise ValueError when device manager not present 2016-04-16 19:38:46 +08:00
398468410f Revert "environment,worker: remove enable_processors"
This reverts commit 08f903b8f4.
2016-04-16 16:49:15 +08:00
08f903b8f4 environment,worker: remove enable_processors 2016-04-16 14:21:23 +08:00
0a259418fb environment: make NumberValue return integers when appropriate. Closes #397 2016-04-16 14:21:22 +08:00
91645ffc24 test/analyzer: clear analyzer buffer after IO init 2016-04-15 01:18:58 +08:00
a2e4f95a00 test_analyzer: loop_out.off() 2016-04-14 22:57:47 +08:00
385e8d98fc test/PulseRateDDS: run more iterations 2016-04-14 19:15:31 +08:00
2086e46598 test_rtio: integer division 2016-04-14 19:14:53 +08:00
a27aa9680e protocols/pyon: minor cleanup 2016-04-14 19:14:38 +08:00
c97cb1d3b9 master/worker_db: style 2016-04-14 19:14:20 +08:00
69f534cc20 gui.models: style 2016-04-14 19:12:07 +08:00
9ceca44dbe applets: style 2016-04-14 18:38:57 +08:00
001f6d6fab test_rtio: scale speed test results to 'event' intervals 2016-04-14 18:19:05 +08:00
3d487d98b7 test_rtio: comments and correction
* add comments what is actually being measured in the two rate tests
* remove spurious factor of two
2016-04-14 18:18:54 +08:00
whitequark
d6510083b7 Commit missing parts of bb064c67a. 2016-04-14 18:14:47 +08:00
whitequark
904379db7e runtime: add kernel-accessible sqrt.
Fixes #382.
2016-04-14 18:14:47 +08:00
whitequark
2248a2eb9e embedding: s/kernel_constant_attributes/kernel_invariants/g
Requested in #359.
2016-04-14 18:14:44 +08:00
whitequark
e6666ce6a9 test_pulse_rate_dds: adjust bounds. 2016-04-14 18:10:41 +08:00
whitequark
c6f946a816 llvm_ir_generator: add fast-math flags to fcmp.
This is allowed in 3.8.
2016-04-14 18:10:30 +08:00
whitequark
d4f1614a23 llvm_ir_generator: change !{→unconditionally_}dereferenceable.
Since LLVM 3.8, !dereferenceable is weaker, so we introduce
!unconditionally_dereferenceable (http://reviews.llvm.org/D18738)
to regain its functionality.
2016-04-14 18:10:17 +08:00
whitequark
75252ca5a4 llvm_ir_generator: fix DICompileUnit.language. 2016-04-14 18:10:17 +08:00
whitequark
89326fb189 compiler: purge generated functions from backtraces. 2016-04-14 18:09:59 +08:00
whitequark
a2f6e81c50 ttl: mark constant attributes for TTL{In,InOut,ClockGen}. 2016-04-14 18:09:59 +08:00
whitequark
702e959033 llvm_ir_generator: add TBAA metadata for @now. 2016-04-14 18:09:59 +08:00
whitequark
f958cba4ed llvm_ir_generator: update debug info emission for LLVM 3.8. 2016-04-14 18:09:36 +08:00
whitequark
7c520aa0c4 coredevice: format backtrace RA as +0xN, not 0xN.
The absolute address is somewhere in the 0x4000000 range; the one
that is displayed is an offset from the shared object base.
2016-04-14 18:09:36 +08:00
whitequark
f26990aa57 compiler: emit verbose assembly via ARTIQ_DUMP_ASM. 2016-04-14 18:09:02 +08:00
whitequark
c89c27e389 compiler: add analysis passes from TargetMachine.
This doesn't have any effect right now, but is the right thing to do.
2016-04-14 18:08:47 +08:00
whitequark
1120c264b1 compiler: mark loaded pointers as !dereferenceable.
Also, lower the bound for test_pulse_rate_dds, since we generate
better code for it now.
2016-04-14 18:08:47 +08:00
whitequark
03b6555d9d compiler: update for LLVM 3.7. 2016-04-14 18:08:28 +08:00
whitequark
932e680f3e compiler: use correct data layout. 2016-04-14 18:07:56 +08:00
whitequark
f59fd8faec llvm_ir_generator: do not use 'coldcc' calling convention.
First, this calling convention doesn't actually exist in OR1K
and trying to use it in Asserts build causes an UNREACHABLE.

Second, I tried to introduce it and it does not appear to produce
any measurable benefit: not only OR1K has a ton of CSRs but also
it is quite hard, if not realistically impossible, to produce
the kind of register pressure that would be relieved by sparing
a few more CSRs for our exception raising function calls, since
temporaries don't have to be preserved before a noreturn call
and spilling over ten registers across an exceptional edge
is not something that the code we care about would do.

Third, it produces measurable drawbacks: it inflates code size
of check:* functions by adding spills. Of course, this could be
alleviated by making __artiq_raise coldcc as well, but what's
the point anyway?
2016-04-14 18:07:35 +08:00
whitequark
e416246e78 llvm_ir_generator: mark loads as non-null where applicable. 2016-04-14 18:07:35 +08:00
whitequark
50ae17649d test: relax lit/embedding/syscall_flags.
We currently have broken debug info. In either case, debug info
is irrelevant to this test.
2016-04-14 18:07:35 +08:00
whitequark
f7603dcb6f compiler: fix ARTIQ_DUMP_ELF. 2016-04-14 18:07:17 +08:00
whitequark
812e79b63d llvm_ir_generator: don't mark non-constant attribute loads as invariant.
Oops.
2016-04-14 18:07:13 +08:00
whitequark
dcb0ffdd03 Commit missing parts of 1d8b0d46. 2016-04-14 18:07:04 +08:00
whitequark
ee7e648cb0 compiler: allow specifying per-function "fast-math" flags.
Fixes #351.
2016-04-14 18:07:04 +08:00
whitequark
5fafcc1341 Commit missing parts of 6f5332f8. 2016-04-14 18:07:04 +08:00
whitequark
f7d4a37df9 compiler: allow flagging syscalls, providing information to optimizer.
This also fixes a crash in test_cache introduced in 1d8b0d46.
2016-04-14 18:06:47 +08:00
whitequark
c6b21652ba compiler: mark FFI functions as ModRef=Ref using TBAA metadata.
Fascinatingly, the fact that you can mark call instructions with
!tbaa metadata is completely undocumented. Regardless, it is true:
a !tbaa metadata for an "immutable" type will cause
AliasAnalysis::getModRefBehavior to return OnlyReadsMemory for that
call site.

Don't bother marking loads with TBAA yet since we already place
!load.invariant on them (which is as good as the TBAA "immutable"
flag) and after that we're limited by lack of !nonnull anyway.

Also, add TBAA analysis passes in our pipeline to actually engage it.
2016-04-14 18:06:47 +08:00
whitequark
0e0f81b509 compiler: mark loads of kernel constant attributes as load invariant.
Also, enable LICM, since it can take advantage of this.
2016-04-14 18:06:47 +08:00
whitequark
081edb27d7 coredevice: add some kernel_constant_attributes specifications. 2016-04-14 18:06:47 +08:00
whitequark
b5fd257a33 compiler: do not write back kernel constant attributes.
Fixes #322.
2016-04-14 18:06:21 +08:00
whitequark
665e59e064 compiler: implement kernel constant attributes.
Part of #322.
2016-04-14 18:06:21 +08:00
whitequark
348e058c6f test_pulse_rate_dds: tighten upper bound to 400us. 2016-04-14 18:06:06 +08:00
whitequark
718d411dd5 compiler: run IPSCCP.
This doesn't do much, only frees some registers.
2016-04-14 18:05:57 +08:00
whitequark
019f528ea6 compiler: raise inliner threshold to the equivalent of -O3. 2016-04-14 18:05:57 +08:00
whitequark
3fa5762c10 compiler: extract runtime checks into separate cold functions.
This reduces register pressure as well as function size, which
favorably affects the inliner.
2016-04-14 18:05:57 +08:00
whitequark
fcf2a73f82 test_pulse_rate: tighten upper bound to 1500ns. 2016-04-14 18:05:31 +08:00
whitequark
92f3dc705f llvm_ir_generator: generate code more amenable to LLVM's GlobalOpt.
This exposes almost all embedded methods to inlining, with massive
gains.
2016-04-14 18:05:10 +08:00
whitequark
f2c92fffea compiler: make quoted functions independent of outer environment. 2016-04-14 18:04:42 +08:00