[all-commits] [llvm/llvm-project] 0d6ebb: [mlir] Refactor operation results to use a single ...
River Riddle via All-commits
all-commits at lists.llvm.org
Mon Dec 30 21:22:52 PST 2019
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 0d6ebb4f0dd7ca81bdfc2a210b1d5ef46e0c9587
https://github.com/llvm/llvm-project/commit/0d6ebb4f0dd7ca81bdfc2a210b1d5ef46e0c9587
Author: River Riddle <riverriddle at google.com>
Date: 2019-12-30 (Mon, 30 Dec 2019)
Changed paths:
M mlir/include/mlir/IR/Block.h
M mlir/include/mlir/IR/Operation.h
M mlir/include/mlir/IR/UseDefLists.h
M mlir/include/mlir/IR/Value.h
M mlir/lib/IR/Operation.cpp
M mlir/lib/IR/Value.cpp
M mlir/lib/Transforms/ViewOpGraph.cpp
Log Message:
-----------
[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
More information about the All-commits
mailing list