This is an archive of the discontinued LLVM Phabricator instance.

[StructuralHash] Track global variables
ClosedPublic

Authored by aeubanks on Apr 25 2023, 3:27 PM.

Diff Detail

Event Timeline

aeubanks created this revision.Apr 25 2023, 3:27 PM
Herald added a project: Restricted Project. · View Herald TranscriptApr 25 2023, 3:27 PM
aeubanks requested review of this revision.Apr 25 2023, 3:27 PM
Herald added a project: Restricted Project. · View Herald TranscriptApr 25 2023, 3:27 PM
nikic accepted this revision.Apr 26 2023, 12:05 AM

LGTM

This revision is now accepted and ready to land.Apr 26 2023, 12:05 AM
This revision was landed with ongoing or failed builds.May 15 2023, 5:05 PM
This revision was automatically updated to reflect the committed changes.

With this patch the following started failing:

opt -passes=strip-dead-prototypes bbi-83491.ll -o /dev/null -verify-analysis-invalidation

It looks like strip-dead-prototypes has removed

@.str = external constant [15 x i16]

Is that what the change aimed to catch? Should I write an issue about it?

nikic added a comment.Jun 13 2023, 5:51 AM

The hashing is skipping function declarations, so maybe it would make sense to skip global declarations as well?

yes skipping global declarations makes sense

yes skipping global declarations makes sense

I made https://reviews.llvm.org/D153855 for that.