llvm-project/mlir/lib/Transforms
River Riddle 9e3c2650d2 Refactor the conversion of block argument types in DialectConversion.
This cl begins a large refactoring over how signature types are converted in the DialectConversion infrastructure. The signatures of blocks are now converted on-demand when an operation held by that block is being converted. This allows for handling the case where a region is created as part of a pattern, something that wasn't possible previously.

This cl also generalizes the region signature conversion used by FuncOp to work on any region of any operation. This generalization allows for removing the 'apply*Conversion' functions that were specific to FuncOp/ModuleOp. The implementation currently uses a new hook on TypeConverter, 'convertRegionSignature', but this should ideally be removed in favor of using Patterns. That depends on adding support to the PatternRewriter used by ConversionPattern to allow applying signature conversions to regions, which should be coming in a followup.

PiperOrigin-RevId: 258645733
2019-07-19 11:38:45 -07:00
..
Utils Move affine.for and affine.if to ODS 2019-07-16 13:45:47 -07:00
CMakeLists.txt Introduce loop coalescing utility and a simple pass 2019-07-16 13:43:44 -07:00
CSE.cpp Update CSE to respect nested regions that are isolated from above. This cl also removes the unused 'NthRegionIsIsolatedFromAbove' trait as it was replaced with a more general 'IsIsolatedFromAbove'. 2019-06-24 13:44:53 -07:00
Canonicalizer.cpp NFC: Refactor Function to be value typed. 2019-07-01 11:39:00 -07:00
DialectConversion.cpp Refactor the conversion of block argument types in DialectConversion. 2019-07-19 11:38:45 -07:00
DmaGeneration.cpp NFC: Rename Function to FuncOp. 2019-07-10 10:10:53 -07:00
LoopCoalescing.cpp Introduce loop coalescing utility and a simple pass 2019-07-16 13:43:44 -07:00
LoopFusion.cpp NFC: Rename Function to FuncOp. 2019-07-10 10:10:53 -07:00
LoopInvariantCodeMotion.cpp Move affine.for and affine.if to ODS 2019-07-16 13:45:47 -07:00
LoopParametricTiling.cpp Extract std.for std.if and std.terminator in their own dialect 2019-07-16 13:43:18 -07:00
LoopTiling.cpp NFC: Rename Function to FuncOp. 2019-07-10 10:10:53 -07:00
LoopUnroll.cpp NFC: Rename Function to FuncOp. 2019-07-10 10:10:53 -07:00
LoopUnrollAndJam.cpp Uniformize usage of OpBuilder& (NFC) 2019-06-22 09:14:49 -07:00
LowerAffine.cpp Move affine.for and affine.if to ODS 2019-07-16 13:45:47 -07:00
LowerVectorTransfers.cpp EDSC: use affine.load/store instead of std.load/store 2019-07-12 08:42:28 -07:00
MaterializeVectors.cpp NFC: Rename Function to FuncOp. 2019-07-10 10:10:53 -07:00
MemRefDataFlowOpt.cpp NFC: Rename Function to FuncOp. 2019-07-10 10:10:53 -07:00
PipelineDataTransfer.cpp Globally change load/store/dma_start/dma_wait operations over to affine.load/store/dma_start/dma_wait. 2019-07-03 14:37:06 -07:00
SimplifyAffineStructures.cpp rename -memref-dependence-check to -test-memref-dependence-check since it 2019-05-20 13:36:38 -07:00
StripDebugInfo.cpp NFC: Rename Function to FuncOp. 2019-07-10 10:10:53 -07:00
Vectorize.cpp NFC: Rename Function to FuncOp. 2019-07-10 10:10:53 -07:00
ViewRegionGraph.cpp Generalize the CFG graph printing for Functions to work on Regions instead. 2019-07-01 17:02:51 -07:00