aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h
diff options
context:
space:
mode:
authorTeresa Johnson <tejohnson@google.com>2024-07-30 15:33:54 -0700
committerGitHub <noreply@github.com>2024-07-30 15:33:54 -0700
commit273e74b4458fa0d11cafb31b5b2164a8d2006541 (patch)
treee0482daf33d126446c5a094ca165596082bcb30b /lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h
parente59c8322632d9e6c9a56d9dfbaf79b4c4ba05bfa (diff)
downloadllvm-273e74b4458fa0d11cafb31b5b2164a8d2006541.zip
llvm-273e74b4458fa0d11cafb31b5b2164a8d2006541.tar.gz
llvm-273e74b4458fa0d11cafb31b5b2164a8d2006541.tar.bz2
[LCSSA] Cache the loop exit blocks across recursive analysis (NFC) (#101087)
The computation of loop exit blocks recently showed up as a huge compile time cost for a large file. This computation was already being cached during an invocation of formLCSSAForInstructions, but can also be cached across callers formLCSSA and formLCSSARecursively (the latter was what was being invoked in the examined case). Since each of these functions has an external entry point invoked from other passes, doing so required refactoring each into a worker mechanism that takes a LoopExitBlocks map, and the externally callable version that declares the map. That way we can pass it down from the outermost formLCSSARecursively. This reduced the time spent in the LCSSA pass from ~110s to ~1s.
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h')
0 files changed, 0 insertions, 0 deletions