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
whitequark
ccb1d54beb
compiler: tune the LLVM optimizer pipeline ( fixes #315 ).
2016-04-14 18:04:42 +08:00
whitequark
8fa4281470
compiler: significantly increase readability of LLVM and ARTIQ IRs.
2016-04-14 18:04:42 +08:00
whitequark
e534941383
compiler: quote functions directly instead of going through a local.
2016-04-14 18:04:22 +08:00
whitequark
f72e050af5
transforms.llvm_ir_generator: extract class function attributes.
...
This should give LLVM more visibility.
2016-04-14 18:04:22 +08:00
whitequark
00facbbc78
compiler: get rid of the GetConstructor opcode.
2016-04-14 18:04:22 +08:00
349ccfb633
gateware/nist_qc2: substitute FMC
2016-04-14 01:04:19 +08:00
dhslichter
08e742ce68
Updated qc2 pinouts for SPI and 2x DDS bus, update docs
2016-04-13 18:39:50 +08:00
90876e0143
examples: move pdq2 frame selects away from TTLInOut ttl3
2016-04-12 19:41:16 +08:00
6552aa4c28
test: set inputs to input(), should close #383
2016-04-12 18:17:39 +08:00
936190033e
gui/models: handle Qt calling DictSyncTreeSepModel.index with garbage inputs. Closes #388
2016-04-11 20:12:07 +08:00
e7d448efd3
dashboard/moninj: use ephemeral UDP port
2016-04-11 18:58:22 +08:00
a6c17d3e40
dashboard/moninj: fix windows problems
2016-04-11 18:58:13 +08:00
e4833a33fc
dashboard/moninj: use thread instead of asyncio UDP ( #39 )
2016-04-11 18:57:21 +08:00
e2def34ede
ipython notebook example: datasets subgroup
2016-04-08 12:21:43 +08:00
f3d8ac301c
applets/simple: fix error msg, style
2016-04-08 01:27:22 +08:00
787ed65d00
plot_xy: fix errorbar plot
2016-04-08 01:26:42 +08:00
ca24e00400
plot_xy: un-randomize the fit plot
2016-04-08 01:26:23 +08:00
1d3c0166da
dashboard: allow more than 99 scan points
2016-04-08 01:26:05 +08:00
eea7cdcf89
worker_impl: style
2016-04-05 18:03:55 +08:00
0b32d9946a
worker: trust that h5py encodes strings
2016-04-05 18:03:55 +08:00
690eb8c304
worker: trust that h5py maps all types as we want
2016-04-05 18:03:55 +08:00
4ba07e01d1
test_h5types: also test ndarrays
2016-04-05 18:03:55 +08:00
a52b8fa3da
test_h5types: use in-memory files
2016-04-05 18:03:55 +08:00
e1f3968a4a
worker, hdf5: move datasets to subgroup
2016-04-05 18:03:04 +08:00
4f589a7277
artiq_flash: clear error message when bin directory is absent
2016-04-05 16:09:53 +08:00
cff01274e9
ship examples with package
2016-04-05 14:36:31 +08:00
eba90c8782
client: add --async option to scan-repository, recommend usage in git post-receive
2016-04-04 22:18:29 +08:00
b095c94919
master/worker_impl: use ParentDatasetDB in examine mode. Closes #368
2016-04-02 23:08:14 +08:00
2f404bae41
master: always expose full set of worker handlers ( #368 )
2016-04-02 23:08:14 +08:00
08549bc3c5
gui/experiment: fix recompute argument error handling
2016-04-02 23:08:14 +08:00
whitequark
3e6e8c6b51
Revert "test: XFAIL lit/devirtualization/*."
...
This reverts commit 63121e4faf
.
2016-04-02 09:54:35 +00:00
whitequark
63121e4faf
test: XFAIL lit/devirtualization/*.
2016-03-31 09:17:34 +00:00
b761a824ee
runtime: fix ddstest help ( #365 )
2016-03-31 10:27:41 +08:00
06e626024b
gui: setParent(None) before deleteLater() to remove dock appears unnecessary and causes memory corruption on Windows. Closes #362
2016-03-30 11:39:36 +08:00
72da5cc0de
gui: do 60114447
properly
2016-03-30 01:48:25 +08:00
b64cea0a79
gui: log error and bail out on artiq_gui.pyon write failure ( #360 )
2016-03-30 01:45:37 +08:00
7cff4977b4
gui/applets: use a better default size, make minimum size proportional to font
2016-03-29 17:11:04 +08:00
ddf6ec433e
gui: better default layout
2016-03-29 17:11:04 +08:00
ac0f62628d
environment,worker_db: mutate datasets from experiments via dedicated method instead of Notifier. Closes #345
2016-03-29 17:11:04 +08:00
e6da8f778e
doc/dds: fix init timing margin
2016-03-29 12:01:22 +08:00
74b71e5f64
doc: fix comment about when and how DDS init should be done. Closes #353
2016-03-29 11:11:13 +08:00
b04b5c8239
scanwidget: handle min, max, suffix ( closes #352 )
2016-03-29 00:55:27 +08:00
4e0e8341ca
gui/log: split lines correctly
2016-03-25 20:05:13 +08:00
69a531edf4
gui/log: send Qt model notifications correctly
2016-03-25 20:05:08 +08:00
74b3c47614
protocols/pc_rpc: short_exc_info
2016-03-25 20:04:53 +08:00
7bdec1b93b
master/worker: use only first line in short_exc_info
2016-03-25 20:03:27 +08:00
5d5a4433a7
gui: redesign table/trees to avoid slow and buggy qt/pyqt autosize. Closes #182 . Closes #187 .
2016-03-25 20:03:22 +08:00
358d2a6ba3
i2c: fix variable name ( closes #347 )
2016-03-25 12:52:18 +01:00
bbef353057
protocols/pipe_ipc: raise line length limit
2016-03-23 15:14:24 +08:00
8f54a1e619
pipistrello: sys_clk 83 -> 75 MHz
...
This should close #341 once migen generates stable output.
2016-03-21 13:47:32 +01:00
1c9b8a1d52
test/coredevice/portability/pulses: compute time differences in MU
2016-03-20 15:29:31 +08:00
ffe4d81f3e
runtime/net_server: restore connection close behavior when len<0
2016-03-19 22:46:42 +08:00
fc558bcd27
analyzer: adapt analyzer_poll to new network code
2016-03-19 22:08:08 +08:00
900b0cc629
analyzer: make byte_count 64-bit
2016-03-19 19:40:23 +08:00
4d22db1aff
coredevice/exceptions/ClockFailure: improve description
2016-03-19 18:01:00 +08:00
ff697a47ce
test/coredevice/cache: fix exception import
2016-03-19 18:00:10 +08:00
641831e0e1
dds: improve error reporting
2016-03-19 12:15:19 +08:00
d0af58d122
coredevice: only import common RTIO exceptions
2016-03-19 12:11:47 +08:00
whitequark
891e3cf1fe
Commit missing parts of 501de306
.
2016-03-18 22:48:26 +00:00
whitequark
501de30626
Report watchdog expiration and RTIO clock failure as exceptions.
...
Fixes #316 .
2016-03-18 22:29:53 +00:00
80b13b1263
scanwidget: cleanup interactive behavior (48a0208)
2016-03-18 21:53:06 +01:00
d60eaa7b44
scanwidget: fix div by zero rubberband width ( closes #335 ) (4b8fe1e)
2016-03-18 09:04:35 +01:00
223657fa63
gui/experiments: improve resilience to broken/outdated artiq_gui.pyon
2016-03-18 13:04:51 +08:00
whitequark
dbc0a89903
dds.c: turn off batch mode before an underflow can be raised.
...
Fixes #334 .
2016-03-18 05:00:05 +00:00
whitequark
f4ab507ab2
Bring back target print function.
2016-03-18 04:42:06 +00:00
whitequark
ac5061c205
validators.escape: track region of arguments.
...
Fixes #232 .
2016-03-18 03:08:14 +00:00
whitequark
9492464ed9
Commit missing parts of 78fa5be
.
2016-03-18 02:15:36 +00:00
whitequark
78fa5becea
compiler: refuse to embed a function from another core device.
...
Fixes #332 .
2016-03-18 02:01:14 +00:00
whitequark
82ab21dbd5
transforms.inferencer: better message for BinOpT unification.
...
Fixes #311 .
2016-03-18 01:22:01 +00:00
f816c7d8d8
scanwidget: add shift-lmb and ctrl-lmb drag modes (1d78c78)
2016-03-18 00:07:28 +01:00
33da27a749
experiment/gui: support reverse scan ( closes #246 )
2016-03-17 22:37:17 +01:00
2859382e11
gui: display repository scanning status and revision. Closes #274
2016-03-18 00:40:54 +08:00
4bf0db32be
master: publish repository status
2016-03-18 00:40:17 +08:00
fb8a5486e3
gui/moninj: compute size of widgets based on font sizes
2016-03-17 18:38:27 +08:00
f73934112b
gui/moninj: flow layout
2016-03-17 18:18:31 +08:00
633bbc457d
gui/schedule: work around Qt bug when first row is inserted with due date. Closes #329
2016-03-17 13:20:29 +08:00
61223fb053
scanwidget: min 3 ticks (f3b4cb2)
2016-03-17 00:30:13 +01:00
a4e916de73
scanwidget: scroll and code simplification (0cca4a3)
2016-03-16 23:47:28 +01:00
ec5c2b6699
scanwidget: shortcuts (4a21946)
2016-03-16 23:30:50 +01:00
fb31782b6f
scanwidget: drag modes (9a7fcd4)
2016-03-16 23:05:23 +01:00
5d5ef356f4
scanwidget: just do QWidget (337af80)
2016-03-16 22:08:32 +01:00
a75ee76463
scanwidget: more adaptable sizing (8bc0c10)
2016-03-16 21:25:45 +01:00
11bfe33dd4
scanwidget: painting (3237d2b)
2016-03-16 21:13:14 +01:00
67db5f77cd
scanwidget: lmb axis drag (9e6203c)
2016-03-16 21:11:40 +01:00
d858ad4180
scanwidget: rewrite, pending drawing area (3de1505)
2016-03-16 21:11:40 +01:00
0e1f75ec49
targets/kc705/qc2: hook up HPC backplane
2016-03-16 16:19:56 +08:00
cb8e497ff6
analyzer: fix DDSHandler setup
2016-03-15 22:14:44 +08:00
0076fc4216
analyzer: fix AD9914 FTW decoding
2016-03-15 22:14:21 +08:00
6a9957a2ac
analyzer: fix get_dds_sysclk
2016-03-15 21:47:24 +08:00
9ffaf82877
test/analyzer: check that last message is StoppedMessage
2016-03-15 21:44:56 +08:00
1bbef94061
analyzer: fix byte_count (again)
2016-03-15 20:49:07 +08:00
85ea70a664
analyzer: fix byte_count
2016-03-15 20:33:08 +08:00
62ac4e3c2e
analyzer: fix EOP generation
2016-03-15 20:25:02 +08:00
b5ec979db3
analyzer: drive wishbone cyc signal
2016-03-15 19:46:12 +08:00
a142d403ea
gui: handle better changing MDI area background colors
2016-03-15 18:36:34 +08:00
a172d8b837
logo: use Unix EOLs
2016-03-15 18:35:30 +08:00
e13d424398
analyzer: strip final StoppedMessage for VCD output
2016-03-15 18:33:36 +08:00
8a6873cab2
analyzer: use EOP, flush pipeline on stop
2016-03-15 17:49:59 +08:00
fc60f3504c
scanwidget: wheel event handling cleanup (380634e)
2016-03-14 18:06:18 +01:00
2e73d6c89c
scanwidget: changes as of 1f9ab9b (resize)
2016-03-14 16:53:06 +01:00