| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[MLIR] Revamp RegionBranchOpInterface (#165429) This is still somehow a WIP, we have some issues with this interface that are not trivial to solve. This patch tries to make the concepts of RegionBranchPoint and RegionSuccessor more robust and aligned with their definition: - A RegionBranchPoint is either the parent (RegionBranchOpInterface) op or a RegionBranchTerminatorOpInterface operation in a nested region. - A RegionSuccessor is either one of the nested region or the parent RegionBranchOpInterface Some new methods with reasonnable default implementation are added to help resolving the flow of values across the RegionBranchOpInterface. It is still not trivial in the current state to walk the def-use chain backward with this interface. For example when you have the 3rd block argument in the entry block of a for-loop, finding the matching operands requires to know about the hidden loop iterator block argument and where the iterargs start. The API is designed around forward-tracking of the chain unfortunately. Try to reland #161575 ; I suspect a buildbot incremental build issue. | 9 个月前 | |
[mlir][DataFlow] Add visitBlockTransfer hook to dense analyses (#166263) Add a customizable visitBlockTransfer method to dense forward and backward dataflow analyses, allowing subclasses to customize lattice propagation behavior along control flow edges between blocks. Default implementation preserves existing join/meet semantics. This change mirrors the exiting structure of both dense dataflow classes, where RegionBranchOpInterface and callables are allowed to be customized by subclasses. The use case motivating this change is dense liveness analysis. Currently, without the customization hook the block transfer function produces incorrect results. The issue is the current logic doesn't remove the successor block arguments from the live set, as it only meets the successor state with the predecessor state (ie. set union). With this change is now possible to compute the correct result by specifying the correct logic in visitBlockTransfer. Signed-off-by: Fabian Mora <fabian.mora-cordero@amd.com> | 8 个月前 | |
[mlir] Use llvm::copy (NFC) (#168213) Identified with llvm-use-ranges. | 8 个月前 | |
Apply clang-tidy fixes for misc-include-cleaner in AliasAnalysis.cpp (NFC) | 2 年前 | |
[mlir] Add operator<< for printing Block (#92550) Turns out it was already in Analysis/CFGLoopInfo, so just move it to IR/AsmPrinter. | 2 年前 | |
Reland "[mlir] Add strided metadata range dataflow analysis" (#163403)" (#163408) This relands commit aa8499863ad23350da0912d99d189f306d0ea139. That commit was originally reverted because it caused failures in shared lib builds due to missing link dependencies. This patch relands the commit with the missing libs added. Signed-off-by: Fabian Mora <fabian.mora-cordero@amd.com> | 9 个月前 | |
[MLIR][NFC] Fix incomplete boundary comments. (#133516) I observed that we have the boundary comments in the codebase like: //===----------------------------------------------------------------------===// // ... //===----------------------------------------------------------------------===// I also observed that there are incomplete boundary comments. The revision is generated by a script that completes the boundary comments. //===----------------------------------------------------------------------===// // ... ... Signed-off-by: hanhanW <hanhan0912@gmail.com> | 1 年前 | |
[MLIR] Avoid resolving callable outside the analysis scope in DeadCodeAnalysis (#155088) We are using the symbol table machinery to lookup for a callable, but when the analysis scope if a function, such lookup will resolve outside of the scope. This can lead to race-condition issues since other passes may operate in parallel on the sibling functions. The callable would be discarded right after the lookup (we check the analysis scope), so avoiding the lookup is NFC. For the DataFlow solver, we're looking at the top-level operation, and if it isn't a SymbolTable we disable the interprocedural optimization in the solver config directly. This strategy isn't NFC but seems reasonnable and does not encounter any change in behavior in practice in tree. Fix #154948 | 10 个月前 | |
[MLIR] Apply clang-tidy fixes for misc-include-cleaner (NFC) | 2 年前 | |
[mlir] Use llvm::transform (NFC) (#167205) Identified with llvm-use-ranges. | 8 个月前 | |
[mlir] Use llvm::SmallVector::pop_back_val() (NFC) (#136452) | 1 年前 | |
[MLIR] getBackwardSlice: don't bail on ops that are IsolatedFromAbove (#158135) Ops with the IsIsolatedFromAbove trait should be captured by the backward slice. --------- Signed-off-by: Ian Wood <ianwood@u.northwestern.edu> | 10 个月前 | |
[MLIR] Revamp RegionBranchOpInterface (#165429) This is still somehow a WIP, we have some issues with this interface that are not trivial to solve. This patch tries to make the concepts of RegionBranchPoint and RegionSuccessor more robust and aligned with their definition: - A RegionBranchPoint is either the parent (RegionBranchOpInterface) op or a RegionBranchTerminatorOpInterface operation in a nested region. - A RegionSuccessor is either one of the nested region or the parent RegionBranchOpInterface Some new methods with reasonnable default implementation are added to help resolving the flow of values across the RegionBranchOpInterface. It is still not trivial in the current state to walk the def-use chain backward with this interface. For example when you have the 3rd block argument in the entry block of a for-loop, finding the matching operands requires to know about the hidden loop iterator block argument and where the iterargs start. The API is designed around forward-tracking of the chain unfortunately. Try to reland #161575 ; I suspect a buildbot incremental build issue. | 9 个月前 | |
[mlir][IR] Fix Block::without_terminator for blocks without terminator (#154498) Blocks without a terminator are not handled correctly by Block::without_terminator: the last operation is excluded, even when it is not a terminator. With this commit, only terminators are excluded. If the last operation is unregistered, it is included for safety. | 11 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 9 个月前 | ||
| 8 个月前 | ||
| 8 个月前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 9 个月前 | ||
| 1 年前 | ||
| 10 个月前 | ||
| 2 年前 | ||
| 8 个月前 | ||
| 1 年前 | ||
| 10 个月前 | ||
| 9 个月前 | ||
| 11 个月前 |