This enables tracking calls that cross symbol table boundaries. It also simplifies some of the implementation details of CallableOpInterface, i.e. there can only be one region within the callable operation.
Depends On D72042
Paths
| Differential D72043
[mlir] Update the CallGraph for nested symbol references, and simplify CallableOpInterface ClosedPublic Authored by rriddle on Dec 31 2019, 3:46 PM.
Details Summary This enables tracking calls that cross symbol table boundaries. It also simplifies some of the implementation details of CallableOpInterface, i.e. there can only be one region within the callable operation. Depends On D72042
Diff Detail
Event TimelineHerald added subscribers: llvm-commits, nicolasvasilache, antiagainst and 4 others. · View Herald Transcript rriddle added a child revision: D72044: [mlir] Add support for attaching a visibility to symbols..Dec 31 2019, 3:46 PM Comment Actions Unit tests: pass. 61162 tests passed, 0 failed and 728 were skipped. clang-tidy: fail. Please fix clang-tidy findings. clang-format: pass. Build artifacts: diff.json, clang-tidy.txt, clang-format.patch, CMakeCache.txt, console-log.txt, test-results.xml jpienaar marked an inline comment as done. Comment ActionsLG, thanks
This revision is now accepted and ready to land.Jan 8 2020, 1:54 PM Herald added subscribers: lucyrfox, mgester, arpith-jacob. · View Herald TranscriptJan 8 2020, 1:54 PM Closed by commit rGc7748404920b: [mlir] Update the CallGraph for nested symbol references, and simplify… (authored by rriddle). · Explain WhyJan 13 2020, 3:54 PM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 237805 mlir/include/mlir/Analysis/CallInterfaces.td
mlir/include/mlir/IR/Function.h
mlir/lib/Analysis/CallGraph.cpp
mlir/lib/Transforms/Inliner.cpp
mlir/lib/Transforms/Utils/InliningUtils.cpp
mlir/test/Analysis/test-callgraph.mlir
mlir/test/lib/TestDialect/TestOps.td
|
I'm trying to think when that would even happen where we aren't in some weird state, but can't, but also not sure it would be an error state so just skipping seems fine.