This is an archive of the discontinued LLVM Phabricator instance.

ValueTracking: Handle !absolute_symbol in computeKnownBits
ClosedPublic

Authored by arsenm on Jun 26 2023, 10:01 AM.

Details

Summary

Use a unit test since I don't see any existing uses try to make use of
the high bits of a pointer.

This will also assert if the metadata type doesn't match the pointer
width, but I consider that a defect in the verifier and shouldn't be
handled.

AMDGPU allocates LDS globals by assigning !absolute_symbol with the
final fixed address. Tracking the high bits are 0 may help with
addressing mode matching.

Diff Detail

Event Timeline

arsenm created this revision.Jun 26 2023, 10:01 AM
Herald added a project: Restricted Project. · View Herald TranscriptJun 26 2023, 10:01 AM
arsenm requested review of this revision.Jun 26 2023, 10:01 AM
Herald added a project: Restricted Project. · View Herald TranscriptJun 26 2023, 10:01 AM
Herald added a subscriber: wdng. · View Herald Transcript
nikic accepted this revision.Jun 26 2023, 1:17 PM

LGTM

This revision is now accepted and ready to land.Jun 26 2023, 1:17 PM
arsenm retitled this revision from ValueTracking: Handle !absolute_value in computeKnownBits to ValueTracking: Handle !absolute_symbol in computeKnownBits.Jun 28 2023, 4:27 AM
arsenm edited the summary of this revision. (Show Details)Jun 28 2023, 4:30 AM