History log of /llvm-project/mlir/lib/IR/Operation.cpp (Results 226 – 250 of 306)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 6fa31813 04-Apr-2019 River Riddle <riverriddle@google.com>

Remove the non-postorder walk functions from Function/Block/Instruction and rename walkPostOrder to walk.

--

PiperOrigin-RevId: 241965239


# 67a52c44 02-Apr-2019 River Riddle <riverriddle@google.com>

Rewrite the verify hooks on operations to use LogicalResult instead of bool. This also changes the return of Operation::emitError/emitOpError to LogicalResult as well.

--

PiperOrigin-RevId: 2415880

Rewrite the verify hooks on operations to use LogicalResult instead of bool. This also changes the return of Operation::emitError/emitOpError to LogicalResult as well.

--

PiperOrigin-RevId: 241588075

show more ...


# 3173a63f 28-Mar-2019 Alex Zinenko <zinenko@google.com>

Dialect Conversion: convert regions of operations when cloning them

Dialect conversion currently clones the operations that did not match any
pattern. This includes cloning any regions that belong

Dialect Conversion: convert regions of operations when cloning them

Dialect conversion currently clones the operations that did not match any
pattern. This includes cloning any regions that belong to these operations.
Instead, apply conversion recursively to the nested regions.

Note that if an operation matched one of the conversion patterns, it is up to
the pattern rewriter to fill in the regions of the converted operation. This
may require calling back to the converter and is left for future work.

PiperOrigin-RevId: 240872410

show more ...


# 213b8d4d 28-Mar-2019 River Riddle <riverriddle@google.com>

Rename InstOperand to OpOperand.

PiperOrigin-RevId: 240814651


# af9760fe 28-Mar-2019 River Riddle <riverriddle@google.com>

Replace remaining usages of the Instruction class with Operation.

PiperOrigin-RevId: 240777521


# 9c085406 27-Mar-2019 River Riddle <riverriddle@google.com>

Replace usages of Instruction with Operation in the /Analysis directory.

PiperOrigin-RevId: 240569775


# 5a5bba02 27-Mar-2019 Alex Zinenko <zinenko@google.com>

Introduce affine terminator

Due to legacy reasons (ML/CFG function separation), regions in affine control
flow operations require contained blocks not to have terminators. This is
inconsistent with

Introduce affine terminator

Due to legacy reasons (ML/CFG function separation), regions in affine control
flow operations require contained blocks not to have terminators. This is
inconsistent with the notion of the block and may complicate code motion
between regions of affine control operations and other regions.

Introduce `affine.terminator`, a special terminator operation that must be used
to terminate blocks inside affine operations and transfers the control back to
he region enclosing the affine operation. For brevity and readability reasons,
allow `affine.for` and `affine.if` to omit the `affine.terminator` in their
regions when using custom printing and parsing format. The custom parser
injects the `affine.terminator` if it is missing so as to always have it
present in constructed operations.

Update transformations to account for the presence of terminator. In
particular, most code motion transformation between loops should leave the
terminator in place, and code motion between loops and non-affine blocks should
drop the terminator.

PiperOrigin-RevId: 240536998

show more ...


# c6b294ac 27-Mar-2019 Jacques Pienaar <jpienaar@google.com>

Include numeric header for std::accumulate.

PiperOrigin-RevId: 240462910


# f9d91531 27-Mar-2019 River Riddle <riverriddle@google.com>

Replace usages of Instruction with Operation in the /IR directory.

This is step 2/N to renaming Instruction to Operation.

PiperOrigin-RevId: 240459216


# 9ffdc930 26-Mar-2019 River Riddle <riverriddle@google.com>

Rename the Instruction class to Operation. This just renames the class, usages of Instruction will still refer to a typedef in the interim.

This is step 1/N to renaming Instruction to Operation.

Pi

Rename the Instruction class to Operation. This just renames the class, usages of Instruction will still refer to a typedef in the interim.

This is step 1/N to renaming Instruction to Operation.

PiperOrigin-RevId: 240431520

show more ...


# dd2b2ec5 24-Mar-2019 Chris Lattner <clattner@google.com>

Push a bunch of 'consts' out of the *Op structure, in prep for removing
OpPointer.

PiperOrigin-RevId: 240044712


# 986310a6 23-Mar-2019 Chris Lattner <clattner@google.com>

Remove const from Value, Instruction, Argument, and the various methods on the
*Op classes. This is a net reduction by almost 400LOC.

PiperOrigin-RevId: 239972443


# 5246bcee 23-Mar-2019 Chris Lattner <clattner@google.com>

Now that ConstOpPointer is gone, we can change the various methods generated by
tblgen be non-const. This requires introducing some const_cast's at the
moment, but those (and lots more stuff) will d

Now that ConstOpPointer is gone, we can change the various methods generated by
tblgen be non-const. This requires introducing some const_cast's at the
moment, but those (and lots more stuff) will disappear in subsequent patches.

This significantly simplifies those patches because the various tblgen op emitters
get adjusted.

PiperOrigin-RevId: 239954566

show more ...


# 3d6c74ff 22-Mar-2019 Chris Lattner <clattner@google.com>

Remove const from mlir::Block.

