aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorAlex Zinenko <zinenko@google.com>2020-11-15 15:25:01 +0100
committerAlex Zinenko <zinenko@google.com>2020-11-18 10:52:17 +0100
commit052d24af2913e8e2a0183bcab8af9c8c9cad94f1 (patch)
tree2ab921a7d4f008512229028f238b00d43bb56cb9 /clang/lib/Frontend/CompilerInvocation.cpp
parent2be569870486a2068667f4625723c0a7409f4c97 (diff)
downloadllvm-052d24af2913e8e2a0183bcab8af9c8c9cad94f1.zip
llvm-052d24af2913e8e2a0183bcab8af9c8c9cad94f1.tar.gz
llvm-052d24af2913e8e2a0183bcab8af9c8c9cad94f1.tar.bz2
[mlir] Introduce support for parametric side-effects
The side effect infrastructure is based on the Effect and Resource class templates, instances of instantiations of which are constructed as thread-local singletons. With this scheme, it is impossible to further parameterize either of those, or the EffectInstance class that contains pointers to an Effect and Resource instances. Such a parameterization is necessary to express more detailed side effects, e.g. those of a loop or a function call with affine operations inside where it is possible to precisely specify the slices of accessed buffers. Include an additional Attribute to EffectInstance class for further parameterization. This allows to leverage the dialect-specific registration and uniquing capabilities of the attribute infrastructure without requiring Effect or Resource instantiations to be attached to a dialect themselves. Split out the generic part of the side effect Tablegen classes into a separate file to avoid generating built-in MemoryEffect interfaces when processing any .td file that includes SideEffectInterfaceBase.td. Reviewed By: rriddle Differential Revision: https://reviews.llvm.org/D91493
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions