This is an archive of the discontinued LLVM Phabricator instance.

[ARM] Prevent constants from ICmp instruction from being hoisted if part of a min(max()) pattern
ClosedPublic

Authored by MeeraN on Oct 1 2020, 8:12 AM.

Details

Summary

Marks constants of an ICmp instruction as free if it's only user is a select
instruction that is part of a min(max()) pattern. Ensures that in loops, in
particular when loop unrolling is turned on, SSAT will still be correctly generated.

Diff Detail

Event Timeline

MeeraN created this revision.Oct 1 2020, 8:12 AM
MeeraN requested review of this revision.Oct 1 2020, 8:12 AM
dmgreen accepted this revision.Oct 2 2020, 12:17 AM

LGTM

This revision is now accepted and ready to land.Oct 2 2020, 12:17 AM
This revision was landed with ongoing or failed builds.Oct 2 2020, 2:29 AM
This revision was automatically updated to reflect the committed changes.