Commit Graph

2561 Commits

Author SHA1 Message Date
Sebastien Bourdeauducq bcfb01bc7e gui: set application name in Gnome task switcher
Non-hacky suggestions welcome.
2016-05-06 17:23:44 +08:00
Sebastien Bourdeauducq 597d7c389e dashboard: support reloading arguments from HDF5 2016-05-05 00:51:30 +08:00
Sebastien Bourdeauducq c50555e11c worker: use unix time for HDF5 start_time 2016-05-03 21:29:54 +08:00
Robert Jördens 7976127f6c examples/transport: add slack between experiments/after count() 2016-05-03 10:42:12 +02:00
Sebastien Bourdeauducq 90e678a442 gateware/nist_qc2: increase DDS bus drive strength. Closes #421 2016-05-03 16:29:38 +08:00
Sebastien Bourdeauducq 136dc7039e language/environment: update kernel_invariants in setattr_argument and setattr_device 2016-05-03 16:27:42 +08:00
Sebastien Bourdeauducq 5efa5f5265 style 2016-05-03 16:24:01 +08:00
Robert Jördens ff721ff136 Revert "lwip: set MTU to 9000 to support jumbo frames"
This reverts commit dbbd11d798.

Breaks more than it fixes.
2016-04-30 08:20:47 +02:00
Sebastien Bourdeauducq de73bd1998 gui/moninj: sort by channel. Closes #413 2016-04-30 10:46:56 +08:00
Sebastien Bourdeauducq dbbd11d798 lwip: set MTU to 9000 to support jumbo frames 2016-04-30 00:30:24 +08:00
Sebastien Bourdeauducq fc4effb91d update logo 2016-04-30 00:30:24 +08:00
Sebastien Bourdeauducq 9707981c07 targets/kc705: fix default -H option 2016-04-30 00:30:24 +08:00
whitequark f7d83e9bdf compiler: make kernel_invariant an instance, not class, property.
Fixes #409.
2016-04-29 13:06:11 +00:00
Sebastien Bourdeauducq 434ad67268 doc/environment: datasets readonly in build 2016-04-27 01:43:55 +08:00
whitequark aa0882a06f embedding: ignore empty lines, like annotations, before kernel functions.
Fixes #363.
2016-04-26 02:25:08 +00:00
whitequark a88425b66b compiler: allow RPCing builtin functions.
Fixes #366.
2016-04-26 01:31:17 +00:00
whitequark 1464bae6b7 compiler: don't typecheck RPCs except for return type.
Fixes #260.
2016-04-26 01:12:36 +00:00
Sebastien Bourdeauducq 063639662e applets: also accept '/' as dataset path separator for completion 2016-04-25 00:04:40 +08:00
Sebastien Bourdeauducq e91961fbae applets: dataset name completion 2016-04-24 23:51:55 +08:00
Robert Jördens ec5eca0111 pyon: no float128 on windows 2016-04-24 15:44:48 +02:00
Robert Jördens aee4859982 influxdb: fix numpy scalar bool, uints, str
* use types from the numpy hierarchy because e.g. np.issubtype(np.uint64, int) == False
* streamline influxdb formatting
* tested with influxdb 0.12
2016-04-24 15:15:16 +02:00
Robert Jördens a0d2dab594 test/pyon: arrays and complex types 2016-04-24 14:27:24 +02:00
Robert Jördens 22946a0c2f pyon: complex types 2016-04-24 14:24:41 +02:00
Robert Jördens 86681dccff influxdb: use queue insertion time 2016-04-24 13:11:46 +02:00
Robert Jördens aadcf0fe98 influxdb: consistency is gone 2016-04-24 12:38:47 +02:00
Robert Jördens 6c5382d43f influxdb: ms precision
* better compression
* we don't timestamp the change any better (network, queue, http)
2016-04-24 12:36:00 +02:00
Robert Jördens 06b8666a53 influxdb: just strip() response 2016-04-24 12:35:30 +02:00
Sebastien Bourdeauducq 3cfef4264b frontend: upper-case positional arguments in help messages 2016-04-22 16:33:44 +08:00
Robert Jördens 1dde911618 browser: dump tree header, fix root path setting 2016-04-21 21:14:22 +02:00
whitequark 5cccdcaad6 coredevice: deserialize int64(width=64) as int(width=64), not host_int.
Fixes #402.
2016-04-21 18:59:54 +00:00
Robert Jördens 9a01d38439 browser: cleanup late select, align options with variables 2016-04-20 19:16:19 +02:00
Robert Jördens 3578ba17a3 browser: zommable file icons 2016-04-20 18:11:04 +02:00
Robert Jördens 7be3ffe79f scanwidget: spelling 2016-04-20 16:29:39 +02:00
Robert Jördens c9daa50591 browser: PATH metavar 2016-04-20 16:23:47 +02:00
Robert Jördens 89772c6461 browser: resize-adjust list 2016-04-20 16:05:12 +02:00
Robert Jördens 2f2461854f browser: use activated 2016-04-20 15:39:23 +02:00
Robert Jördens 856706188f browser: be arrogant re changing state dump formats 2016-04-20 13:57:12 +02:00
Robert Jördens 3d393e4654 browser: add root dir option, load only one file on restore 2016-04-20 13:46:03 +02:00
Robert Jördens 40b47b8440 browser: robustify loading 2016-04-20 13:20:57 +02:00
Robert Jördens 5ebdd5c106 browser: save/restore rootIndex 2016-04-20 13:20:57 +02:00
Robert Jördens 0b1b99be8a browser: double click 2016-04-20 13:20:57 +02:00
Robert Jördens ba24bbc8ed browser: expid from h5 2016-04-20 13:20:57 +02:00
Robert Jördens 686f670a3c browser: redo tree/list models 2016-04-20 13:20:57 +02:00
Robert Jördens f09bfa258d Revert "browser: simplify and fix state restore"
This reverts commit b00089c3d3.
2016-04-20 13:20:57 +02:00
Robert Jördens 1f92e034da Revert "browser: various fixes, handle startup path, connect activated"
This reverts commit c80510287b.
2016-04-20 13:20:33 +02:00
Sebastien Bourdeauducq c80510287b browser: various fixes, handle startup path, connect activated 2016-04-20 18:25:43 +08:00
Sebastien Bourdeauducq b00089c3d3 browser: simplify and fix state restore 2016-04-20 12:07:08 +08:00
Sebastien Bourdeauducq 0cf6df1933 master/experiments: log more details about experiment name conflicts 2016-04-16 21:36:21 +08:00
Sebastien Bourdeauducq b74aa12351 master/worker_db: rethrow DeviceError exception with device name on device creation failure. Closes #396 2016-04-16 19:55:08 +08:00
Sebastien Bourdeauducq caf774579a environment: refactor 2016-04-16 19:31:07 +08:00
Sebastien Bourdeauducq 12a8c76df9 environment,worker: remove enable_processors 2016-04-16 14:21:01 +08:00
Sebastien Bourdeauducq dc44aad411 environment: make NumberValue return integers when appropriate. Closes #397 2016-04-16 14:20:45 +08:00
Sebastien Bourdeauducq d4ba525c9d gui,browser: save state in home folder 2016-04-15 19:05:12 +08:00
Sebastien Bourdeauducq e1a229028d test/analyzer: clear analyzer buffer after IO init 2016-04-15 01:18:36 +08:00
Sebastien Bourdeauducq 848c86e8a4 master: group results by hour, not by minute 2016-04-15 01:13:53 +08:00
Robert Jördens 511913230f test_analyzer: loop_out.off() 2016-04-14 22:57:16 +08:00
Robert Jördens b36eded2e1 remote_exec_processing: style 2016-04-14 19:06:01 +08:00
Robert Jördens 4a297f0c42 browser: s/results/files/ 2016-04-14 17:55:44 +08:00
Sebastien Bourdeauducq 212ee8ca35 gateware/nist_qc2: substitute FMC 2016-04-14 01:02:34 +08:00
dhslichter f395a630e0 Updated qc2 pinouts for SPI and 2x DDS bus, update docs 2016-04-13 18:38:34 +08:00
Robert Jördens 5788c02a10 examples: move pdq2 frame selects away from TTLInOut ttl3 2016-04-12 19:41:06 +08:00
Robert Jördens d42ef46471 test: set inputs to input(), should close #383 2016-04-12 18:17:53 +08:00
Sebastien Bourdeauducq 1f50b3428e coredevice: automatically close on pause 2016-04-12 15:46:21 +08:00
Sebastien Bourdeauducq 437b37b158 master/worker: pause/resume devices 2016-04-12 15:45:53 +08:00
Sebastien Bourdeauducq 3c70bc40a4 master/worker_db: add pause_devices and resume_devices 2016-04-12 15:45:30 +08:00
Sebastien Bourdeauducq 0cca2bbef6 artiq_run: style 2016-04-12 15:16:48 +08:00
Sebastien Bourdeauducq 3134106a11 gui/models: handle Qt calling DictSyncTreeSepModel.index with garbage inputs. Closes #388 2016-04-11 20:11:22 +08:00
Sebastien Bourdeauducq 7d590afd73 dashboard/moninj: use ephemeral UDP port 2016-04-11 18:54:25 +08:00
Sebastien Bourdeauducq dbba41b042 dashboard/moninj: fix windows problems 2016-04-11 18:49:57 +08:00
Sebastien Bourdeauducq d9e918be49 dashboard/moninj: use thread instead of asyncio UDP (#39) 2016-04-11 18:09:41 +08:00
Sebastien Bourdeauducq 1690cb11b3 dashboard/moninj: remove debug prints 2016-04-11 17:17:20 +08:00
Robert Jördens 5e5f94a0f8 browser: WIP for experiment replay 2016-04-10 20:07:46 +08:00
Robert Jördens 6c200b1418 browser: make results a dock again 2016-04-10 16:29:29 +08:00
Robert Jördens cc77d5b791 ipython notebook example: datasets subgroup 2016-04-08 12:21:26 +08:00
Robert Jördens 01f2b6731c browser: robustify hdf5 read 2016-04-08 11:54:49 +08:00
Robert Jördens 6773d9e734 thumbnail: add example 2016-04-08 11:49:20 +08:00
Robert Jördens 88495f2ea9 browser: use thumbnail dataset 2016-04-08 11:44:37 +08:00
Robert Jördens 30d557a4f8 worker: run experiment in output directory 2016-04-08 10:53:13 +08:00
Robert Jördens 1ae8b8ffd1 worker_impl: save expid, rid, start_time 2016-04-08 10:21:53 +08:00
Robert Jördens de002ac811 worker_db: factor get_output_prefix() 2016-04-08 10:21:53 +08:00
Robert Jördens 7205985f69 applets: style 2016-04-08 10:21:49 +08:00
Robert Jördens 38e225d053 applets/simple: fix error msg, style 2016-04-08 10:21:49 +08:00
Robert Jördens 37bcd5ab7e plot_xy: fix errorbar plot 2016-04-08 10:21:49 +08:00
Robert Jördens 3e6a8a20c3 plot_xy: un-randomize the fit plot 2016-04-08 10:21:49 +08:00
Robert Jördens d6beec1a55 dashboard: allow more than 99 scan points 2016-04-08 10:21:49 +08:00
Robert Jördens 13b4929dd8 wavesynth: silence is a channel property (closes #348) 2016-04-07 21:51:29 +08:00
Robert Jördens 6a783ead24 test_wavesynth: use matplotlib 2016-04-07 21:36:30 +08:00
Robert Jördens 3472e1abd3 browser: rm mdi area 2016-04-07 20:22:06 +08:00
Robert Jördens 46273455c5 browser: use fresh models 2016-04-07 20:18:21 +08:00
Robert Jördens 9685771275 browser: link list and tree 2016-04-07 20:18:21 +08:00
Robert Jördens d84bcfddbe browser: use suffix for thumbnails 2016-04-07 20:18:21 +08:00
Robert Jördens 762e0400c0 browser: handle only known errors, cleanup 2016-04-07 20:18:21 +08:00
Sebastien Bourdeauducq 506b5ec4b0 browser: add missing __init__.py 2016-04-07 20:02:44 +08:00
whitequark 12d6f1d963 Commit missing parts of bb064c67a. 2016-04-06 23:46:19 +00:00
whitequark bb064c67a9 runtime: add kernel-accessible sqrt.
Fixes #382.
2016-04-06 23:17:42 +00:00
whitequark 9cc9e8b276 embedding: s/kernel_constant_attributes/kernel_invariants/g
Requested in #359.
2016-04-06 22:38:31 +00:00
Sebastien Bourdeauducq eb68ab9ad0 doc: remote execution 2016-04-06 19:13:41 +08:00
Sebastien Bourdeauducq 364e3d48ab applets/TitleApplet: support hierarchical datasets in titles 2016-04-06 17:21:35 +08:00
Sebastien Bourdeauducq 356afb045c applets: support title for histogram and XY. Closes #376 2016-04-06 17:08:38 +08:00
Sebastien Bourdeauducq 485f82b53b applets/simple: add TitleApplet (#376) 2016-04-06 17:02:57 +08:00
Sebastien Bourdeauducq f530815305 gui/applets: use templates instead of formats 2016-04-06 17:02:26 +08:00
Sebastien Bourdeauducq 7e2e182315 put dashboard-specific files in separate directory 2016-04-06 15:45:02 +08:00
Sebastien Bourdeauducq 1d94cfd8ed gui: save/restore geometry of applets when they are disabled/enabled. Closes #375 2016-04-06 15:18:21 +08:00
Sebastien Bourdeauducq 04d4067e7f gui/state: add debug logging 2016-04-06 15:14:33 +08:00
Robert Jördens 73795ff788 test_rtio: integer division 2016-04-06 02:26:20 +08:00
Robert Jördens 1a04cc0c24 browser: add thumbnail icon provider 2016-04-06 02:01:25 +08:00
Robert Jördens 4bc5eaf9e8 test_rtio: scale speed test results to 'event' intervals 2016-04-06 00:55:13 +08:00
Robert Jördens 76dcccb33b test_rtio: comments and correction
* add comments what is actually being measured in the two rate tests
* remove spurious factor of two
2016-04-05 20:51:03 +08:00
Robert Jördens 1f152bceb2 browser: own package, own datasets dock 2016-04-05 18:50:29 +08:00
Robert Jördens 1814f12152 gui/datasets: rm unused imports/style 2016-04-05 18:50:29 +08:00
Sebastien Bourdeauducq fc524961b2 dashboard/moninj: fancy level setting and layout improvements. Closes #163 2016-04-05 18:38:05 +08:00
Robert Jördens aaa81a63d1 browser: use LocalModelManager, make the 'explorer' the central widget 2016-04-05 17:22:16 +08:00
Robert Jördens 4edfd6caa4 qui/models: add LocalModelManager 2016-04-05 17:22:16 +08:00
Robert Jördens 826d529756 gui/results: add QListView 2016-04-05 17:22:16 +08:00
Robert Jördens 670e8907a5 artiq_browser: load from hdf5 2016-04-05 17:22:16 +08:00
Robert Jördens fa63637a2e gui/browser: local model manager 2016-04-05 17:22:16 +08:00
Robert Jördens 91a362c898 add artiq_browser 2016-04-05 17:22:16 +08:00
Robert Jördens 4759ea337b worker_impl: style 2016-04-05 17:22:16 +08:00
Robert Jördens 05c61465e0 worker: trust that h5py encodes strings 2016-04-05 17:18:15 +08:00
Robert Jördens 587a0f4565 worker: trust that h5py maps all types as we want 2016-04-05 17:18:15 +08:00
Robert Jördens 8078e59077 test_h5types: also test ndarrays 2016-04-05 17:18:15 +08:00
Robert Jördens 7a5b3a1167 test_h5types: use in-memory files 2016-04-05 17:18:15 +08:00
Robert Jördens 4e7b004a4e worker, hdf5: move datasets to subgroup 2016-04-05 17:17:18 +08:00
Sebastien Bourdeauducq 1ff01a43ff artiq_flash: clear error message when bin directory is absent 2016-04-05 16:09:41 +08:00
Sebastien Bourdeauducq ed1c368e73 gateware: name targets consistently. Closes #290 2016-04-05 16:07:29 +08:00
Sebastien Bourdeauducq 1459b393a0 examples/remote_exec_controller: implement ping 2016-04-05 13:59:54 +08:00
Sebastien Bourdeauducq affe4d45aa ship examples with package 2016-04-05 13:59:39 +08:00
Sebastien Bourdeauducq 2dfc1a8d17 gui/explorer: display filenames and classes in tooltips. Closes #371 2016-04-05 13:26:00 +08:00
Sebastien Bourdeauducq d9b2968426 gui/models/DictSyncTreeSepModel: support tooltips 2016-04-05 13:25:14 +08:00
whitequark 14caa2713c test_pulse_rate_dds: adjust bounds. 2016-04-05 01:52:34 +00:00
whitequark 8b1c5e3a26 llvm_ir_generator: add fast-math flags to fcmp.
This is allowed in 3.8.
2016-04-05 00:48:41 +00:00
whitequark ad83b092fa 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-05 00:48:41 +00:00
whitequark 72b952e850 llvm_ir_generator: fix DICompileUnit.language. 2016-04-05 00:48:41 +00:00
Robert Jördens d095d481ff gui.models: style 2016-04-04 23:38:56 +08:00
Sebastien Bourdeauducq 3efb841557 client: add --async option to scan-repository, recommend usage in git post-receive 2016-04-04 22:17:39 +08:00
Sebastien Bourdeauducq 7453d85d5e GUI -> dashboard 2016-04-04 22:12:45 +08:00
Sebastien Bourdeauducq aa61c29efb transfer Python builtin exceptions over pc_rpc and master/worker 2016-04-04 22:02:42 +08:00
Sebastien Bourdeauducq f860548396 protocols/pyon: minor cleanup 2016-04-04 21:34:37 +08:00
Sebastien Bourdeauducq 4ce00e3b7a protocols/remote_exec: add connect_global_rpc 2016-04-04 19:09:23 +08:00
Sebastien Bourdeauducq 059836c591 protocols/remote_exec: give access to controller_initial_namespace 2016-04-04 19:09:03 +08:00
Sebastien Bourdeauducq 69516136c4 protocols/pc_rpc: add get_local_host to clients 2016-04-04 19:07:08 +08:00
whitequark a57aabb3ea compiler: purge generated functions from backtraces. 2016-04-02 18:29:36 +00:00
whitequark 712e16b79e ttl: mark constant attributes for TTL{In,InOut,ClockGen}. 2016-04-02 18:20:51 +00:00
whitequark a1e98a4437 llvm_ir_generator: add TBAA metadata for @now. 2016-04-02 18:19:14 +00:00
whitequark b1f371e578 llvm_ir_generator: update debug info emission for LLVM 3.8. 2016-04-02 18:05:40 +00:00
whitequark 132b55d6be 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-02 18:05:40 +00:00
Sebastien Bourdeauducq 774ecceaba master/worker_impl: use ParentDatasetDB in examine mode. Closes #368 2016-04-02 23:06:14 +08:00
Sebastien Bourdeauducq a53d32c24e master: always expose full set of worker handlers (#368) 2016-04-02 23:05:16 +08:00
Sebastien Bourdeauducq 667aca8a1c gui/experiment: fix recompute argument error handling 2016-04-02 23:03:06 +08:00
Sebastien Bourdeauducq 1a288e07cc protocols/remote_exec: simplify, use global namespace 2016-04-02 22:44:27 +08: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
Sebastien Bourdeauducq 0173031487 test/PulseRateDDS: run more iterations 2016-03-31 16:04:55 +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 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
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
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