diff options
author | Teresa Johnson <tejohnson@google.com> | 2024-10-25 11:09:57 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-10-25 11:09:57 -0700 |
commit | 144ddca9ed6a439ad8a421c3ff2ea763532341ba (patch) | |
tree | 9fcb0c7de2e9d52b7ce1024a4bbeeabcb7788344 /clang/lib/Lex/ModuleMap.cpp | |
parent | 843c2fbe7f983c2a2059f753e4494f06fb645a9e (diff) | |
download | llvm-144ddca9ed6a439ad8a421c3ff2ea763532341ba.zip llvm-144ddca9ed6a439ad8a421c3ff2ea763532341ba.tar.gz llvm-144ddca9ed6a439ad8a421c3ff2ea763532341ba.tar.bz2 |
[MemProf] Avoid duplicate edges between nodes (#113337)
The recent change to add support for cloning indirect calls
inadvertantly caused duplicate edges to be created between the same
caller/callee pair. This is due to the new moveCalleeEdgeToNewCaller
not properly guarding the addition of a new edge (ironically I was
testing for that in an assertion, but failed to handle that case
specially otherwise). Now simply move the context ids over to any
existing edge.
This issue in turn led to some assumptions in cloning being violated,
resulting in a later crash.
Add a test for this case to checkNode.
Diffstat (limited to 'clang/lib/Lex/ModuleMap.cpp')
0 files changed, 0 insertions, 0 deletions