artiq/lit-test/test
whitequark cb3b811fd7 compiler: maintain both the IR and iodelay forms of delay expressions.
After this commit, the delay instruction (again) does not generate
any LLVM IR: all heavy lifting is relegated to the delay and delay_mu
intrinsics. When the interleave transform needs to adjust the global
timeline, it synthesizes a delay_mu intrinsnic. This way,
the interleave transformation becomes composable, as the input and
the output IR invariants are the same.

Also, code generation is adjusted so that a basic block is split off
not only after a delay call, but also before one; otherwise, e.g.,
code immediately at the beginning of a `with parallel:` branch
would have no choice but to execute after another branch has already
advanced the timeline.

This takes care of issue #1 described in 50e7b44 and is a step
to solving issue #2.
2015-11-21 03:22:47 +08:00
..
codegen Rename artiq.compiler.testbench.{module → signature}. 2015-07-29 14:32:34 +03:00
devirtualization Merge branch 'master' into new-py2llvm 2015-10-13 19:24:45 +03:00
embedding Merge branch 'master' into new-py2llvm 2015-10-14 16:09:57 +03:00
exceptions On uncaught exception, execute finally clauses and collect backtrace. 2015-07-27 13:51:24 +03:00
inferencer lit-test: fix inferencer/error_class test (broken in b0c6b70). 2015-11-19 23:28:00 +08:00
integration ARTIQIRGenerator: fix non-nullary method calls. 2015-08-28 02:11:05 -05:00
interleaving compiler: maintain both the IR and iodelay forms of delay expressions. 2015-11-21 03:22:47 +08:00
iodelay transforms.iodelay_estimator: fail statements with indeterminate delay inside with parallel. 2015-11-20 17:10:25 +08:00
local_access LocalAccessValidator: relax restrictions to accept def f(); def g(). 2015-08-22 13:31:09 -07:00
monomorphism Rename artiq.compiler.testbench.{module → signature}. 2015-07-29 14:32:34 +03:00
time Implement {delay,now,at}{,_mu} and {mu,seconds}_to_{seconds,mu}. 2015-08-31 09:59:33 -06:00
lit.cfg Fix tests. 2015-11-07 15:17:31 +03:00