Sebastien Bourdeauducq
101101bbc9
examples/fit_image: cleanup, comment
2016-04-02 22:43:37 +08:00
whitequark
6a34a75b99
conda: require llvmlite-artiq built for LLVM 3.8.
2016-04-01 09:35:28 +00:00
whitequark
df8018f0be
compiler: emit verbose assembly via ARTIQ_DUMP_ASM.
2016-04-01 09:34:51 +00:00
whitequark
d9dd7df3b2
compiler: add analysis passes from TargetMachine.
...
This doesn't have any effect right now, but is the right thing to do.
2016-04-01 09:34:36 +00:00
whitequark
10108e6d64
compiler: mark loaded pointers as !dereferenceable.
...
Also, lower the bound for test_pulse_rate_dds, since we generate
better code for it now.
2016-03-31 12:04:38 +00:00
whitequark
2c04979727
compiler: update for LLVM 3.7.
2016-03-31 11:23:47 +00:00
whitequark
b8bd344e54
compiler: use correct data layout.
2016-03-31 11:22:29 +00:00
Robert Jördens
c6516f3c83
doc: conda channel -> label
2016-03-31 10:29:07 +02:00
Robert Jördens
d561681cc1
doc: add note about xcb ( closes #361 )
2016-03-31 10:28:57 +02:00
Sebastien Bourdeauducq
d2d43b53e1
RELEASE_NOTES: 1.0rc2
2016-03-31 16:05:41 +08:00
Sebastien Bourdeauducq
0173031487
test/PulseRateDDS: run more iterations
2016-03-31 16:04:55 +08:00
Sebastien Bourdeauducq
05317a9259
manual: QC2 FMC voltage
2016-03-31 10:47:16 +08:00
Sebastien Bourdeauducq
3c9e4074d5
runtime: fix ddstest help ( #365 )
2016-03-31 10:27:18 +08:00
Sebastien Bourdeauducq
29a76bb02d
influxdb: simplify and document pattern matching. Closes #166
2016-03-31 00:28:28 +08:00
Sebastien Bourdeauducq
deb9a60ca3
gui: setParent(None) before deleteLater() to remove dock appears unnecessary and causes memory corruption on Windows. Closes #362
2016-03-30 11:40:00 +08:00
Sebastien Bourdeauducq
059aa2f83e
gui: do 60114447
properly
2016-03-30 01:47:50 +08:00
Sebastien Bourdeauducq
010c68f0a1
Merge branch 'master' of github.com:m-labs/artiq
2016-03-30 01:45:16 +08:00
Sebastien Bourdeauducq
6011444789
gui: log error and bail out on artiq_gui.pyon write failure ( #360 )
2016-03-30 01:45:00 +08:00
whitequark
8a908a7656
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-03-29 15:19:46 +00:00
whitequark
586022023b
llvm_ir_generator: mark loads as non-null where applicable.
2016-03-29 13:34:37 +00:00
whitequark
330b232672
test: relax lit/embedding/syscall_flags.
...
We currently have broken debug info. In either case, debug info
is irrelevant to this test.
2016-03-29 13:34:37 +00:00
whitequark
f6b391bb4e
compiler: fix ARTIQ_DUMP_ELF.
2016-03-29 13:03:49 +00:00
whitequark
a9489246a4
llvm_ir_generator: don't mark non-constant attribute loads as invariant.
...
Oops.
2016-03-29 13:03:49 +00:00
Sebastien Bourdeauducq
dc2c19f08f
gui/schedule: support terminating all experiments in a pipeline. Closes #262
2016-03-29 17:34:38 +08:00
Sebastien Bourdeauducq
b59283f85e
gui/applets: use a better default size, make minimum size proportional to font
2016-03-29 17:10:37 +08:00
Sebastien Bourdeauducq
b6232aea86
gui: better default layout
2016-03-29 16:59:43 +08:00
Sebastien Bourdeauducq
84d50c4caf
environment,worker_db: mutate datasets from experiments via dedicated method instead of Notifier. Closes #345
2016-03-29 16:26:14 +08:00
Sebastien Bourdeauducq
a545598d4c
style
2016-03-29 16:19:03 +08:00
Sebastien Bourdeauducq
1a513634ff
doc/tutorial: add missing type annotation in LED example. Closes #356
2016-03-29 14:53:52 +08:00
Sebastien Bourdeauducq
3c09577ed0
device/thorlabs_tcube: fix port read
2016-03-29 14:39:55 +08:00
Sebastien Bourdeauducq
50888865e7
doc/dds: fix init timing margin
2016-03-29 12:01:32 +08:00
Sebastien Bourdeauducq
ce57794e7f
doc: fix comment about when and how DDS init should be done. Closes #353
2016-03-29 11:10:53 +08:00
whitequark
3ed852e077
Commit missing parts of 1d8b0d46
.
2016-03-28 21:44:31 +00:00
whitequark
1038f1321f
compiler: allow specifying per-function "fast-math" flags.
...
Fixes #351 .
2016-03-28 21:44:08 +00:00
whitequark
f31249ad1c
Commit missing parts of 6f5332f8
.
2016-03-28 20:28:08 +00:00
whitequark
6f5332f892
compiler: allow flagging syscalls, providing information to optimizer.
...
This also fixes a crash in test_cache introduced in 1d8b0d46
.
2016-03-28 19:56:56 +00:00
Robert Jördens
049bd11bd6
scanwidget: handle min, max, suffix ( closes #352 )
2016-03-28 16:59:49 +02:00
whitequark
1d8b0d46bc
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-03-28 02:52:15 +00:00
whitequark
418f0a5234
compiler: mark loads of kernel constant attributes as load invariant.
...
Also, enable LICM, since it can take advantage of this.
2016-03-28 00:44:32 +00:00
whitequark
507ad96db3
coredevice: add some kernel_constant_attributes specifications.
2016-03-28 00:06:00 +00:00
whitequark
ca7463a054
compiler: do not write back kernel constant attributes.
...
Fixes #322 .
2016-03-28 00:05:57 +00:00
whitequark
f4e6b18690
compiler: implement kernel constant attributes.
...
Part of #322 .
2016-03-27 16:10:07 +00:00
whitequark
42609d057e
test_pulse_rate_dds: tighten upper bound to 400us.
2016-03-27 14:27:32 +00:00
whitequark
f81930ffd6
compiler: run IPSCCP.
...
This doesn't do much, only frees some registers.
2016-03-27 02:00:05 +00:00
whitequark
7213984330
compiler: raise inliner threshold to the equivalent of -O3.
2016-03-27 01:08:13 +00:00
whitequark
e75ad3d1aa
compiler: extract runtime checks into separate cold functions.
...
This reduces register pressure as well as function size, which
favorably affects the inliner.
2016-03-27 01:02:15 +00:00
whitequark
2a210d74fb
test_pulse_rate: tighten upper bound to 1500ns.
2016-03-26 22:45:24 +00:00
whitequark
20ad7629ac
llvm_ir_generator: generate code more amenable to LLVM's GlobalOpt.
...
This exposes almost all embedded methods to inlining, with massive
gains.
2016-03-26 21:35:48 +00:00
whitequark
186a564ba8
compiler: make quoted functions independent of outer environment.
2016-03-26 20:46:45 +00:00
whitequark
f5c720c3ee
compiler: tune the LLVM optimizer pipeline ( fixes #315 ).
2016-03-26 13:20:23 +00:00