aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
diff options
context:
space:
mode:
authorUtkarsh Saxena <usx@google.com>2025-11-06 23:27:33 -0500
committerGitHub <noreply@github.com>2025-11-06 23:27:33 -0500
commitc9b41699978132e83abf2ce4dd63eb21e69f846a (patch)
tree0822d0739f52e236113a5e9add625a399a8c7b22 /lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
parent5314d99d30528fde9052a39cfc7948c2919cb6b6 (diff)
downloadllvm-c9b41699978132e83abf2ce4dd63eb21e69f846a.zip
llvm-c9b41699978132e83abf2ce4dd63eb21e69f846a.tar.gz
llvm-c9b41699978132e83abf2ce4dd63eb21e69f846a.tar.bz2
[LifetimeSafety] Optimize fact storage with IDs and vector-based lookup (#165963)
Optimize the FactManager and DataflowAnalysis classes by using vector-based storage with ID-based lookups instead of maps. - Added a `FactID` type using the `utils::ID` template to uniquely identify facts - Modified `Fact` class to store and manage IDs - Changed `FactManager` to use vector-based storage indexed by block ID instead of a map - Updated `DataflowAnalysis` to use vector-based storage for states instead of maps - Modified lookups to use ID-based indexing for better performance Improves compile time hit on long-tail targets like `tools/clang/lib/CodeGen/CMakeFiles/obj.clangCodeGen.dir/TargetBuiltins/RISCV.cpp.o`​ from [21%](http://llvm-compile-time-tracker.com/compare_clang.php?from=6e25a04027ca786b7919657c7df330a33985ceea&to=20b42efa277c8b1915db757863e1fc26531cfd53&stat=instructions%3Au&sortBy=absolute-difference) to [3.2%](http://llvm-compile-time-tracker.com/compare_clang.php?from=6e25a04027ca786b7919657c7df330a33985ceea&to=d2d1cd1109c3a85344457bfff6f092ae7b96b211&stat=instructions%3Au&sortBy=absolute-difference)
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp')
0 files changed, 0 insertions, 0 deletions