llvm-project/mlir/lib
River Riddle 6067cdebaa Implement the initial pass management functionality.
The definitions of derived passes have now changed and passes must adhere to the following:

* Inherit from a CRTP base class FunctionPass/ModulePass.
   - This class provides several necessary utilities for the transformation:
       . Access to the IR unit being transformed (getFunction/getModule)
       . Various utilities for pass identification and registration.

* Provide a 'PassResult runOn(Function|Module)()' method to transform the IR.
   - This replaces the runOn* functions from before.

This patch also introduces the notion of the PassManager. This allows for simplified construction of pass pipelines and acts as the sole interface for executing passes. This is important as FunctionPass will no longer have a 'runOnModule' method.

PiperOrigin-RevId: 235952008
2019-03-29 16:46:59 -07:00
..
AffineOps Refactor AffineExprFlattener and move FlatAffineConstraints out of IR into 2019-03-29 16:39:32 -07:00
Analysis Temp change in FlatAffineConstraints::getSliceBounds() to deal with TODO in 2019-03-29 16:45:23 -07:00
Dialect Add binary broadcastable builder. 2019-03-29 16:23:38 -07:00
EDSC EDSC: move FileCheck tests into the source file 2019-03-29 16:46:10 -07:00
ExecutionEngine NFC: Refactor the files related to passes. 2019-03-29 16:32:56 -07:00
IR Add a new class NamedAttributeList to deduplicate named attribute handling between Function and Instruction. 2019-03-29 16:45:40 -07:00
LLVMIR Unboxing for static memrefs. 2019-03-29 16:43:20 -07:00
Parser Allow function names to have a leading underscore. This matches what is already defined in the spec, but not supported in the implementation. 2019-03-29 16:45:08 -07:00
Pass Implement the initial pass management functionality. 2019-03-29 16:46:59 -07:00
StandardOps Add constant folding for ExtractElementOp when the aggregate is an OpaqueElementsAttr. 2019-03-29 16:40:20 -07:00
SuperVectorOps Remove remaining references to OperationInst in all directories except for lib/Transforms. 2019-03-29 16:10:38 -07:00
Support Extract openInputFile() into Support/FileUtilities 2019-03-29 15:09:11 -07:00
TableGen [TableGen] Use ArrayRef instead of SmallVectorImpl for suitable method 2019-03-29 16:41:35 -07:00
Target/LLVMIR Add a Function::isExternal utility to simplify checks for external functions. 2019-03-29 16:43:50 -07:00
Transforms Temp change in FlatAffineConstraints::getSliceBounds() to deal with TODO in 2019-03-29 16:45:23 -07:00
Translation Separate translators into "from MLIR" and "to MLIR". 2019-03-29 14:06:33 -07:00