This is an archive of the discontinued LLVM Phabricator instance.

[CallGraph] Update callback call sites in RefreshCallGraph
ClosedPublic

Authored by jdoerfert on Jul 13 2020, 2:11 PM.

Details

Summary

Since D82572, we keep "reference" edges for callback call sites. While
not strictly necessary they can improve the traversal order. However, we
did not update them properly in case a pass removed the callback call
site which caused a verification error (PR46687). With this patch we
update these reference edges properly during the invocation of
CallGraphSCCPass::RefreshCallGraph in non-checking mode.

Diff Detail

Event Timeline

jdoerfert created this revision.Jul 13 2020, 2:11 PM
Herald added a reviewer: baziotis. · View Herald Transcript
Herald added a project: Restricted Project. · View Herald Transcript
jdoerfert marked an inline comment as done.Jul 13 2020, 2:24 PM

The test is actually not testing what it should. I failed to create one so far.

ye-luo added a subscriber: ye-luo.Jul 13 2020, 4:25 PM

Assertion failure in PR46687 goes away with this patch.

This revision is now accepted and ready to land.Jul 13 2020, 4:42 PM
This revision was automatically updated to reflect the committed changes.