#
496f4590 |
| 03-Oct-2019 |
Christian Sigg <csigg@google.com> |
Generalize parse/printBinaryOp to parse/printOneResultOp.
PiperOrigin-RevId: 272722539
|
#
8503ffbe |
| 01-Oct-2019 |
Christian Sigg <csigg@google.com> |
Add verification error message for ops that require at least one operand or result.
PiperOrigin-RevId: 272153634
|
#
c57f202c |
| 28-Sep-2019 |
Jacques Pienaar <jpienaar@google.com> |
Switch explicit create methods to match generated build's order
The generated build methods have result type before the arguments (operands and attributes, which are also now adjacent in the explici
Switch explicit create methods to match generated build's order
The generated build methods have result type before the arguments (operands and attributes, which are also now adjacent in the explicit create method). This also results in changing the create method's ordering to match most build method's ordering.
PiperOrigin-RevId: 271755054
show more ...
|
#
3a643de9 |
| 21-Sep-2019 |
River Riddle <riverriddle@google.com> |
NFC: Pass OpAsmPrinter by reference instead of by pointer.
MLIR follows the LLVM style of pass-by-reference.
PiperOrigin-RevId: 270401378
|
#
729727eb |
| 21-Sep-2019 |
River Riddle <riverriddle@google.com> |
NFC: Pass OperationState by reference instead of by pointer.
MLIR follows the LLVM convention of passing by reference instead of by pointer.
PiperOrigin-RevId: 270396945
|
#
2797517e |
| 20-Sep-2019 |
River Riddle <riverriddle@google.com> |
NFC: Pass OpAsmParser by reference instead of by pointer.
MLIR follows the LLVM style of pass-by-reference.
PiperOrigin-RevId: 270315612
|
#
35df5108 |
| 19-Sep-2019 |
River Riddle <riverriddle@google.com> |
Fix nested dominance relationship between parent results and child operations.
This modifies DominanceInfo::properlyDominates(Value *value, Operation *op) to return false if the value is defined by
Fix nested dominance relationship between parent results and child operations.
This modifies DominanceInfo::properlyDominates(Value *value, Operation *op) to return false if the value is defined by a parent operation of 'op'. This prevents using values defined by the parent operation from within any child regions.
PiperOrigin-RevId: 269934920
show more ...
|
Revision tags: llvmorg-9.0.0, llvmorg-9.0.0-rc6, llvmorg-9.0.0-rc5, llvmorg-9.0.0-rc4 |
|
#
2660623a |
| 10-Sep-2019 |
Jacques Pienaar <jpienaar@google.com> |
Add pass generate per block in a function a GraphViz Dot graph with ops as nodes
* Add GraphTraits that treat a block as a graph, Operation* as node and use-relationship for edges; - Just basic gr
Add pass generate per block in a function a GraphViz Dot graph with ops as nodes
* Add GraphTraits that treat a block as a graph, Operation* as node and use-relationship for edges; - Just basic graph output; * Add use iterator to iterate over all uses of an Operation; * Add testing pass to generate op graph;
This does not support arbitrary operations other than function nor nested regions yet.
PiperOrigin-RevId: 268121782
show more ...
|
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 ...
|
#
c60c4903 |
| 28-Aug-2019 |
Stephan Herhut <herhut@google.com> |
Add implementation for tensor_load and tensor_store operations.
This change adds definitions, parsing and verification for both ops.
PiperOrigin-RevId: 265954051
|
#
2f59f768 |
| 27-Aug-2019 |
River Riddle <riverriddle@google.com> |
NFC: Remove the explicit context from Operation::create and OperationState.
The context can easily be recovered from the Location in these situations.
PiperOrigin-RevId: 265578574
|
Revision tags: llvmorg-9.0.0-rc2 |
|
#
1e429540 |
| 10-Aug-2019 |
River Riddle <riverriddle@google.com> |
NFC: Standardize the terminology used for parent ops/regions/etc.
There are currently several different terms used to refer to a parent IR unit in 'get' methods: getParent/getEnclosing/getContaining
NFC: Standardize the terminology used for parent ops/regions/etc.
There are currently several different terms used to refer to a parent IR unit in 'get' methods: getParent/getEnclosing/getContaining. This cl standardizes all of these methods to use 'getParent*'.
PiperOrigin-RevId: 262680287
show more ...
|
Revision tags: llvmorg-9.0.0-rc1, llvmorg-10-init |
|
#
4dfe6d45 |
| 11-Jul-2019 |
Alex Zinenko <zinenko@google.com> |
FuncOp::eraseBody: drop all references before erasing blocks
Operations in a block can use a value defined in a dominating block. When a block, and therefore all its operations, is deleted, the ope
FuncOp::eraseBody: drop all references before erasing blocks
Operations in a block can use a value defined in a dominating block. When a block, and therefore all its operations, is deleted, the operations are not allowed to have any remaining uses. Drop all uses of values in all blocks before deleting them in FuncOp::eraseBody to avoid deleting an operation before deleting the users of its results.
PiperOrigin-RevId: 257628002
show more ...
|
Revision tags: llvmorg-8.0.1, llvmorg-8.0.1-rc4 |
|
#
ce502af9 |
| 08-Jul-2019 |
River Riddle <riverriddle@google.com> |
NFC: Remove the various "::getFunction" methods.
These methods assume that a function is a valid builtin top-level operation, and removing these methods allows for decoupling FuncOp and IR/. Utility
NFC: Remove the various "::getFunction" methods.
These methods assume that a function is a valid builtin top-level operation, and removing these methods allows for decoupling FuncOp and IR/. Utility "getParentOfType" methods have been added to Operation/OpState to allow for querying the first parent operation of a given type.
PiperOrigin-RevId: 257018913
show more ...
|
#
e7d594bb |
| 03-Jul-2019 |
River Riddle <riverriddle@google.com> |
Replace the implementation of Function and Module with FuncOp and ModuleOp.
This is an important step in allowing for the top-level of the IR to be extensible. FuncOp and ModuleOp contain all of the
Replace the implementation of Function and Module with FuncOp and ModuleOp.
This is an important step in allowing for the top-level of the IR to be extensible. FuncOp and ModuleOp contain all of the necessary functionality, while using the existing operation infrastructure. As an interim step, many of the usages of Function and Module, including the name, will remain the same. In the future, many of these will be relaxed to allow for many different types of top-level operations to co-exist.
PiperOrigin-RevId: 256427100
show more ...
|
#
25f29e1b |
| 02-Jul-2019 |
River Riddle <riverriddle@google.com> |
NFC: Update the Operation 'walk' methods to use llvm::function_ref instead of std::function.
PiperOrigin-RevId: 256099638
|
#
54cd6a7e |
| 01-Jul-2019 |
River Riddle <riverriddle@google.com> |
NFC: Refactor Function to be value typed.
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 greatl
NFC: Refactor Function to be value typed.
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
show more ...
|
#
929466b5 |
| 27-Jun-2019 |
River Riddle <riverriddle@google.com> |
Cleanup the 'clone' methods and remove the need to explicitly pass in the context.
This also adds a new 'Region::cloneInto' method that accepts an insertion position.
PiperOrigin-RevId: 255504640
|
Revision tags: llvmorg-8.0.1-rc3 |
|
#
a4c3a645 |
| 26-Jun-2019 |
River Riddle <riverriddle@google.com> |
Move the emitError/Warning/Remark utility methods out of MLIRContext and into the mlir namespace.
Now that Locations are attributes, they have direct access to the MLIR context. This allows for simp
Move the emitError/Warning/Remark utility methods out of MLIRContext and into the mlir namespace.
Now that Locations are attributes, they have direct access to the MLIR context. This allows for simplifying error emission by removing unnecessary context lookups.
PiperOrigin-RevId: 255112791
show more ...
|
#
52ba7857 |
| 24-Jun-2019 |
River Riddle <riverriddle@google.com> |
NFC: Simplify Operation::getContext to use the context within the location.
PiperOrigin-RevId: 254771979
|
#
25734596 |
| 22-Jun-2019 |
River Riddle <riverriddle@google.com> |
Define a ModuleOp that represents a Module as an Operation.
The ModuleOp contains a single region that must contain a single block. This block must be terminated by a new pseudo operation 'module_te
Define a ModuleOp that represents a Module as an Operation.
The ModuleOp contains a single region that must contain a single block. This block must be terminated by a new pseudo operation 'module_terminator'. The syntax for this operations is as follows:
`module` (`attributes` attr-dict)? region
Example:
module { ... }
module attributes { ... } { ... }
PiperOrigin-RevId: 254513752
show more ...
|
#
74df13fd |
| 17-Jun-2019 |
Mehdi Amini <aminim@google.com> |
Refactor generic op printing: extract a public printFunctionalType() on OpAsmPrinter (NFC)
PiperOrigin-RevId: 253674584
|
#
31e2a6ef |
| 17-Jun-2019 |
Lei Zhang <antiagainst@google.com> |
Also consider attributes when getting context for Operation
This CL also updates to use containing region as a fallback way to find context since functions will eventually become ops with regions.
Also consider attributes when getting context for Operation
This CL also updates to use containing region as a fallback way to find context since functions will eventually become ops with regions.
PiperOrigin-RevId: 253627322
show more ...
|
Revision tags: 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
|
#
42c19e82 |
| 03-Jun-2019 |
River Riddle <riverriddle@google.com> |
Add a utility function to OperationName for extracting the dialect name.
PiperOrigin-RevId: 251333376
|