This is an archive of the discontinued LLVM Phabricator instance.

[BasicAA] Account for wrapping when using abs(VarIndex) >= abs(Scale).
ClosedPublic

Authored by fhahn on Mar 15 2022, 7:02 AM.

Details

Summary

The patch adds an extra check to only set MinAbsVarIndex if
abs(V * Scale) won't wrap. In the absence of IsNSW, try to use the
bitwidths of the original V and Scale to rule out wrapping.

Attempt to model https://alive2.llvm.org/ce/z/HE8ZKj

The code in the else if below probably needs the same treatment, but I
need to come up with a test first.

Diff Detail

Event Timeline

fhahn created this revision.Mar 15 2022, 7:02 AM
fhahn requested review of this revision.Mar 15 2022, 7:02 AM
Herald added a project: Restricted Project. · View Herald TranscriptMar 15 2022, 7:02 AM
This revision is now accepted and ready to land.Mar 15 2022, 11:34 AM
This revision was landed with ongoing or failed builds.Mar 18 2022, 7:41 AM
This revision was automatically updated to reflect the committed changes.