aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h
diff options
context:
space:
mode:
authorjeanPerier <jperier@nvidia.com>2024-01-29 16:45:25 +0100
committerGitHub <noreply@github.com>2024-01-29 16:45:25 +0100
commitdf3f0eeeacbe50a6e4b2ce7c2a12f96e7b6ce5e0 (patch)
tree9b6d5de9e4439b610df505b8bdd60205ff90616e /lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h
parentce72f78f37199d693a65b6c7c1d637fafbb13727 (diff)
downloadllvm-df3f0eeeacbe50a6e4b2ce7c2a12f96e7b6ce5e0.zip
llvm-df3f0eeeacbe50a6e4b2ce7c2a12f96e7b6ce5e0.tar.gz
llvm-df3f0eeeacbe50a6e4b2ce7c2a12f96e7b6ce5e0.tar.bz2
[flang] Fix invalid iterator erasure in boxed-procedure pass (#79830)
The code in BoxedProcedureRewrite was erasing the mappings <old type, new type> once "new type" was fully translated. This was done in an invalid way because the map was an llvm::SmallMapVector that do not have stable iterators, and new items were added to the map between the creation of the iterator and its erasure. It is anyway not needed and expensive to erase the types (see llvm::MapVector note), the cache can be used for the whole pass, which is very beneficial in the context of an apps using "big derived types" (dozens of components/parents).
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h')
0 files changed, 0 insertions, 0 deletions