This is an archive of the discontinued LLVM Phabricator instance.

[ARM] Negative constants mishandled in ARM CGP
ClosedPublic

Authored by samparker on Feb 20 2019, 7:59 AM.

Details

Summary

During type promotion, sometimes we convert negative an add with a negative constant into a sub with a positive constant. The loop that performs this transformation has two issues:

  • it iterates over a set, causing non-determinism.
  • it breaks, instead of continuing, when it finds the first non-negative operand.

Diff Detail

Event Timeline

samparker created this revision.Feb 20 2019, 7:59 AM
This revision is now accepted and ready to land.Feb 21 2019, 12:44 AM
This revision was automatically updated to reflect the committed changes.
Herald added a project: Restricted Project. · View Herald TranscriptFeb 21 2019, 1:32 AM