summaryrefslogtreecommitdiffstats
path: root/mlir/unittests/Pass
Commit message (Collapse)AuthorAgeFilesLines
* Adjust License.txt file to use the LLVM licenseMehdi Amini2019-12-231-13/+4
| | | | PiperOrigin-RevId: 286906740
* Allow analyses to provide a hook 'isInvalidated' to determine if they are ↵River Riddle2019-12-031-0/+33
| | | | | | | | | | | | | | truly invalidated. The hook has the following form: * `bool isInvalidated(const AnalysisManager::PreservedAnalyses &)` Given a preserved analysis set, the analysis returns true if it should truly be invalidated. This allows for more fine-tuned invalidation in cases where an analysis wasn't explicitly marked preserved, but may be preserved(or invalidated) based upon other properties; such as analyses sets. PiperOrigin-RevId: 283582889
* Generalize the analysis manager framework to work on any operation at any ↵River Riddle2019-08-281-15/+20
| | | | | | | | nesting. The pass manager is moving towards being able to run on operations at arbitrary nesting. An operation may have both parent and child operations, and the AnalysisManager must be able to handle this generalization. The AnalysisManager class now contains generic 'getCachedParentAnalysis' and 'getChildAnalysis/getCachedChildAnalysis' functions to query analyses on parent/child operations. This removes the hard coded nesting relationship between Module/Function. PiperOrigin-RevId: 266003636
* NFC: Rename Module to ModuleOp.River Riddle2019-07-101-5/+5
| | | | | | Module is a legacy name that only exists as a typedef of ModuleOp. PiperOrigin-RevId: 257427248
* Update ModuleOp::create(...) to take a Location instead of a context.River Riddle2019-07-101-3/+3
| | | | | | This allows for giving a Module a more interesting location than 'Unknown'. PiperOrigin-RevId: 257310117
* NFC: Rename Function to FuncOp.River Riddle2019-07-101-8/+8
| | | | PiperOrigin-RevId: 257293379
* NFC: Refactor Module to be value typed.River Riddle2019-07-021-8/+8
| | | | | | As with Functions, Module will soon become an operation, which are value-typed. This eases the transition from Module to ModuleOp. A new class, OwningModuleRef is provided to allow for owning a reference to a Module, and will auto-delete the held module on destruction. PiperOrigin-RevId: 256196193
* NFC: Refactor Function to be value typed.River Riddle2019-07-011-10/+10
| | | | | | Move the data members out of Function and into a new impl storage class 'FunctionStorage'. This allows for Function to become value typed, which will greatly simplify the transition of Function to FuncOp(given that FuncOp is also value typed). PiperOrigin-RevId: 255983022
* Add build files and update README.Jacques Pienaar2019-03-301-0/+6
| | | | | | | | | * Add initial version of build files; * Update README with instructions to download and build MLIR from github; -- PiperOrigin-RevId: 241102092
* Add basic infrastructure for instrumenting pass execution and analysis ↵River Riddle2019-03-291-3/+3
| | | | | | | | | | | | computation. A virtual class, PassInstrumentation, is provided to allow for different parts of the pass manager infrastructure. The currently available hooks allow for instrumenting: * before/after pass execution * after a pass fails * before/after an analysis is computed After getting this infrastructure in place, we can start providing common developer utilities like pass timing, IR printing after pass execution, etc. PiperOrigin-RevId: 237709692
* NFC: Remove 'Result' from the analysis manager api to better reflect the ↵River Riddle2019-03-291-12/+12
| | | | | | implementation. There is no distinction between analysis computation and result. PiperOrigin-RevId: 237093101
* Add support for preserving specific analyses in the analysis manager. Passes ↵River Riddle2019-03-291-0/+112
can now preserve specific analyses via 'markAnalysesPreserved'. Example: markAnalysesPreserved<DominanceInfo>(); markAnalysesPreserved<DominanceInfo, PostDominanceInfo>(); PiperOrigin-RevId: 237081454
OpenPOWER on IntegriCloud