History log of /llvm-project/mlir/lib/IR/Operation.cpp (Results 176 – 200 of 306)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 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


12345678910>>...13