aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
diff options
context:
space:
mode:
authorArthur Eubanks <aeubanks@google.com>2023-03-02 16:19:23 -0800
committerArthur Eubanks <aeubanks@google.com>2023-03-06 09:01:45 -0800
commit0d4a709bb876824a0afa5f86e138e8ffdcaf7661 (patch)
tree7efc39ced928f053de4fcd973b63e6529601e4c0 /lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
parentedd021368e8ec06cfcd4d56f50a7245e335a8375 (diff)
downloadllvm-0d4a709bb876824a0afa5f86e138e8ffdcaf7661.zip
llvm-0d4a709bb876824a0afa5f86e138e8ffdcaf7661.tar.gz
llvm-0d4a709bb876824a0afa5f86e138e8ffdcaf7661.tar.bz2
[Pipeline] Adjust PostOrderFunctionAttrs placement in simplification pipeline
We can infer more attribute information once functions are fully simplified, so move the PostOrderFunctionAttrs pass after the function simplification pipeline. However, just doing this can impact simplification of recursive functions since function simplification takes advantage of function attributes of callees (some LLVM tests are actually impacted by this), so keep a copy of PostOrderFunctionAttrs before the function simplification pipeline that only runs on recursive functions. For example, this fixes the small regression noticed in https://reviews.llvm.org/D128830. This requires some restructuring of the CGSCC NoRerun feature. We need to cache the ShouldNotRunFunctionPassesAnalysis analysis after the simplification is done, which now is after the second PostOrderFunctionAttrs run, rather than after the function simplification pipeline. Compile time impact: https://llvm-compile-time-tracker.com/compare.php?from=33cf40122279342b50f92a3a53f5c185390b6018&to=1bb2a07875634e508a6bdf2ca1b130f55510f060&stat=instructions:u Compile time increase from unconditionally running the first PostOrderFunctionAttrs: https://llvm-compile-time-tracker.com/compare.php?from=1bb2a07875634e508a6bdf2ca1b130f55510f060&to=f4f87e89cc7a35c64e3a103a8036192a84ae002b&stat=instructions:u Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D145210
Diffstat (limited to 'lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp')
0 files changed, 0 insertions, 0 deletions