Revision tags: llvmorg-10.0.0, llvmorg-10.0.0-rc6, llvmorg-10.0.0-rc5 |
|
#
43959a25 |
| 14-Mar-2020 |
River Riddle <riddleriver@gmail.com> |
[mlir][NFC] Move the LoopLike interface out of Transforms/ and into Interfaces/
Differential Revision: https://reviews.llvm.org/D76155
|
Revision tags: llvmorg-10.0.0-rc4 |
|
#
0ddba0bd |
| 12-Mar-2020 |
River Riddle <riddleriver@gmail.com> |
[mlir][SideEffects] Replace HasNoSideEffect with the memory effect interfaces.
HasNoSideEffect can now be implemented using the MemoryEffectInterface, removing the need to check multiple things for
[mlir][SideEffects] Replace HasNoSideEffect with the memory effect interfaces.
HasNoSideEffect can now be implemented using the MemoryEffectInterface, removing the need to check multiple things for the same information. This also removes an easy foot-gun for users as 'Operation::hasNoSideEffect' would ignore operations that dynamically, or recursively, have no side effects. This also leads to an immediate improvement in some of the existing users, such as DCE, now that they have access to more information.
Differential Revision: https://reviews.llvm.org/D76036
show more ...
|
#
153720a0 |
| 10-Mar-2020 |
River Riddle <riddleriver@gmail.com> |
[mlir][NFC] Move the interfaces and traits for side effects out of IR/ to Interfaces/
Summary: Interfaces/ is the designated directory for these types of interfaces, and also removes the need for in
[mlir][NFC] Move the interfaces and traits for side effects out of IR/ to Interfaces/
Summary: Interfaces/ is the designated directory for these types of interfaces, and also removes the need for including them directly in IR/.
Differential Revision: https://reviews.llvm.org/D75886
show more ...
|
#
b10c6625 |
| 09-Mar-2020 |
River Riddle <riddleriver@gmail.com> |
[mlir][SideEffects] Replace the old SideEffects dialect interface with the newly added op interfaces/traits.
Summary: The old interface was a temporary stopgap to allow for implementing simple LICM
[mlir][SideEffects] Replace the old SideEffects dialect interface with the newly added op interfaces/traits.
Summary: The old interface was a temporary stopgap to allow for implementing simple LICM that took side effects of region operations into account. Now that MLIR has proper support for specifying memory effects, this interface can be deleted.
Differential Revision: https://reviews.llvm.org/D74441
show more ...
|
Revision tags: llvmorg-10.0.0-rc3, llvmorg-10.0.0-rc2, llvmorg-10.0.0-rc1 |
|
#
30857107 |
| 26-Jan-2020 |
Mehdi Amini <aminim@google.com> |
Mass update the MLIR license header to mention "Part of the LLVM project"
This is an artifact from merging MLIR into LLVM, the file headers are now aligned with the rest of the project.
|
Revision tags: llvmorg-11-init |
|
#
2bdf33cc |
| 11-Jan-2020 |
River Riddle <riverriddle@google.com> |
[mlir] NFC: Remove Value::operator* and Value::operator-> now that Value is properly value-typed.
Summary: These were temporary methods used to simplify the transition.
Reviewed By: antiagainst
Di
[mlir] NFC: Remove Value::operator* and Value::operator-> now that Value is properly value-typed.
Summary: These were temporary methods used to simplify the transition.
Reviewed By: antiagainst
Differential Revision: https://reviews.llvm.org/D72548
show more ...
|
#
0f0d0ed1 |
| 24-Dec-2019 |
Mehdi Amini <aminim@google.com> |
Import MLIR into the LLVM tree
|
#
e62a6956 |
| 23-Dec-2019 |
River Riddle <riverriddle@google.com> |
NFC: Replace ValuePtr with Value and remove it now that Value is value-typed.
ValuePtr was a temporary typedef during the transition to a value-typed Value.
PiperOrigin-RevId: 286945714
|
#
56222a06 |
| 23-Dec-2019 |
Mehdi Amini <aminim@google.com> |
Adjust License.txt file to use the LLVM license
PiperOrigin-RevId: 286906740
|
#
35807bc4 |
| 23-Dec-2019 |
River Riddle <riverriddle@google.com> |
NFC: Introduce new ValuePtr/ValueRef typedefs to simplify the transition to Value being value-typed.
This is an initial step to refactoring the representation of OpResult as proposed in: https://gro
NFC: Introduce new ValuePtr/ValueRef typedefs to simplify the transition to Value being value-typed.
This is an initial step to refactoring the representation of OpResult as proposed in: https://groups.google.com/a/tensorflow.org/g/mlir/c/XXzzKhqqF_0/m/v6bKb08WCgAJ
This change will make it much simpler to incrementally transition all of the existing code to use value-typed semantics.
PiperOrigin-RevId: 286844725
show more ...
|
#
4562e389 |
| 18-Dec-2019 |
River Riddle <riverriddle@google.com> |
NFC: Remove unnecessary 'llvm::' prefix from uses of llvm symbols declared in `mlir` namespace.
Aside from being cleaner, this also makes the codebase more consistent.
PiperOrigin-RevId: 286206974
|
Revision tags: llvmorg-9.0.1, llvmorg-9.0.1-rc3, llvmorg-9.0.1-rc2, llvmorg-9.0.1-rc1 |
|
#
b843cc5d |
| 16-Oct-2019 |
Stephan Herhut <herhut@google.com> |
Implement simple loop-invariant-code-motion based on dialect interfaces.
PiperOrigin-RevId: 275004258
|
Revision tags: llvmorg-9.0.0, llvmorg-9.0.0-rc6 |
|
#
f1b100c7 |
| 13-Sep-2019 |
River Riddle <riverriddle@google.com> |
NFC: Finish replacing FunctionPassBase/ModulePassBase with OpPassBase.
These directives were temporary during the generalization of FunctionPass/ModulePass to OpPass.
PiperOrigin-RevId: 268970259
|
Revision tags: llvmorg-9.0.0-rc5, llvmorg-9.0.0-rc4 |
|
#
9c8a8a7d |
| 30-Aug-2019 |
River Riddle <riverriddle@google.com> |
Add a canonicalization to erase empty AffineForOps.
AffineForOp themselves are pure and can be removed if there are no internal operations.
PiperOrigin-RevId: 266481293
|
Revision tags: llvmorg-9.0.0-rc3 |
|
#
4bfae66d |
| 29-Aug-2019 |
River Riddle <riverriddle@google.com> |
Refactor the 'walk' methods for operations.
This change refactors and cleans up the implementation of the operation walk methods. After this refactoring is that the explicit template parameter for t
Refactor the 'walk' methods for operations.
This change refactors and cleans up the implementation of the operation walk methods. After this refactoring is that the explicit template parameter for the operation type is no longer needed for the explicit op walks. For example:
op->walk<AffineForOp>([](AffineForOp op) { ... });
is now accomplished via:
op->walk([](AffineForOp op) { ... });
PiperOrigin-RevId: 266209552
show more ...
|
#
ffde975e |
| 20-Aug-2019 |
River Riddle <riverriddle@google.com> |
NFC: Move AffineOps dialect to the Dialect sub-directory. PiperOrigin-RevId: 264482571
|
#
ba0fa925 |
| 19-Aug-2019 |
River Riddle <riverriddle@google.com> |
NFC: Move LLVMIR, SDBM, and StandardOps to the Dialect/ directory. PiperOrigin-RevId: 264193915
|
#
79f53b0c |
| 17-Aug-2019 |
Jacques Pienaar <jpienaar@google.com> |
Change from llvm::make_unique to std::make_unique
Switch to C++14 standard method as llvm::make_unique has been removed ( https://reviews.llvm.org/D66259). Also mark some targets as c++14 to ease ne
Change from llvm::make_unique to std::make_unique
Switch to C++14 standard method as llvm::make_unique has been removed ( https://reviews.llvm.org/D66259). Also mark some targets as c++14 to ease next integrates.
PiperOrigin-RevId: 263953918
show more ...
|
Revision tags: llvmorg-9.0.0-rc2 |
|
#
926fb685 |
| 13-Aug-2019 |
Mehdi Amini <aminim@google.com> |
Express ownership transfer in PassManager API through std::unique_ptr (NFC)
Since raw pointers are always passed around for IR construct without implying any ownership transfer, it can be error pron
Express ownership transfer in PassManager API through std::unique_ptr (NFC)
Since raw pointers are always passed around for IR construct without implying any ownership transfer, it can be error prone to have implicit ownership transferred the same way. For example this code can seem harmless:
Pass *pass = .... pm.addPass(pass); pm.addPass(pass); pm.run(module);
PiperOrigin-RevId: 263053082
show more ...
|
Revision tags: llvmorg-9.0.0-rc1, llvmorg-10-init |
|
#
0002e296 |
| 16-Jul-2019 |
Nicolas Vasilache <ntv@google.com> |
Move affine.for and affine.if to ODS
As the move to ODS is made, body and region names across affine and loop dialects are uniformized.
PiperOrigin-RevId: 258416590
|
Revision tags: llvmorg-8.0.1, llvmorg-8.0.1-rc4 |
|
#
2e1187dd |
| 03-Jul-2019 |
Andy Davis <andydavis@google.com> |
Globally change load/store/dma_start/dma_wait operations over to 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
Globally change load/store/dma_start/dma_wait operations over to 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
show more ...
|
Revision tags: llvmorg-8.0.1-rc3, llvmorg-8.0.1-rc2 |
|
#
f1b848e4 |
| 05-Jun-2019 |
River Riddle <riverriddle@google.com> |
NFC: Rename FuncBuilder to OpBuilder and refactor to take a top level region instead of a function.
PiperOrigin-RevId: 251563898
|
#
7a43da60 |
| 31-May-2019 |
Amit Sabne <asabne@google.com> |
Loop invariant code motion - remove reliance on getForwardSlice. Add more tests.
--
PiperOrigin-RevId: 250950703
|
Revision tags: llvmorg-8.0.1-rc1 |
|
#
d5b60ee8 |
| 12-May-2019 |
River Riddle <riverriddle@google.com> |
Replace Operation::isa with llvm::isa.
--
PiperOrigin-RevId: 247789235
|
#
0134b5df |
| 11-May-2019 |
Chris Lattner <clattner@google.com> |
Cleanups and simplifications to code, noticed by inspection. NFC.
--
PiperOrigin-RevId: 247758075
|