#
5b9c3f7c |
| 29-Dec-2018 |
Chris Lattner <clattner@google.com> |
Tidy up references to "basic blocks" that should refer to blocks now. NFC.
PiperOrigin-RevId: 227196077
|
#
456ad6a8 |
| 29-Dec-2018 |
Chris Lattner <clattner@google.com> |
Standardize naming of statements -> instructions, revisting the code base to be consistent and moving the using declarations over. Hopefully this is the last truly massive patch in this refactoring.
Standardize naming of statements -> instructions, revisting the code base to be consistent and moving the using declarations over. Hopefully this is the last truly massive patch in this refactoring.
This is step 21/n towards merging instructions and statements, NFC.
PiperOrigin-RevId: 227178245
show more ...
|
#
315a466a |
| 28-Dec-2018 |
Chris Lattner <clattner@google.com> |
Rename BasicBlock and StmtBlock to Block, and make a pass cleaning it up. I did not make an effort to rename all of the 'bb' names in the codebase, since they are still correct and any specific miss
Rename BasicBlock and StmtBlock to Block, and make a pass cleaning it up. I did not make an effort to rename all of the 'bb' names in the codebase, since they are still correct and any specific missed once can be fixed up on demand.
The last major renaming is Statement -> Instruction, which is why Statement and Stmt still appears in various places.
This is step 19/n towards merging instructions and statements, NFC.
PiperOrigin-RevId: 227163082
show more ...
|
#
d798f9ba |
| 28-Dec-2018 |
Chris Lattner <clattner@google.com> |
Rename BBArgument -> BlockArgument, Op::getOperation -> Op::getInst(), StmtResult -> InstResult, StmtOperand -> InstOperand, and remove the old names.
This is step 17/n towards merging instructions
Rename BBArgument -> BlockArgument, Op::getOperation -> Op::getInst(), StmtResult -> InstResult, StmtOperand -> InstOperand, and remove the old names.
This is step 17/n towards merging instructions and statements, NFC.
PiperOrigin-RevId: 227121537
show more ...
|
#
5187cfcf |
| 28-Dec-2018 |
Chris Lattner <clattner@google.com> |
Merge Operation into OperationInst and standardize nomenclature around OperationInst. This is a big mechanical patch.
This is step 16/n towards merging instructions and statements, NFC.
PiperOrigi
Merge Operation into OperationInst and standardize nomenclature around OperationInst. This is a big mechanical patch.
This is step 16/n towards merging instructions and statements, NFC.
PiperOrigin-RevId: 227093712
show more ...
|
#
471c9764 |
| 28-Dec-2018 |
Chris Lattner <clattner@google.com> |
Rework inherentance hierarchy: Operation now derives from Statement, and OperationInst derives from it. This allows eliminating some forwarding functions, other complex code handling multiple paths,
Rework inherentance hierarchy: Operation now derives from Statement, and OperationInst derives from it. This allows eliminating some forwarding functions, other complex code handling multiple paths, and the 'isStatement' bit tracked by Operation.
This is the last patch I think I can make before the big mechanical change merging Operation into OperationInst, coming next.
This is step 15/n towards merging instructions and statements, NFC.
PiperOrigin-RevId: 227077411
show more ...
|
#
3f190312 |
| 27-Dec-2018 |
Chris Lattner <clattner@google.com> |
Merge SSAValue, CFGValue, and MLValue together into a single Value class, which is the new base of the SSA value hierarchy. This CL also standardizes all the nomenclature and comments to use 'Value'
Merge SSAValue, CFGValue, and MLValue together into a single Value class, which is the new base of the SSA value hierarchy. This CL also standardizes all the nomenclature and comments to use 'Value' where appropriate. This also eliminates a large number of cast<MLValue>(x)'s, which is very soothing.
This is step 11/n towards merging instructions and statements, NFC.
PiperOrigin-RevId: 227064624
show more ...
|
#
776b0356 |
| 27-Dec-2018 |
Chris Lattner <clattner@google.com> |
Eliminate the Instruction, BasicBlock, CFGFunction, MLFunction, and ExtFunction classes, using the Statement/StmtBlock hierarchy and Function instead.
This *only* changes the internal data structure
Eliminate the Instruction, BasicBlock, CFGFunction, MLFunction, and ExtFunction classes, using the Statement/StmtBlock hierarchy and Function instead.
This *only* changes the internal data structures, it does not affect the user visible syntax or structure of MLIR code. Function gets new "isCFG()" sorts of predicates as a transitional measure.
This patch is gross in a number of ways, largely in an effort to reduce the amount of mechanical churn in one go. It introduces a bunch of using decls to keep the old names alive for now, and a bunch of stuff needs to be renamed.
This is step 10/n towards merging instructions and statements, NFC.
PiperOrigin-RevId: 227044402
show more ...
|
#
abf72a8b |
| 27-Dec-2018 |
Chris Lattner <clattner@google.com> |
Rename findFunction from the ML side of the house to be named getFunction(), making it more similar to the CFG side of things. It is true that in a deeply nested case that this is not a guaranteed O
Rename findFunction from the ML side of the house to be named getFunction(), making it more similar to the CFG side of things. It is true that in a deeply nested case that this is not a guaranteed O(1) time operation, and that 'get' could lead compiler hackers to think this is cheap, but we need to merge these and we can look into solutions for this in the future if it becomes a problem in practice.
This is step 9/n towards merging instructions and statements, NFC.
PiperOrigin-RevId: 226983931
show more ...
|
#
d613f5ab |
| 26-Dec-2018 |
Chris Lattner <clattner@google.com> |
Refactor MLFunction to contain a StmtBlock for its body instead of inheriting from it. This is necessary progress to squaring away the parent relationship that a StmtBlock has with its enclosing if/
Refactor MLFunction to contain a StmtBlock for its body instead of inheriting from it. This is necessary progress to squaring away the parent relationship that a StmtBlock has with its enclosing if/for/fn, and makes room for functions to have more than one block in the future. This also removes IfClause and ForStmtBody.
This is step 5/n towards merging instructions and statements, NFC.
PiperOrigin-RevId: 226936541
show more ...
|
#
9a4060d3 |
| 26-Dec-2018 |
Chris Lattner <clattner@google.com> |
Eliminate the ability to add operands to an instruction, used in a narrow case for SSA values in terminators, but easily worked around. At the same time, move the StmtOperand list in a OperationStmt
Eliminate the ability to add operands to an instruction, used in a narrow case for SSA values in terminators, but easily worked around. At the same time, move the StmtOperand list in a OperationStmt to the end of its trailing objects list so we can *reduce* the number of operands, without affecting offsets to the other stuff in the allocation.
This is important because we want OperationStmts to be consequtive, including their operands - we don't want to use an std::vector of operands like Instructions have.
This is patch 4/n towards merging instructions and statements, NFC.
PiperOrigin-RevId: 226865727
show more ...
|
Revision tags: llvmorg-7.0.1, llvmorg-7.0.1-rc3 |
|
#
adca59e4 |
| 07-Dec-2018 |
Smit Hinsu <hinsu@google.com> |
Return bool from all emitError methods similar to Operation::emitOpError
This simplifies call-sites returning true after emitting an error. After the conversion, dropped braces around single stateme
Return bool from all emitError methods similar to Operation::emitOpError
This simplifies call-sites returning true after emitting an error. After the conversion, dropped braces around single statement blocks as that seems more common.
Also, switched to emitError method instead of emitting Error kind using the emitDiagnostic method.
TESTED with existing unit tests
PiperOrigin-RevId: 224527868
show more ...
|
#
b5723228 |
| 05-Dec-2018 |
Lei Zhang <antiagainst@google.com> |
Add isIntOrIndex() and isIntOrIndexOrFloat() into Type
The checks for `isa<IndexType>() || isa<IntegerType>()` and `isa<IndexType>() || isa<IntegerType>() || isa<FloatType>()` are frequently used, s
Add isIntOrIndex() and isIntOrIndexOrFloat() into Type
The checks for `isa<IndexType>() || isa<IntegerType>()` and `isa<IndexType>() || isa<IntegerType>() || isa<FloatType>()` are frequently used, so it's useful to have some helper methods for them.
PiperOrigin-RevId: 224133596
show more ...
|
#
1f5330ac |
| 28-Nov-2018 |
Lei Zhang <antiagainst@google.com> |
Verify CmpIOp's result type to be bool-like
This CL added two new traits, SameOperandsAndResultShape and ResultsAreBoolLike, and changed CmpIOp to embody these two traits. As a consequence, CmpIOp's
Verify CmpIOp's result type to be bool-like
This CL added two new traits, SameOperandsAndResultShape and ResultsAreBoolLike, and changed CmpIOp to embody these two traits. As a consequence, CmpIOp's result type now is verified to be bool-like.
PiperOrigin-RevId: 223208438
show more ...
|
#
759fd1c6 |
| 27-Nov-2018 |
River Riddle <riverriddle@google.com> |
Add support for setting the location of an IROperandOwner.
PiperOrigin-RevId: 222995814
|
#
a9d3e5ee |
| 20-Nov-2018 |
Feng Liu <fengliuai@google.com> |
Adds ConstantFoldHook registry in MLIRContext
This reverts the previous method which needs to create a new dialect with the constant fold hook from TensorFlow. This new method uses a function object
Adds ConstantFoldHook registry in MLIRContext
This reverts the previous method which needs to create a new dialect with the constant fold hook from TensorFlow. This new method uses a function object in dialect to store the constant fold hook. Once a hook is registered to the dialect, this function object will be assigned when the dialect is added to the MLIRContext.
For the operations which are not registered, a new method getRegisteredDialects is added to the MLIRContext to query the dialects which matches their op name prefixes.
PiperOrigin-RevId: 222310149
show more ...
|
#
5041e13c |
| 20-Nov-2018 |
River Riddle <riverriddle@google.com> |
Add functionality for erasing terminator successor operands and basic block arguments.
PiperOrigin-RevId: 222303233
|
#
d63ab4b4 |
| 20-Nov-2018 |
River Riddle <riverriddle@google.com> |
Add support for Operation::moveBefore(Operation *).
PiperOrigin-RevId: 222252521
|
#
8b6bc09f |
| 16-Nov-2018 |
River Riddle <riverriddle@google.com> |
Merge OperationInst functionality into Instruction.
We do some limited renaming here but define an alias for OperationInst so that a follow up cl can solely perform the large scale renaming.
PiperO
Merge OperationInst functionality into Instruction.
We do some limited renaming here but define an alias for OperationInst so that a follow up cl can solely perform the large scale renaming.
PiperOrigin-RevId: 221726963
show more ...
|
#
c7df0651 |
| 15-Nov-2018 |
River Riddle <riverriddle@google.com> |
[MLIR] Merge terminator and uses into BasicBlock operations list handling.
PiperOrigin-RevId: 221700132
|
#
503caf07 |
| 15-Nov-2018 |
River Riddle <riverriddle@google.com> |
Replace TerminatorInst with builtin terminator operations.
Note: Terminators will be merged into the operations list in a follow up patch. PiperOrigin-RevId: 221670037
|
#
de828dd2 |
| 15-Nov-2018 |
River Riddle <riverriddle@google.com> |
Fix variables only used in assertions.
PiperOrigin-RevId: 221660580
|
#
1807ba3c |
| 15-Nov-2018 |
River Riddle <riverriddle@google.com> |
Add functionality for parsing/managing operation terminator successors.
Follow up patches will work to remove TerminatorInst.
PiperOrigin-RevId: 221640621
|
#
8659f3fa |
| 13-Nov-2018 |
River Riddle <riverriddle@google.com> |
Start the plumbing for removing TerminatorInst. * Add skeleton br/cond_br builtin ops. * Add a terminator trait for operations. * Mark ReturnOp as a Terminator.
The functionality for managing/parsin
Start the plumbing for removing TerminatorInst. * Add skeleton br/cond_br builtin ops. * Add a terminator trait for operations. * Mark ReturnOp as a Terminator.
The functionality for managing/parsing/verifying successors will be added in a follow up cl.
PiperOrigin-RevId: 221283000
show more ...
|
#
f8f723cf |
| 09-Nov-2018 |
Feng Liu <fengliuai@google.com> |
Falls back to dialect constant folding hook
PiperOrigin-RevId: 220861133
|