artiq/artiq/compiler
David Nadlinger d8c81d6d05 compiler: Other types microoptimisations
Interestingly enough, these actually seem to give a measurable
speedup (if small – about 1% improvement out of 6s whole-program
compile-time in one particular test case).

The previous implementation of is_mono() had also interesting
behaviour if `name` wasn't given; it would test only for the
presence of any keys specified via keyword arguments,
disregarding their values. Looking at uses across the current
ARTIQ codebase, I could neither find a case where this would
have actually been triggered, nor any rationale for it.

With the short-circuited implementation from this commit,
is_mono() now checks name/all of params against any specified
conditions.
2020-01-01 08:49:19 +00: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:04:56 +08:00
transforms compiler: Cache expensive target data layout queries 2019-10-28 11:09:25 +00:00
validators compiler: Fix crash in escape analysis for assigning string literals 2019-03-31 17:10:27 +01: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 compiler: Implement abs() for scalars 2019-04-13 13:39:16 +08:00
embedding.py compiler: Allow `None` in type hints 2019-12-19 09:36:45 +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: add source location to SSA arguments. 2018-05-22 18:14:14 +00:00
module.py compiler: first monomorphize ints, then casts. 2019-01-12 13:40:12 +00:00
prelude.py compiler: Implement abs() for scalars 2019-04-13 13:39:16 +08:00
targets.py Revert "compiler: armv7-unknown-linux-gnueabihf -> armv7-linux-gnueabihf" 2019-08-26 11:23:00 +08:00
types.py compiler: Other types microoptimisations 2020-01-01 08:49:19 +00:00