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
Robert Jördens
8a9c1d3043
RELEASE_NOTES: pipistrello speed change
2016-03-25 13:24:49 +01:00
Sebastien Bourdeauducq
4c622194c2
doc: update flterm instructions. Closes #346
2016-03-25 20:10:53 +08:00
Sebastien Bourdeauducq
8b00045c20
Merge branch 'master' of github.com:m-labs/artiq
2016-03-25 20:01:18 +08:00
Sebastien Bourdeauducq
3f333a58af
gui/log: split lines correctly
2016-03-25 20:01:02 +08:00
Sebastien Bourdeauducq
5c6e2d7a3a
gui/log: send Qt model notifications correctly
2016-03-25 20:00:52 +08:00
Robert Jördens
5b536d7c67
i2c: fix variable name ( closes #347 )
2016-03-25 12:51:55 +01:00
Sebastien Bourdeauducq
67ab8dbfa5
protocols/pc_rpc: short_exc_info
2016-03-25 19:43:34 +08:00
Sebastien Bourdeauducq
ca4e6e03fa
master/worker: use only first line in short_exc_info
2016-03-25 19:43:12 +08:00
Sebastien Bourdeauducq
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
Sebastien Bourdeauducq
b190581102
Revert "runtime/i2c: more conservative timings"
...
This reverts commit 799c2c77c4
.
2016-03-25 14:55:40 +08:00
Sebastien Bourdeauducq
e9ca125976
protocols/remote_exec: fix call
2016-03-25 14:55:29 +08:00
Robert Jördens
590bedbd1e
examples: add fit_image
2016-03-23 20:05:52 +01:00
Sebastien Bourdeauducq
3c624c777a
examples: add remote_exec_controller
2016-03-24 00:50:27 +08:00
Sebastien Bourdeauducq
e6809397a3
protocols: add remote_exec
2016-03-24 00:49:02 +08:00
Sebastien Bourdeauducq
0d7d584f08
master/worker_db: add controller_aux_target device_db entry type
2016-03-24 00:48:12 +08:00
Sebastien Bourdeauducq
befbab5571
gui: add image applet
2016-03-23 17:04:22 +08:00
Sebastien Bourdeauducq
168113ce55
protocols/pc_rpc: support dynamic target creation
2016-03-23 15:13:56 +08:00
Sebastien Bourdeauducq
120db8ba08
protocols/pipe_ipc: raise line length limit
2016-03-23 15:12:29 +08:00
Sebastien Bourdeauducq
799c2c77c4
runtime/i2c: more conservative timings
2016-03-23 12:54:19 +08:00
Sebastien Bourdeauducq
2bb4ad189a
test: fix controller simulations
2016-03-22 22:29:41 +08:00
Sebastien Bourdeauducq
abac5284a9
Merge branch 'master' of github.com:m-labs/artiq
2016-03-22 21:56:26 +08:00
Sebastien Bourdeauducq
d9e9b66494
depend on asyncserial
2016-03-22 21:56:09 +08:00
Sebastien Bourdeauducq
b5441fd107
devices/novatech409b: convert to asyncserial
2016-03-22 21:55:58 +08:00
Sebastien Bourdeauducq
7657b67ea6
devices/thorlabs_tcube: cleanup, convert to asyncserial
2016-03-22 21:55:37 +08:00
Sebastien Bourdeauducq
2cbe47e26f
protocols/pc_rpc: document coroutine methods, support locking
2016-03-22 21:55:06 +08:00
Robert Jördens
8f54a1e619
pipistrello: sys_clk 83 -> 75 MHz
...
This should close #341 once migen generates stable output.
2016-03-21 13:47:32 +01:00
Robert Jördens
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
Robert Jördens
8e41d50145
doc: add pipistrello adapter explicitly ( closes : #339 )
2016-03-20 19:57:07 +01:00
Sebastien Bourdeauducq
1c9b8a1d52
test/coredevice/portability/pulses: compute time differences in MU
2016-03-20 15:29:31 +08:00
Sebastien Bourdeauducq
ffe4d81f3e
runtime/net_server: restore connection close behavior when len<0
2016-03-19 22:46:42 +08:00
Sebastien Bourdeauducq
fc558bcd27
analyzer: adapt analyzer_poll to new network code
2016-03-19 22:08:08 +08:00
Sebastien Bourdeauducq
900b0cc629
analyzer: make byte_count 64-bit
2016-03-19 19:40:23 +08:00