This also eliminates some incorrect reinterpret_cast logic working around it, and numerous const-incorrect issues (like block argument iteration).

PiperOrigin-RevId:

Remove const from mlir::Block.

This also eliminates some incorrect reinterpret_cast logic working around it, and numerous const-incorrect issues (like block argument iteration).

PiperOrigin-RevId: 239712029

show more ...


# 88e9f418 21-Mar-2019 Chris Lattner <clattner@google.com>

Continue pushing const out of the core IR types - in this case, remove const
from Function.

PiperOrigin-RevId: 239638635


Revision tags: llvmorg-8.0.0, llvmorg-8.0.0-rc5, llvmorg-8.0.0-rc4, llvmorg-8.0.0-rc3, llvmorg-7.1.0, llvmorg-7.1.0-rc1
# 366ebcf6 08-Feb-2019 River Riddle <riverriddle@google.com>

Remove the restriction that only registered terminator operations may terminate a block and have block operands. This allows for any operation to hold block operands. It also introduces the notion th

Remove the restriction that only registered terminator operations may terminate a block and have block operands. This allows for any operation to hold block operands. It also introduces the notion that unregistered operations may terminate a block. As such, the 'isTerminator' api on Instruction has been split into 'isKnownTerminator' and 'isKnownNonTerminator'.

PiperOrigin-RevId: 233076831

show more ...


Revision tags: llvmorg-8.0.0-rc2
# 870d7783 03-Feb-2019 River Riddle <riverriddle@google.com>

Begin the process of fully removing OperationInst. This patch cleans up references to OperationInst in the /include, /AffineOps, and lib/Analysis.

PiperOrigin-RevId: 232199262


# de2d0dfb 03-Feb-2019 River Riddle <riverriddle@google.com>

Fold the functionality of OperationInst into Instruction. OperationInst still exists as a forward declaration and will be removed incrementally in a set of followup cleanup patches.

PiperOrigin-RevI

Fold the functionality of OperationInst into Instruction. OperationInst still exists as a forward declaration and will be removed incrementally in a set of followup cleanup patches.

PiperOrigin-RevId: 232198540

show more ...


# 75553832 29-Jan-2019 River Riddle <riverriddle@google.com>

Recommit: Define a AffineOps dialect as well as an AffineIfOp operation. Replace all instances of IfInst with AffineIfOp and delete IfInst.

PiperOrigin-RevId: 231342063


# ae772b79 29-Jan-2019 Nicolas Vasilache <ntv@google.com>

Automated rollback of changelist 231318632.

PiperOrigin-RevId: 231327161


# 5ecef2b3 29-Jan-2019 River Riddle <riverriddle@google.com>

Define a AffineOps dialect as well as an AffineIfOp operation. Replace all instances of IfInst with AffineIfOp and delete IfInst.

PiperOrigin-RevId: 231318632


Revision tags: llvmorg-8.0.0-rc1
# 56544508 23-Jan-2019 Lei Zhang <antiagainst@google.com>

Unify terms regarding assembly form to use generic vs. custom

This CL just changes various docs and comments to use the term "generic" and
"custom" when mentioning assembly forms. To be consist, sev

Unify terms regarding assembly form to use generic vs. custom

This CL just changes various docs and comments to use the term "generic" and
"custom" when mentioning assembly forms. To be consist, several methods are
also renamed:

* FunctionParser::parseVerboseOperation() -> parseGenericOperation()
* ModuleState::hasShorthandForm() -> hasCustomForm()
* OpAsmPrinter::printDefaultOp() -> printGenericOp()

PiperOrigin-RevId: 230568819

show more ...


# 37663325 16-Jan-2019 Lei Zhang <antiagainst@google.com>

Change impl::printBinaryOp() to consider operand and result type

The operand and result types of binary ops are not necessarily the
same. For those binary ops, we cannot print in the short-form asse

Change impl::printBinaryOp() to consider operand and result type

The operand and result types of binary ops are not necessarily the
same. For those binary ops, we cannot print in the short-form assembly.

Enhance impl:::printBinaryOp to consider operand and result types
to select which assembly form to use.

PiperOrigin-RevId: 229608142

show more ...


# 54948a43 03-Jan-2019 River Riddle <riverriddle@google.com>

Split the standard types from builtin types and move them into separate source files(StandardTypes.cpp/h). After this cl only FunctionType and IndexType are builtin types, but IndexType will likely b

Split the standard types from builtin types and move them into separate source files(StandardTypes.cpp/h). After this cl only FunctionType and IndexType are builtin types, but IndexType will likely become a standard type when the ml/cfgfunc merger is done. Mechanical NFC.

PiperOrigin-RevId: 227750918

show more ...


# 56e2a6cc 29-Dec-2018 Chris Lattner <clattner@google.com>

Merge the verifier logic for all functions into a unified framework, this
requires enhancing DominanceInfo to handle the structure of an ML function,
which is required anyway. Along the way, this al

Merge the verifier logic for all functions into a unified framework, this
requires enhancing DominanceInfo to handle the structure of an ML function,
which is required anyway. Along the way, this also fixes a const correctness
problem with Instruction::getBlock().

This is step 24/n towards merging instructions and statements.

PiperOrigin-RevId: 227228900

show more ...


12345678910>>...13