llvm-project/mlir/lib/IR
Nicolas Vasilache c449e46ceb Introduce AffineExpr::compose(AffineMap)
This CL is the 1st on the path to simplifying AffineMap composition.
This CL uses the now accepted AffineExpr.replaceDimsAndSymbols to
implement `AffineExpr::compose(AffineMap)`.

Arguably, `simplifyAffineExpr` should be part of IR and not Analysis but
this CL does not yet pull the trigger on that.

PiperOrigin-RevId: 228265845
2019-03-29 15:03:36 -07:00
..
AffineExpr.cpp Introduce AffineExpr::compose(AffineMap) 2019-03-29 15:03:36 -07:00
AffineExprDetail.h [MLIR] Sketch AffineExpr value type 2019-03-29 13:25:42 -07:00
AffineMap.cpp Introduce a simple canonicalization of affine_apply that drops unused dims and 2019-03-29 14:56:07 -07:00
AffineMapDetail.h Introduce Fourier-Motzkin variable elimination + other cleanup/support 2019-03-29 13:38:24 -07:00
AsmPrinter.cpp Extend loop-fusion's slicing utility + other fixes / updates 2019-03-29 15:03:20 -07:00
AttributeDetail.h Split the standard types from builtin types and move them into separate source files(StandardTypes.cpp/h). After this cl only FunctionType and IndexType are builtin types, but IndexType will likely become a standard type when the ml/cfgfunc merger is done. Mechanical NFC. 2019-03-29 14:54:07 -07:00
AttributeListStorage.h Delicately re-layer Operation, Statement, and OperationStmt, reworking 2019-03-29 14:41:05 -07:00
Attributes.cpp add a method to get FloatAttr value as double 2019-03-29 14:41:34 -07:00
Block.cpp Introduce PostDominanceInfo, fix properlyDominates() for Instructions 2019-03-29 14:48:44 -07:00
Builders.cpp Split the standard types from builtin types and move them into separate source files(StandardTypes.cpp/h). After this cl only FunctionType and IndexType are builtin types, but IndexType will likely become a standard type when the ml/cfgfunc merger is done. Mechanical NFC. 2019-03-29 14:54:07 -07:00
BuiltinOps.cpp Add support for types belonging to unknown dialects. This allows for types to be round tripped even if the dialect that defines them is not linked in. These types will be represented by a new "UnknownType" that uniques them based upon the dialect namespace and raw string type data. 2019-03-29 15:01:11 -07:00
Dialect.cpp Rename OperationPrefix to Namespace in Dialect. This is important as dialects will soon be able to define more than just operations. 2019-03-29 14:51:22 -07:00
Function.cpp Eliminate extfunc/cfgfunc/mlfunc as a concept, and just use 'func' instead. 2019-03-29 14:51:37 -07:00
Instruction.cpp Rename OperationPrefix to Namespace in Dialect. This is important as dialects will soon be able to define more than just operations. 2019-03-29 14:51:22 -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 Support NameLoc and CallSiteLoc for mlir::Location 2019-03-29 14:37:34 -07:00
MLIRContext.cpp Convert expr - c * (expr floordiv c) to expr mod c in AffineExpr 2019-03-29 15:02:56 -07:00
Module.cpp Implement initial support for function attributes, including parser, printer, 2019-03-29 13:02:44 -07:00
Operation.cpp Split the standard types from builtin types and move them into separate source files(StandardTypes.cpp/h). After this cl only FunctionType and IndexType are builtin types, but IndexType will likely become a standard type when the ml/cfgfunc merger is done. Mechanical NFC. 2019-03-29 14:54:07 -07:00
PatternMatch.cpp Standardize naming of statements -> instructions, revisting the code base to be 2019-03-29 14:44:30 -07:00
StandardTypes.cpp Add support for types belonging to unknown dialects. This allows for types to be round tripped even if the dialect that defines them is not linked in. These types will be represented by a new "UnknownType" that uniques them based upon the dialect namespace and raw string type data. 2019-03-29 15:01:11 -07:00
TypeDetail.h Add support for types belonging to unknown dialects. This allows for types to be round tripped even if the dialect that defines them is not linked in. These types will be represented by a new "UnknownType" that uniques them based upon the dialect namespace and raw string type data. 2019-03-29 15:01:11 -07:00
Types.cpp Add support for types belonging to unknown dialects. This allows for types to be round tripped even if the dialect that defines them is not linked in. These types will be represented by a new "UnknownType" that uniques them based upon the dialect namespace and raw string type data. 2019-03-29 15:01:11 -07:00
Value.cpp Drop all uses of the ForInst induction variable before deleting ForInst 2019-03-29 15:00:26 -07:00