This is an archive of the discontinued LLVM Phabricator instance.

[AliasSetTracker] More precise AAInfo intersection check
ClosedPublic

Authored by nikic on Jul 8 2020, 2:56 PM.

Details

Summary

The code currently checks whether the intersection has one of TBAA, Scope or NoAlias unset -- however, those might have already been unset in the first place, in which case we will unnecessarily report a change. Instead, compare the intersection result to the original AAInfo.

This makes for a 0.5% geomean compile-time saving: https://llvm-compile-time-tracker.com/compare.php?from=0b39d2d75275b80994dac06b7ad05031cbd09393&to=7e6dc7d267393489b12e4884641f411d375d000e&stat=instructions

The current form of the check was introduced in https://github.com/llvm/llvm-project/commit/35548e80d67dd0d6e61c489432cfb1dafe0ddb65, which is how I ran into this.

Diff Detail

Event Timeline

nikic created this revision.Jul 8 2020, 2:56 PM
Herald added a project: Restricted Project. · View Herald TranscriptJul 8 2020, 2:56 PM
asbirlea accepted this revision.Jul 8 2020, 5:30 PM

LGTM, thank you!

This revision is now accepted and ready to land.Jul 8 2020, 5:30 PM
This revision was automatically updated to reflect the committed changes.