mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-12-15 04:00:56 +00:00
a14a2805b0
When dealing with dialects that will results in function calls to external libraries, it is important to be able to handle maps as some dialects may require mapped data. Before this patch, the detection of whether normalization can apply or not, operations are compared to an explicit list of operations (`alloc`, `dealloc`, `return`) or to the presence of specific operation interfaces (`AffineReadOpInterface`, `AffineWriteOpInterface`, `AffineDMAStartOp`, or `AffineDMAWaitOp`). This patch add a trait, `MemRefsNormalizable` to determine if an operation can have its `memrefs` normalized. This trait can be used in turn by dialects to assert that such operations are compatible with normalization of `memrefs` with nontrivial memory layout specification. An example is given in the literal tests. Differential Revision: https://reviews.llvm.org/D86236 |
||
---|---|---|
.. | ||
Utils | ||
BufferPlacement.cpp | ||
Canonicalizer.cpp | ||
CMakeLists.txt | ||
CopyRemoval.cpp | ||
CSE.cpp | ||
DialectConversion.cpp | ||
Inliner.cpp | ||
LocationSnapshot.cpp | ||
LoopCoalescing.cpp | ||
LoopFusion.cpp | ||
LoopInvariantCodeMotion.cpp | ||
MemRefDataFlowOpt.cpp | ||
NormalizeMemRefs.cpp | ||
OpStats.cpp | ||
ParallelLoopCollapsing.cpp | ||
PassDetail.h | ||
PipelineDataTransfer.cpp | ||
SCCP.cpp | ||
StripDebugInfo.cpp | ||
SymbolDCE.cpp | ||
ViewOpGraph.cpp | ||
ViewRegionGraph.cpp |