Files
llvm-project/llvm/lib/Transforms/Utils/InlineFunction.cpp
Florian Hahn 1353f7cd54 [Inliner] Fix dangling pointer in OriginallyIndirectCalls. (#191242)
changeToInvokeAndSplitBasicBlock replaces an exising call instruction
with an invoke instruction. This leaves a dangling pointer in
OriginallyIndirectCalls. This means we miss !inline_history metadata on
the invokes replacing the direct calls.

It also cause non-determinism, where the inliner adds !inline_history
entries to unrelated call instructions, if we happen to re-allocate a
new call at the same address as a dangling pointer in the set.

PR: https://github.com/llvm/llvm-project/pull/191242
2026-04-09 19:06:48 +01:00

148 KiB