llvm-project/mlir/lib/IR
River Riddle 0d6ebb4f0d [mlir] Refactor operation results to use a single use list for all results of the operation.
Summary: A new class is added, IRMultiObjectWithUseList, that allows for representing an IR use list that holds multiple sub values(used in this case for OpResults). This class provides all of the same functionality as the base IRObjectWithUseList, but for specific sub-values. This saves a word per operation result and is a necessary step in optimizing the layout of operation results. For now the use list is placed on the operation itself, so zero-result operations grow by a word. When the work for optimizing layout is finished, this can be moved back to being a trailing object based on memory/runtime benchmarking.

Reviewed By: jpienaar

Differential Revision: https://reviews.llvm.org/D71955
2019-12-30 20:50:07 -08:00
..
AffineExpr.cpp Adjust License.txt file to use the LLVM license 2019-12-23 15:33:37 -08:00
AffineExprDetail.h Adjust License.txt file to use the LLVM license 2019-12-23 15:33:37 -08:00
AffineMap.cpp Adjust License.txt file to use the LLVM license 2019-12-23 15:33:37 -08:00
AffineMapDetail.h Adjust License.txt file to use the LLVM license 2019-12-23 15:33:37 -08:00
AsmPrinter.cpp NFC: Replace ValuePtr with Value and remove it now that Value is value-typed. 2019-12-23 16:36:53 -08:00
AttributeDetail.h Adjust License.txt file to use the LLVM license 2019-12-23 15:33:37 -08:00
Attributes.cpp Adjust License.txt file to use the LLVM license 2019-12-23 15:33:37 -08:00
Block.cpp NFC: Replace ValuePtr with Value and remove it now that Value is value-typed. 2019-12-23 16:36:53 -08:00
Builders.cpp NFC: Replace ValuePtr with Value and remove it now that Value is value-typed. 2019-12-23 16:36:53 -08:00
CMakeLists.txt Add a new OpAsmOpInterface to allow for ops to directly hook into the AsmPrinter. 2019-11-20 10:45:45 -08:00
Diagnostics.cpp Adjust License.txt file to use the LLVM license 2019-12-23 15:33:37 -08:00
Dialect.cpp Adjust License.txt file to use the LLVM license 2019-12-23 15:33:37 -08:00
Function.cpp Adjust License.txt file to use the LLVM license 2019-12-23 15:33:37 -08:00
FunctionImplementation.cpp Adjust License.txt file to use the LLVM license 2019-12-23 15:33:37 -08:00
IntegerSet.cpp Adjust License.txt file to use the LLVM license 2019-12-23 15:33:37 -08:00
IntegerSetDetail.h Adjust License.txt file to use the LLVM license 2019-12-23 15:33:37 -08:00
Location.cpp Adjust License.txt file to use the LLVM license 2019-12-23 15:33:37 -08:00
LocationDetail.h Adjust License.txt file to use the LLVM license 2019-12-23 15:33:37 -08:00
MLIRContext.cpp Adjust License.txt file to use the LLVM license 2019-12-23 15:33:37 -08:00
Module.cpp Adjust License.txt file to use the LLVM license 2019-12-23 15:33:37 -08:00
Operation.cpp [mlir] Refactor operation results to use a single use list for all results of the operation. 2019-12-30 20:50:07 -08:00
OperationSupport.cpp Resubmit: ReImplement the Value classes as value-typed objects wrapping an internal pointer storage. 2019-12-23 16:05:05 -08:00
PatternMatch.cpp Change the `notifyRootUpdated` API to be transaction based. 2019-12-23 16:26:15 -08:00
Region.cpp NFC: Replace ValuePtr with Value and remove it now that Value is value-typed. 2019-12-23 16:36:53 -08:00
StandardTypes.cpp Adjust License.txt file to use the LLVM license 2019-12-23 15:33:37 -08:00
SymbolTable.cpp Adjust License.txt file to use the LLVM license 2019-12-23 15:33:37 -08:00
TypeDetail.h Adjust License.txt file to use the LLVM license 2019-12-23 15:33:37 -08:00
TypeUtilities.cpp NFC: Replace ValuePtr with Value and remove it now that Value is value-typed. 2019-12-23 16:36:53 -08:00
Types.cpp Adjust License.txt file to use the LLVM license 2019-12-23 15:33:37 -08:00
Value.cpp [mlir] Refactor operation results to use a single use list for all results of the operation. 2019-12-30 20:50:07 -08:00
Visitors.cpp Adjust License.txt file to use the LLVM license 2019-12-23 15:33:37 -08:00