JJacques Pienaar[mlir] SCCP add missing pessimistic setting
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[mlir][NFC] Update textual references of func to func.func in Transform tests The special case parsing of func operations is being removed. | 4 年前 | |
[mlir][NFC] Update textual references of func to func.func in Transform tests The special case parsing of func operations is being removed. | 4 年前 | |
[mlir] Ignore effects on allocated results when checking whether the op is trivially dead. In the current state, this is only special cased for Allocation effects, but any effects on results allocated by the operation may be ignored when checking whether the op may be removed, as none of them are possible to be observed if the result is unused. A use case for this is for IRs for languages which always initialize on allocation. To correctly model such operations, a Write as well as an Allocation effect should be placed on the result. This would prevent the Op from being deleted if unused however. This patch fixes that issue. Differential Revision: https://reviews.llvm.org/D129854 | 3 年前 | |
[mlir][NFC] Update textual references of func to func.func in Transform tests The special case parsing of func operations is being removed. | 4 年前 | |
[mlir][NFC] Update textual references of func to func.func in Transform tests The special case parsing of func operations is being removed. | 4 年前 | |
[mlir][NFC] Update textual references of func to func.func in Transform tests The special case parsing of func operations is being removed. | 4 年前 | |
[mlir][NFC] Update textual references of func to func.func in Transform tests The special case parsing of func operations is being removed. | 4 年前 | |
[mlir][NFC] Update textual references of func to func.func in Transform tests The special case parsing of func operations is being removed. | 4 年前 | |
[mlir][NFC] Update textual references of func to func.func in Transform tests The special case parsing of func operations is being removed. | 4 年前 | |
[mlir][NFC] Update textual references of func to func.func in Transform tests The special case parsing of func operations is being removed. | 4 年前 | |
[mlir][NFC] Update textual references of func to func.func in Transform tests The special case parsing of func operations is being removed. | 4 年前 | |
[mlir][NFC] Update textual references of func to func.func in Transform tests The special case parsing of func operations is being removed. | 4 年前 | |
[mlir][Inliner] Support recursion in Inliner This fixes Bug https://github.com/llvm/llvm-project/issues/53492 and uses InlineHistory to track recursive inlining. Reviewed By: rriddle Differential Revision: https://reviews.llvm.org/D127072 | 3 年前 | |
[mlir][NFC] Update textual references of func to func.func in Transform tests The special case parsing of func operations is being removed. | 4 年前 | |
[mlir][NFC] Update textual references of func to func.func in Transform tests The special case parsing of func operations is being removed. | 4 年前 | |
[mlir][NFC] Update textual references of func to func.func in Transform tests The special case parsing of func operations is being removed. | 4 年前 | |
[mlir][NFC] Update textual references of func to func.func in Transform tests The special case parsing of func operations is being removed. | 4 年前 | |
[mlir][NFC] Update textual references of func to func.func in Transform tests The special case parsing of func operations is being removed. | 4 年前 | |
[mlir][NFC] Update textual references of func to func.func in Transform tests The special case parsing of func operations is being removed. | 4 年前 | |
[mlir][NFC] Update textual references of func to func.func in Transform tests The special case parsing of func operations is being removed. | 4 年前 | |
[mlir][NFC] Update textual references of func to func.func in Transform tests The special case parsing of func operations is being removed. | 4 年前 | |
[mlir][NFC] Update textual references of func to func.func in Transform tests The special case parsing of func operations is being removed. | 4 年前 | |
[mlir][NFC] Update textual references of func to func.func in Transform tests The special case parsing of func operations is being removed. | 4 年前 | |
[mlir][NFC] Update remaining textual references of un-namespaced func operations The special case parsing of operations in the func dialect is being removed, and operations will require the dialect namespace prefix. | 4 年前 | |
[mlir][NFC] Update textual references of func to func.func in Transform tests The special case parsing of func operations is being removed. | 4 年前 | |
[mlir][NFC] Update textual references of func to func.func in Transform tests The special case parsing of func operations is being removed. | 4 年前 | |
[mlir][NFC] Update textual references of func to func.func in Transform tests The special case parsing of func operations is being removed. | 4 年前 | |
[mlir][NFC] Update textual references of func to func.func in Transform tests The special case parsing of func operations is being removed. | 4 年前 | |
[mlir][NFC] Update textual references of func to func.func in Transform tests The special case parsing of func operations is being removed. | 4 年前 | |
[mlir][NFC] Update textual references of func to func.func in Transform tests The special case parsing of func operations is being removed. | 4 年前 | |
[mlir][NFC] Update textual references of func to func.func in Transform tests The special case parsing of func operations is being removed. | 4 年前 | |
[mlir][NFC] Update textual references of func to func.func in Transform tests The special case parsing of func operations is being removed. | 4 年前 | |
[mlir][NFC] Update textual references of func to func.func in Transform tests The special case parsing of func operations is being removed. | 4 年前 | |
[mlir][NFC] Update textual references of func to func.func in Transform tests The special case parsing of func operations is being removed. | 4 年前 | |
[mlir][NFC] Update textual references of func to func.func in Transform tests The special case parsing of func operations is being removed. | 4 年前 | |
[mlir][NFC] Update textual references of func to func.func in Transform tests The special case parsing of func operations is being removed. | 4 年前 | |
[mlir][arith] cmpi: move constant to the right side Convert arith.cmpi to the canonical form with constants on the right side to simplify further optimizations and open more opportunities for CSE. Differential Revision: https://reviews.llvm.org/D129929 | 3 年前 | |
[mlir] SCCP add missing pessimistic setting When this was updated in D127139 the update in-place case was no longer marked as pessimistic. Add back in. Differential Revision: https://reviews.llvm.org/D130453 | 3 年前 | |
[mlir] Remove special case parsing/printing of func operations This was leftover from when the standard dialect was destroyed, and when FuncOp moved to the func dialect. Now that these transitions have settled a bit we can drop these. Most updates were handled using a simple regex: replace ^( *)func with $1func.func Differential Revision: https://reviews.llvm.org/D124146 | 4 年前 | |
[mlir][NFC] Update textual references of func to func.func in Transform tests The special case parsing of func operations is being removed. | 4 年前 | |
[mlir][SCF] Add utility method to add new yield values to a loop. The current implementation of cloneWithNewYields has a few issues - It clones the loop body of the original loop to create a new loop. This is very expensive. - It performs erase operations which are incompatible when this method is called from within a pattern rewrite. All erases need to go through PatternRewriter. To address these a new utility method replaceLoopWithNewYields is added which - moves the operations from the original loop into the new loop. - replaces all uses of the original loop with the corresponding results of the new loop - use a call back to allow caller to generate the new yield values. - the original loop is modified to just yield the basic block arguments corresponding to the iter_args of the loop. This represents a no-op loop. The loop itself is dead (since all its uses are replaced), but is not removed. The caller is expected to erase the op. Consequently, this method can be called from within a matchAndRewrite method of a PatternRewriter. The cloneWithNewYields could be replaces with replaceLoopWithNewYields, but that seems to trigger a failure during walks, potentially due to the operations being moved. That is left as a TODO. Differential Revision: https://reviews.llvm.org/D125147 | 4 年前 | |
[mlir][NFC] Update textual references of func to func.func in Transform tests The special case parsing of func operations is being removed. | 4 年前 | |
[mlir][NFC] Update textual references of func to func.func in Transform tests The special case parsing of func operations is being removed. | 4 年前 | |
[mlir][NFC] Update textual references of func to func.func in Transform tests The special case parsing of func operations is being removed. | 4 年前 | |
[mlir][Canonicalize] Fix command-line options The canonicalize command-line options currently have no effect, as the pass is reading the pass options in its constructor, before they're actually initialized. This results in the default values of the options always being used. The change here moves the initialization of the GreedyRewriteConfig out of the constructor, so that it runs after the pass options have been parsed. Fixes #55466 Reviewed By: rriddle Differential Revision: https://reviews.llvm.org/D125621 | 4 年前 | |
[mlir][NFC] Update textual references of func to func.func in Transform tests The special case parsing of func operations is being removed. | 4 年前 | |
[mlir][NFC] Update textual references of func to func.func in Transform tests The special case parsing of func operations is being removed. | 4 年前 | |
[mlir] Remove special case parsing/printing of func operations This was leftover from when the standard dialect was destroyed, and when FuncOp moved to the func dialect. Now that these transitions have settled a bit we can drop these. Most updates were handled using a simple regex: replace ^( *)func with $1func.func Differential Revision: https://reviews.llvm.org/D124146 | 4 年前 | |
[mlir][NFC] Update textual references of func to func.func in Transform tests The special case parsing of func operations is being removed. | 4 年前 | |
[mlir][NFC] Update textual references of func to func.func in Transform tests The special case parsing of func operations is being removed. | 4 年前 | |
[mlir][NFC] Update textual references of func to func.func in Transform tests The special case parsing of func operations is being removed. | 4 年前 | |
[mlir][NFC] Update textual references of func to func.func in Transform tests The special case parsing of func operations is being removed. | 4 年前 | |
[mlir][NFC] Update textual references of func to func.func in Transform tests The special case parsing of func operations is being removed. | 4 年前 | |
[mlir][NFC] Update textual references of func to func.func in Transform tests The special case parsing of func operations is being removed. | 4 年前 | |
[mlir][NFC] Update textual references of func to func.func in Transform tests The special case parsing of func operations is being removed. | 4 年前 | |
[mlir][NFC] Update textual references of func to func.func in Transform tests The special case parsing of func operations is being removed. | 4 年前 | |
[mlir][NFC] Update textual references of func to func.func in Transform tests The special case parsing of func operations is being removed. | 4 年前 | |
[GreedyPatternRewriter] Avoid reversing constant order The previous fix from af371f9f98da only applied when using a bottom-up traversal. The change here applies the constant preprocessing logic to the top-down case as well. This resolves the issue with the canonicalizer pass still reordering constants, since it uses a top-down traversal by default. Fixes #51892 Reviewed By: rriddle Differential Revision: https://reviews.llvm.org/D125623 | 4 年前 | |
[mlir][NFC] Update textual references of func to func.func in Transform tests The special case parsing of func operations is being removed. | 4 年前 | |
[mlir] Remove special case parsing/printing of func operations This was leftover from when the standard dialect was destroyed, and when FuncOp moved to the func dialect. Now that these transitions have settled a bit we can drop these. Most updates were handled using a simple regex: replace ^( *)func with $1func.func Differential Revision: https://reviews.llvm.org/D124146 | 4 年前 | |
[mlir:MultiOpDriver] Add operands to worklist should be checked Operand's defining op may not be valid for adding to the worklist under stict mode Reviewed By: rriddle Differential Revision: https://reviews.llvm.org/D127180 | 3 年前 | |
[mlir][NFC] Update textual references of func to func.func in Transform tests The special case parsing of func operations is being removed. | 4 年前 | |
[mlir][NFC] Update textual references of func to func.func in Transform tests The special case parsing of func operations is being removed. | 4 年前 | |
[mlir][transforms] Add a topological sort utility and pass This patch adds a topological sort utility and pass. A topological sort reorders the operations in a block without SSA dominance such that, as much as possible, users of values come after their producers. The utility function sorts topologically the operation range in a given block with an optional user-provided callback that can be used to virtually break cycles. The toposort pass itself recursively sorts graph regions under the target op. Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D125063 | 4 年前 |