artiq/artiq/compiler
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
..
algorithms compiler: do not associate SSA values with iodelay even when inlining. 2015-12-25 15:02:33 +08:00
analyses compiler: implement kernel constant attributes. 2016-03-27 16:10:07 +00:00
testbench compiler: refuse to embed a function from another core device. 2016-03-18 02:01:14 +00:00
transforms compiler: mark FFI functions as ModRef=Ref using TBAA metadata. 2016-03-28 02:52:15 +00:00
validators compiler: make quoted functions independent of outer environment. 2016-03-26 20:46:45 +00: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: make quoted functions independent of outer environment. 2016-03-26 20:46:45 +00:00
builtins.py Implement dumb 'with parallel' (#265). 2016-02-22 13:51:08 +00:00
embedding.py compiler: implement kernel constant attributes. 2016-03-27 16:10:07 +00:00
iodelay.py compiler.iodelay: correctly fold max(0, [0, ]...). 2015-11-24 00:46:55 +08:00
ir.py compiler: extract runtime checks into separate cold functions. 2016-03-27 01:02:15 +00:00
module.py compiler: implement kernel constant attributes. 2016-03-27 16:10:07 +00:00
prelude.py Bring back target print function. 2016-03-18 04:42:06 +00:00
targets.py compiler: mark FFI functions as ModRef=Ref using TBAA metadata. 2016-03-28 02:52:15 +00:00
types.py compiler: implement kernel constant attributes. 2016-03-27 16:10:07 +00:00