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
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
whitequark
3ee9834197
compiler: significantly increase readability of LLVM and ARTIQ IRs.
2016-03-26 12:21:02 +00:00
whitequark
8d0566661a
compiler: quote functions directly instead of going through a local.
2016-03-25 22:35:55 +00:00
whitequark
39d23793a4
transforms.llvm_ir_generator: extract class function attributes.
...
This should give LLVM more visibility.
2016-03-25 19:01:39 +00:00
whitequark
39599d4508
compiler: get rid of the GetConstructor opcode.
2016-03-25 19:01:39 +00:00
8a9c1d3043
RELEASE_NOTES: pipistrello speed change
2016-03-25 13:24:49 +01:00
4c622194c2
doc: update flterm instructions. Closes #346
2016-03-25 20:10:53 +08:00
8b00045c20
Merge branch 'master' of github.com:m-labs/artiq
2016-03-25 20:01:18 +08:00
3f333a58af
gui/log: split lines correctly
2016-03-25 20:01:02 +08:00
5c6e2d7a3a
gui/log: send Qt model notifications correctly
2016-03-25 20:00:52 +08:00
5b536d7c67
i2c: fix variable name ( closes #347 )
2016-03-25 12:51:55 +01:00
67ab8dbfa5
protocols/pc_rpc: short_exc_info
2016-03-25 19:43:34 +08:00
ca4e6e03fa
master/worker: use only first line in short_exc_info
2016-03-25 19:43:12 +08:00
bebd89c959
gui: redesign table/trees to avoid slow and buggy qt/pyqt autosize. Closes #182 . Closes #187 .
2016-03-25 18:33:22 +08:00
b190581102
Revert "runtime/i2c: more conservative timings"
...
This reverts commit 799c2c77c4
.
2016-03-25 14:55:40 +08:00
e9ca125976
protocols/remote_exec: fix call
2016-03-25 14:55:29 +08:00
590bedbd1e
examples: add fit_image
2016-03-23 20:05:52 +01:00
3c624c777a
examples: add remote_exec_controller
2016-03-24 00:50:27 +08:00
e6809397a3
protocols: add remote_exec
2016-03-24 00:49:02 +08:00
0d7d584f08
master/worker_db: add controller_aux_target device_db entry type
2016-03-24 00:48:12 +08:00
befbab5571
gui: add image applet
2016-03-23 17:04:22 +08:00
168113ce55
protocols/pc_rpc: support dynamic target creation
2016-03-23 15:13:56 +08:00
120db8ba08
protocols/pipe_ipc: raise line length limit
2016-03-23 15:12:29 +08:00
799c2c77c4
runtime/i2c: more conservative timings
2016-03-23 12:54:19 +08:00
2bb4ad189a
test: fix controller simulations
2016-03-22 22:29:41 +08:00
abac5284a9
Merge branch 'master' of github.com:m-labs/artiq
2016-03-22 21:56:26 +08:00
d9e9b66494
depend on asyncserial
2016-03-22 21:56:09 +08:00
b5441fd107
devices/novatech409b: convert to asyncserial
2016-03-22 21:55:58 +08:00
7657b67ea6
devices/thorlabs_tcube: cleanup, convert to asyncserial
2016-03-22 21:55:37 +08:00
2cbe47e26f
protocols/pc_rpc: document coroutine methods, support locking
2016-03-22 21:55:06 +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
22cd12f721
doc: correctly place the openocd section, link it, add explanation
2016-03-20 20:19:12 +01:00
Joe Britton
d069380f6b
Fix typo. And in build of openocd on Ubuntu the aclocal dependency is provided by automake.
...
adduser requires root
conda installation requires user to build OpenOCD by hand.
2016-03-20 20:18:32 +01:00
8e41d50145
doc: add pipistrello adapter explicitly ( closes : #339 )
2016-03-20 19:57:07 +01:00
1c9b8a1d52
test/coredevice/portability/pulses: compute time differences in MU
2016-03-20 15:29:31 +08:00