llvm-project/mlir/lib/Analysis
Jeff Niu 62fe67f9eb [mlir][DCA] Fix visiting call ops when run at function scopes
When dead-code analysis is run at the scope of a function, call ops to
other functions at the same level were being marked as unreachable,
since the analysis optimistically assumes the call op to have no known
predecessors and that all predecessors are known, but the callee would
never get visited.

This patch fixes the bug by checking if a referenced function is above
the top-level op of the analysis, and is thus considered an external
callable.

Fixes #56830

Reviewed By: zero9178

Differential Revision: https://reviews.llvm.org/D130829
2022-07-31 16:03:46 -04:00
..
AliasAnalysis [mlir] Support getSuccessorInputs from parent op 2022-06-13 22:21:34 +00:00
DataFlow [mlir][DCA] Fix visiting call ops when run at function scopes 2022-07-31 16:03:46 -04:00
Presburger Use is_contained (NFC) 2022-07-30 10:35:54 -07:00
AliasAnalysis.cpp [mlir] Add support for querying the ModRef behavior from the AliasAnalysis class 2021-05-27 13:57:29 -07:00
BufferViewFlowAnalysis.cpp [mlir] Add support for operation-produced successor arguments in BranchOpInterface 2022-04-08 08:28:16 +02:00
CMakeLists.txt [mlir] Delete ForwardDataFlowAnalysis 2022-07-07 21:08:27 -07:00
CallGraph.cpp [mlir] Update SCCP and the Inliner to use SymbolTableCollection for symbol lookups 2020-10-16 12:08:48 -07:00
DataFlowAnalysis.cpp [mlir] Delete ForwardDataFlowAnalysis 2022-07-07 21:08:27 -07:00
DataFlowFramework.cpp [mlir] Swap integer range inference to the new framework 2022-07-07 20:28:13 -07:00
DataLayoutAnalysis.cpp [mlir] support memref of memref in standard-to-llvm conversion 2021-06-08 11:11:31 +02:00
Liveness.cpp Use llvm::sort instead of std::sort where possible 2022-07-23 15:19:05 +02:00
SliceAnalysis.cpp [mlir:Analysis] Move the LoopAnalysis library to Dialect/Affine/Analysis 2022-01-18 10:28:22 -08:00