llvm-project/mlir/lib/IR
Alex Zinenko 3173a63f3f Dialect Conversion: convert regions of operations when cloning them
Dialect conversion currently clones the operations that did not match any
pattern.  This includes cloning any regions that belong to these operations.
Instead, apply conversion recursively to the nested regions.

Note that if an operation matched one of the conversion patterns, it is up to
the pattern rewriter to fill in the regions of the converted operation.  This
may require calling back to the converter and is left for future work.

PiperOrigin-RevId: 240872410
2019-03-29 17:52:04 -07:00
..
AffineExpr.cpp Cleanup post cl/235283610 - NFC 2019-03-29 16:42:20 -07:00
AffineExprDetail.h Remove some statements that required >C++11, add includes and qualify names. NFC. 2019-03-29 17:24:53 -07:00
AffineMap.cpp Optimize the implementation of AffineExprConstantFolder to avoid the redundant creation of IntegerAttrs and IndexType. This becomes a much bigger performance issue when MLIRContext is thread-safe; as each unnecessary call may need to lock a mutex. 2019-03-29 17:18:22 -07:00
AffineMapDetail.h Introduce Fourier-Motzkin variable elimination + other cleanup/support 2019-03-29 13:38:24 -07:00
AsmPrinter.cpp Change the muli-return syntax for operations. The name of the operation result now contains the number of results that it refers to if the number of results is greater than 1. 2019-03-29 17:51:32 -07:00
AttributeDetail.h Cleanup the construction of attributes and fix a opt-mode bug in DenseElementsAttr when allocating an empty array buffer. 2019-03-29 17:33:15 -07:00
Attributes.cpp Add support for building a DenseIntElementsAttr with ArrayRef<int64_t> values. 2019-03-29 17:29:42 -07:00
Block.cpp Rename InstOperand to OpOperand. 2019-03-29 17:50:41 -07:00
Builders.cpp Introduce affine terminator 2019-03-29 17:44:24 -07:00
Dialect.cpp Validate the names of attribute, dialect, and functions during verification. This essentially enforces the parsing rules upon their names. 2019-03-29 16:44:53 -07:00
Function.cpp Simplify API uses of `getContext()` (NFC) 2019-03-29 17:47:11 -07:00
IntegerSet.cpp Introduce Fourier-Motzkin variable elimination + other cleanup/support 2019-03-29 13:38:24 -07:00
IntegerSetDetail.h Introduce Fourier-Motzkin variable elimination + other cleanup/support 2019-03-29 13:38:24 -07:00
Location.cpp Support NameLoc and CallSiteLoc for mlir::Location 2019-03-29 14:37:34 -07:00
LocationDetail.h Give the Location classes their own SmartRWMutex and make sure that they are using the locationAllocator. This is step 4/N to making MLIRContext thread-safe. 2019-03-29 17:19:27 -07:00
MLIRContext.cpp Replace usages of Instruction with Operation in the /IR directory. 2019-03-29 17:43:37 -07:00
Module.cpp Implement initial support for function attributes, including parser, printer, 2019-03-29 13:02:44 -07:00
Operation.cpp Dialect Conversion: convert regions of operations when cloning them 2019-03-29 17:52:04 -07:00
OperationSupport.cpp Rename InstOperand to OpOperand. 2019-03-29 17:50:41 -07:00
PatternMatch.cpp Replace usages of Instruction with Operation in the /IR directory. 2019-03-29 17:43:37 -07:00
StandardTypes.cpp Update some of the derived type classes to use getImpl instead of a static_cast. 2019-03-29 17:38:14 -07:00
TypeDetail.h Add support for a standard TupleType. Though this is a standard type, it merely provides a common mechanism for representing tuples in MLIR. It is up to dialect authors to provides operations for manipulating them, e.g. extract_tuple_element. 2019-03-29 17:25:09 -07:00
Types.cpp Update some of the derived type classes to use getImpl instead of a static_cast. 2019-03-29 17:38:14 -07:00
Value.cpp Replace usages of Instruction with Operation in the /IR directory. 2019-03-29 17:43:37 -07:00