This is an archive of the discontinued LLVM Phabricator instance.

[Polly] Don't crash on invalid delinearization result.
ClosedPublic

Authored by efriedma on May 10 2019, 3:02 PM.

Details

Summary

In certain cases, it's possible for delinearization to decide one of the array dimensions should be some function of an induction variable inside the scop. Make sure if this happens, we refuse to use those dimensions for delinearization.

Usually, we end up rejecting the scop before it actually crashes, but it looks like it's possible to slip past other checks in certain cases involving smax expressions.

Fixes a crash that started showing up this week on the polly AOSP builder. As far as I can tell, this is a longstanding issue, though; it was just exposed by better SCEV analysis of smin expressions.

Diff Detail

Repository
rPLO Polly

Event Timeline

efriedma created this revision.May 10 2019, 3:02 PM
Herald added a project: Restricted Project. · View Herald Transcript
Herald added a subscriber: javed.absar. · View Herald Transcript
grosser accepted this revision.May 10 2019, 10:42 PM

LGTM elli

This revision is now accepted and ready to land.May 10 2019, 10:42 PM
This revision was automatically updated to reflect the committed changes.