llvm-project/mlir/lib/IR
Chris Lattner ae618428f6 Greatly simplify the ConvertToCFG pass, converting it from a module pass to a
function pass, and eliminating the need to copy over code and do
interprocedural updates.  While here, also improve it to make fewer empty
blocks, and rename it to "LowerIfAndFor" since that is what it does.  This is
a net reduction of ~170 lines of code.

As drive-bys, change the splitBlock method to *not* insert an unconditional
branch, since that behavior is annoying for all clients.  Also improve the
AsmPrinter to not crash when a block is referenced that isn't linked into a
function.

PiperOrigin-RevId: 227308856
2019-03-29 14:48:13 -07:00
..
AffineExpr.cpp [MLIR] Add AffineMap composition and use it in Materialization 2019-03-29 14:20:22 -07:00
AffineExprDetail.h [MLIR] Sketch AffineExpr value type 2019-03-29 13:25:42 -07:00
AffineMap.cpp Add Type to int/float attributes. 2019-03-29 13:59:23 -07:00
AffineMapDetail.h Introduce Fourier-Motzkin variable elimination + other cleanup/support 2019-03-29 13:38:24 -07:00
AsmPrinter.cpp Greatly simplify the ConvertToCFG pass, converting it from a module pass to a 2019-03-29 14:48:13 -07:00
AttributeDetail.h Type system: replace Type::getBitWidth with getIntOrFloatBitWidth 2019-03-29 14:30:43 -07:00
AttributeListStorage.h Delicately re-layer Operation, Statement, and OperationStmt, reworking 2019-03-29 14:41:05 -07:00
Attributes.cpp add a method to get FloatAttr value as double 2019-03-29 14:41:34 -07:00
Block.cpp Greatly simplify the ConvertToCFG pass, converting it from a module pass to a 2019-03-29 14:48:13 -07:00
Builders.cpp Tidy up references to "basic blocks" that should refer to blocks now. NFC. 2019-03-29 14:44:59 -07:00
BuiltinOps.cpp 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. 2019-03-29 14:43:58 -07:00
Dialect.cpp Adds ConstantFoldHook registry in MLIRContext 2019-03-29 14:04:34 -07:00
Function.cpp Extend InstVisitor and Walker to handle arbitrary CFG functions, expand the 2019-03-29 14:46:58 -07:00
Instruction.cpp Standardize naming of statements -> instructions, revisting the code base to be 2019-03-29 14:44:30 -07:00
IntegerSet.cpp Introduce Fourier-Motzkin variable elimination + other cleanup/support 2019-03-29 13:38:24 -07:00
IntegerSetDetail.h Introduce Fourier-Motzkin variable elimination + other cleanup/support 2019-03-29 13:38:24 -07:00
Location.cpp Support NameLoc and CallSiteLoc for mlir::Location 2019-03-29 14:37:34 -07:00
LocationDetail.h Support NameLoc and CallSiteLoc for mlir::Location 2019-03-29 14:37:34 -07:00
MLIRContext.cpp Merge Operation into OperationInst and standardize nomenclature around 2019-03-29 14:42:23 -07:00
Module.cpp Implement initial support for function attributes, including parser, printer, 2019-03-29 13:02:44 -07:00
Operation.cpp Merge the verifier logic for all functions into a unified framework, this 2019-03-29 14:45:43 -07:00
PatternMatch.cpp Standardize naming of statements -> instructions, revisting the code base to be 2019-03-29 14:44:30 -07:00
TypeDetail.h Unify type uniquing and construction. 2019-03-29 14:34:46 -07:00
Types.cpp Unify type uniquing and construction. 2019-03-29 14:34:46 -07:00
Value.cpp Standardize naming of statements -> instructions, revisting the code base to be 2019-03-29 14:44:30 -07:00