Commit Graph

3128 Commits

Author SHA1 Message Date
Sebastien Bourdeauducq 0a9b2aecbc doc: move compiler details to separate chapter 2016-04-27 01:37:39 +08:00
whitequark 9b04778f66 embedding: ignore empty lines, like annotations, before kernel functions.
Fixes #363.
2016-04-27 01:37:28 +08:00
whitequark 24e24ddca4 doc: Document fast-math flag and kernel invariants.
Fixes #351, #359.
2016-04-27 01:37:28 +08:00
whitequark 0f6f684670 compiler: allow RPCing builtin functions.
Fixes #366.
2016-04-27 01:37:28 +08:00
whitequark 8d9a22f8da compiler: don't typecheck RPCs except for return type.
Fixes #260.
2016-04-27 01:36:51 +08:00
whitequark 8a28039b74 coredevice: deserialize int64(width=64) as int(width=64), not host_int.
Fixes #402.
2016-04-22 23:28:01 +08:00
Sebastien Bourdeauducq 53f0477c3b RELEASE_NOTES: 1.0rc3 2016-04-18 14:39:18 +08:00
Sebastien Bourdeauducq ed17972104 master/experiments: log more details about experiment name conflicts 2016-04-16 21:36:33 +08:00
Sebastien Bourdeauducq f962092b38 environment: cleanup docs 2016-04-16 19:38:52 +08:00
Sebastien Bourdeauducq 9b4a04b307 environment/get_device_db: raise ValueError when device manager not present 2016-04-16 19:38:46 +08:00
Sebastien Bourdeauducq 398468410f Revert "environment,worker: remove enable_processors"
This reverts commit 08f903b8f4.
2016-04-16 16:49:15 +08:00
Sebastien Bourdeauducq 08f903b8f4 environment,worker: remove enable_processors 2016-04-16 14:21:23 +08:00
Sebastien Bourdeauducq 0a259418fb environment: make NumberValue return integers when appropriate. Closes #397 2016-04-16 14:21:22 +08:00
Sebastien Bourdeauducq 91645ffc24 test/analyzer: clear analyzer buffer after IO init 2016-04-15 01:18:58 +08:00
Robert Jördens a2e4f95a00 test_analyzer: loop_out.off() 2016-04-14 22:57:47 +08:00
Sebastien Bourdeauducq 385e8d98fc test/PulseRateDDS: run more iterations 2016-04-14 19:15:31 +08:00
Robert Jördens 2086e46598 test_rtio: integer division 2016-04-14 19:14:53 +08:00
Sebastien Bourdeauducq a27aa9680e protocols/pyon: minor cleanup 2016-04-14 19:14:38 +08:00
Sebastien Bourdeauducq c97cb1d3b9 master/worker_db: style 2016-04-14 19:14:20 +08:00
Robert Jördens 69f534cc20 gui.models: style 2016-04-14 19:12:07 +08:00
Robert Jördens 9ceca44dbe applets: style 2016-04-14 18:38:57 +08:00
Robert Jördens 001f6d6fab test_rtio: scale speed test results to 'event' intervals 2016-04-14 18:19:05 +08:00
Robert Jördens 3d487d98b7 test_rtio: comments and correction
* add comments what is actually being measured in the two rate tests
* remove spurious factor of two
2016-04-14 18:18:54 +08:00
whitequark d6510083b7 Commit missing parts of bb064c67a. 2016-04-14 18:14:47 +08:00
whitequark 904379db7e runtime: add kernel-accessible sqrt.
Fixes #382.
2016-04-14 18:14:47 +08:00
whitequark 2248a2eb9e embedding: s/kernel_constant_attributes/kernel_invariants/g
Requested in #359.
2016-04-14 18:14:44 +08:00
whitequark e6666ce6a9 test_pulse_rate_dds: adjust bounds. 2016-04-14 18:10:41 +08:00
whitequark 34454621fa conda: update llvmlite-artiq dependency.
Build 24 includes addc optimizations.
2016-04-14 18:10:30 +08:00
whitequark c6f946a816 llvm_ir_generator: add fast-math flags to fcmp.
This is allowed in 3.8.
2016-04-14 18:10:30 +08:00
whitequark d4f1614a23 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-14 18:10:17 +08:00
whitequark 75252ca5a4 llvm_ir_generator: fix DICompileUnit.language. 2016-04-14 18:10:17 +08:00
whitequark 31b5154222 conda: update llvmlite-artiq dependency.
Build 22 includes debug information support.
2016-04-14 18:10:17 +08:00
whitequark 89326fb189 compiler: purge generated functions from backtraces. 2016-04-14 18:09:59 +08:00
whitequark a2f6e81c50 ttl: mark constant attributes for TTL{In,InOut,ClockGen}. 2016-04-14 18:09:59 +08:00
whitequark 702e959033 llvm_ir_generator: add TBAA metadata for @now. 2016-04-14 18:09:59 +08:00
whitequark f958cba4ed llvm_ir_generator: update debug info emission for LLVM 3.8. 2016-04-14 18:09:36 +08:00
whitequark 7c520aa0c4 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-14 18:09:36 +08:00
whitequark 66bbee51d8 conda: require llvmlite-artiq built for LLVM 3.8. 2016-04-14 18:09:09 +08:00
whitequark f26990aa57 compiler: emit verbose assembly via ARTIQ_DUMP_ASM. 2016-04-14 18:09:02 +08:00
whitequark c89c27e389 compiler: add analysis passes from TargetMachine.
This doesn't have any effect right now, but is the right thing to do.
2016-04-14 18:08:47 +08:00
whitequark 1120c264b1 compiler: mark loaded pointers as !dereferenceable.
Also, lower the bound for test_pulse_rate_dds, since we generate
better code for it now.
2016-04-14 18:08:47 +08:00
whitequark 03b6555d9d compiler: update for LLVM 3.7. 2016-04-14 18:08:28 +08:00
whitequark 932e680f3e compiler: use correct data layout. 2016-04-14 18:07:56 +08:00
whitequark f59fd8faec 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-04-14 18:07:35 +08:00
whitequark e416246e78 llvm_ir_generator: mark loads as non-null where applicable. 2016-04-14 18:07:35 +08:00
whitequark 50ae17649d test: relax lit/embedding/syscall_flags.
We currently have broken debug info. In either case, debug info
is irrelevant to this test.
2016-04-14 18:07:35 +08:00
whitequark f7603dcb6f compiler: fix ARTIQ_DUMP_ELF. 2016-04-14 18:07:17 +08:00
whitequark 812e79b63d llvm_ir_generator: don't mark non-constant attribute loads as invariant.
Oops.
2016-04-14 18:07:13 +08:00
whitequark dcb0ffdd03 Commit missing parts of 1d8b0d46. 2016-04-14 18:07:04 +08:00
whitequark ee7e648cb0 compiler: allow specifying per-function "fast-math" flags.
Fixes #351.
2016-04-14 18:07:04 +08:00