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
Sebastien Bourdeauducq
321ba57e84
manual/installing: --toolchain vivado
2016-04-14 01:25:48 +08:00
Sebastien Bourdeauducq
582efe5b91
typo
2016-04-14 01:17:47 +08:00
Sebastien Bourdeauducq
349ccfb633
gateware/nist_qc2: substitute FMC
2016-04-14 01:04:19 +08:00
Sebastien Bourdeauducq
71b9ba6ab7
manual/faq: list HITL TTL connections
2016-04-14 01:04:19 +08:00
Sebastien Bourdeauducq
317e6ea38d
manual/git: commit needed before starting master, refresh. Closes #387
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
Robert Jördens
90876e0143
examples: move pdq2 frame selects away from TTLInOut ttl3
2016-04-12 19:41:16 +08:00
Robert Jördens
6552aa4c28
test: set inputs to input(), should close #383
2016-04-12 18:17:39 +08:00
Sebastien Bourdeauducq
936190033e
gui/models: handle Qt calling DictSyncTreeSepModel.index with garbage inputs. Closes #388
2016-04-11 20:12:07 +08:00
Sebastien Bourdeauducq
e7d448efd3
dashboard/moninj: use ephemeral UDP port
2016-04-11 18:58:22 +08:00
Sebastien Bourdeauducq
a6c17d3e40
dashboard/moninj: fix windows problems
2016-04-11 18:58:13 +08:00
Sebastien Bourdeauducq
e4833a33fc
dashboard/moninj: use thread instead of asyncio UDP ( #39 )
2016-04-11 18:57:21 +08:00
Robert Jördens
2617b9db82
installing.rst: typo
2016-04-10 21:01:15 +08:00
Robert Jördens
a82f042337
installing.rst: triple colons
2016-04-10 11:21:32 +08:00
Robert Jördens
64d1bca6c1
installing.rst: update, clarify
2016-04-10 00:03:36 +08:00
Robert Jördens
c858d44c73
README: rewrite, summarizing more aspects of ARTIQ
2016-04-10 00:00:20 +08:00
Robert Jördens
a48f44eb39
introduction.rst: update license
2016-04-10 00:00:12 +08:00
Robert Jördens
dee574084e
README: note about doc/manual/introduction.rst
2016-04-09 23:59:50 +08:00
Robert Jördens
e2def34ede
ipython notebook example: datasets subgroup
2016-04-08 12:21:43 +08:00
Robert Jördens
f3d8ac301c
applets/simple: fix error msg, style
2016-04-08 01:27:22 +08:00
Robert Jördens
787ed65d00
plot_xy: fix errorbar plot
2016-04-08 01:26:42 +08:00
Robert Jördens
ca24e00400
plot_xy: un-randomize the fit plot
2016-04-08 01:26:23 +08:00
Robert Jördens
1d3c0166da
dashboard: allow more than 99 scan points
2016-04-08 01:26:05 +08:00
whitequark
5fef95b073
doc: use proper CMAKE_BUILD_TYPE for LLVM.
...
Fixes #380 .
2016-04-06 22:08:10 +00:00
Sebastien Bourdeauducq
2b516d21ae
manual/developing_a_ndsp: update to new bind interface
2016-04-06 19:14:13 +08:00
Robert Jördens
d6339e49ca
RELEASE_NOTES: spelling
2016-04-05 18:10:10 +08:00
Robert Jördens
eea7cdcf89
worker_impl: style
2016-04-05 18:03:55 +08:00
Robert Jördens
7dab0433be
RELEASE_NOTES: HDF5 encoding
2016-04-05 18:03:55 +08:00
Robert Jördens
0b32d9946a
worker: trust that h5py encodes strings
2016-04-05 18:03:55 +08:00
Robert Jördens
690eb8c304
worker: trust that h5py maps all types as we want
2016-04-05 18:03:55 +08:00
Robert Jördens
4ba07e01d1
test_h5types: also test ndarrays
2016-04-05 18:03:55 +08:00
Robert Jördens
a52b8fa3da
test_h5types: use in-memory files
2016-04-05 18:03:55 +08:00