summaryrefslogtreecommitdiffstats
path: root/mlir/test/Transforms/loop-invariant-code-motion.mlir
Commit message (Collapse)AuthorAgeFilesLines
* [mlir] Change the syntax of AffineMapAttr and IntegerSetAttr to avoid ↵River Riddle2020-01-131-8/+8
| | | | | | | | | | conflicts with function types. Summary: The current syntax for AffineMapAttr and IntegerSetAttr conflict with function types, making it currently impossible to round-trip function types(and e.g. FuncOp) in the IR. This revision changes the syntax for the attributes by wrapping them in a keyword. AffineMapAttr is wrapped with `affine_map<>` and IntegerSetAttr is wrapped with `affine_set<>`. Reviewed By: nicolasvasilache, ftynse Differential Revision: https://reviews.llvm.org/D72429
* Implement simple loop-invariant-code-motion based on dialect interfaces.Stephan Herhut2019-10-161-324/+61
| | | | PiperOrigin-RevId: 275004258
* Add a canonicalization to erase empty AffineForOps.River Riddle2019-08-301-45/+23
| | | | | | AffineForOp themselves are pure and can be removed if there are no internal operations. PiperOrigin-RevId: 266481293
* Standardize the value numbering in the AsmPrinter.River Riddle2019-07-091-151/+151
| | | | | | Change the AsmPrinter to number values breadth-first so that values in adjacent regions can have the same name. This allows for ModuleOp to contain operations that produce results. This also standardizes the special name of region entry arguments to "arg[0-9+]" now that Functions are also operations. PiperOrigin-RevId: 257225069
* Globally change load/store/dma_start/dma_wait operations over to ↵Andy Davis2019-07-031-70/+70
| | | | | | | | | | | affine.load/store/dma_start/dma_wait. In most places, this is just a name change (with the exception of affine.dma_start swapping the operand positions of its tag memref and num_elements operands). Significant code changes occur here: *) Vectorization: LoopAnalysis.cpp, Vectorize.cpp *) Affine Transforms: Transforms/Utils/Utils.cpp PiperOrigin-RevId: 256395088
* Remove unnecessary -verify-diagnosticsGeoffrey Martin-Noble2019-06-191-1/+1
| | | | | | These were likely added in error because of confusion about the flag when it was just called "-verify". The extra flag doesn't cause much harm, but it does make mlir-opt do more work and clutter the RUN line PiperOrigin-RevId: 254037016
* Rename -verify mlir-opt flag to -verify-expected-diagnosticsGeoffrey Martin-Noble2019-06-191-1/+1
| | | | | | This name has caused some confusion because it suggests that it's running op verification (and that this verification isn't getting run by default). PiperOrigin-RevId: 254035268
* Loop invariant code motion - remove reliance on getForwardSlice. Add ↵Amit Sabne2019-06-011-6/+346
| | | | | | | | more tests. -- PiperOrigin-RevId: 250950703
* Prepend an "affine-" prefix to Affine pass option names - NFCNicolas Vasilache2019-05-061-1/+1
| | | | | | | | | | | Trying to activate both LLVM and MLIR passes in mlir-cpu-runner showed name collisions when registering pass names. One possible way of disambiguating that should also work across dialects is to prepend the dialect name to the passes that specifically operate on that dialect. With this CL, mlir-cpu-runner tests still run when both LLVM and MLIR passes are registered -- PiperOrigin-RevId: 246539917
* Loop invariant code motion.Amit Sabne2019-04-181-0/+189
-- PiperOrigin-RevId: 244043679
OpenPOWER on IntegriCloud