This is an archive of the discontinued LLVM Phabricator instance.

[Attributor] Introduce bit-encodings for abstract states
ClosedPublic

Authored by jdoerfert on Mar 29 2019, 2:32 PM.

Details

Summary

The IntegerState, and its sepecialization BooleanState, can be used to
simplify the implementation of abstract attributes. The two abstract
state implementations provide storage and helpers to deal with bit-wise
encoded state.

Event Timeline

jdoerfert created this revision.Mar 29 2019, 2:32 PM
Herald added a project: Restricted Project. · View Herald TranscriptMar 29 2019, 2:32 PM

Simplify the interface & make it impossible to break invariances

jdoerfert updated this revision to Diff 193114.Apr 1 2019, 9:53 AM

Minor updates

jdoerfert updated this revision to Diff 202639.Jun 2 2019, 9:12 PM

Make the IntegerState and BooleanState visible to the outside

hfinkel accepted this revision.Jun 12 2019, 3:36 PM

LGTM.

llvm/include/llvm/Transforms/IPO/Attributor.h
377 ↗(On Diff #202639)

inidicate -> indicate

434 ↗(On Diff #202639)

Keep only "assumed bits" also set in \p BitsEncoding in addition to all known ones.

This revision is now accepted and ready to land.Jun 12 2019, 3:36 PM
This revision was automatically updated to reflect the committed changes.