This is an archive of the discontinued LLVM Phabricator instance.

[AssumptionCache] Do not track llvm.assume calls (PR49043)
ClosedPublic

Authored by jdoerfert on Feb 6 2021, 9:50 AM.

Details

Summary

This fixes PR49043 by invalidating the handle on RAUW. This will work
fine assuming all existing RAUW users add the new assumption to the
cache. That means, if a new llvm.assume call replaces an old one, you
need to add the new one now as a RAUW is not enough anymore.

Diff Detail

Event Timeline

jdoerfert created this revision.Feb 6 2021, 9:50 AM
jdoerfert requested review of this revision.Feb 6 2021, 9:50 AM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 6 2021, 9:50 AM
nikic accepted this revision.Feb 6 2021, 10:08 AM

LGTM as well. I'm okay with either this one or D96168. This is a direct fix for the bug, while D96168 is more an improvement to avoid keeping nulled-out value handles around in the cache.

This revision is now accepted and ready to land.Feb 6 2021, 10:08 AM

LGTM as well. I'm okay with either this one or D96168. This is a direct fix for the bug, while D96168 is more an improvement to avoid keeping nulled-out value handles around in the cache.

I'll do one after the other.If there is ever a compile time or other problem we can revisit the self updating set but don't run into this again.

This revision was landed with ongoing or failed builds.Feb 6 2021, 10:18 AM
This revision was automatically updated to reflect the committed changes.