artiq/artiq/compiler
whitequark 73ebebf6d7 compiler: monomorphize casts first, but more carefully.
This reverts 425cd7851, which broke the use of casts to define
integer width.

Instead of it, two steps are taken:
  * First, literals are monomorphized, leading to predictable result.
  * Second, casts are monomorphized, in a top-bottom way. I.e.
    consider the expression `int64(round(x))`. If round() was visited
    first, the intermediate precision would be 32-bit, which is
    clearly undesirable. Therefore, contextual rules should take
    priority over non-contextual ones.

Fixes #1252.
2019-02-07 20:58:10 +08:00
..
algorithms compiler: do not associate SSA values with iodelay even when inlining. 2015-12-25 15:02:33 +08:00
analyses compiler: Constness is a validator, not analysis. 2017-06-09 07:29:31 +00:00
testbench use tokenize.open() to open Python source files 2018-07-07 17:11:23 +08:00
transforms compiler: monomorphize casts first, but more carefully. 2019-02-07 20:58:10 +08:00
validators compiler: disallow op= on mutable values (fix #835). 2017-10-02 11:03:03 +08:00
__init__.py compiler: pull in dependencies in more finely grained way (fixes #181). 2015-11-24 17:32:04 +08:00
asttyped.py compiler: allow specifying per-function "fast-math" flags. 2016-03-28 21:44:08 +00:00
builtins.py ksupport: raise RuntimeError on reraise with no inflight exception. 2018-08-07 06:01:53 +00:00
embedding.py Unbreak f35f1001. 2018-04-28 09:58:07 +08:00
import_cache.py import_cache: make sure last line ends with \n as linecache does. Closes #547 2016-09-02 11:01:28 +08:00
iodelay.py compiler.iodelay: correctly fold max(0, [0, ]...). 2015-11-24 00:46:55 +08:00
ir.py compiler, firmware: use Pascal strings everywhere. 2017-02-03 11:53:27 +00:00
module.py compiler: first monomorphize ints, then casts. 2019-02-07 20:58:06 +08:00
prelude.py compiler: add support for bytearray type (#714). 2017-06-09 07:15:24 +00:00
targets.py Unbreak 9dc7efef. 2018-05-06 11:14:44 +08:00
types.py compiler: don't crash when quoting builtin functions. 2018-06-06 11:43:04 +08:00