This is an archive of the discontinued LLVM Phabricator instance.

[SCEV] Consider guards in exit limit computation
AbandonedPublic

Authored by mkazantsev on Mar 14 2018, 4:13 AM.

Details

Summary

Current implementation of computeExitLimit only allows to use explicit
branch conditions to evaluate backedge taken count. This patch teaches
it to take guards conditions into account as well.

Diff Detail

Event Timeline

mkazantsev created this revision.Mar 14 2018, 4:13 AM
mkazantsev planned changes to this revision.Mar 15 2018, 4:54 AM

Internal fuzzing testing found some failures, putting this on hold until they are investigated.

mkazantsev requested review of this revision.Mar 21 2018, 2:39 AM

It seems that this patch is OK, it just revealed some existing bug in IndVar simplifier: it fails to forget loops at some point.

mkazantsev planned changes to this revision.Mar 21 2018, 2:40 AM

(Sorry, wrong patch)

mkazantsev abandoned this revision.Jun 19 2018, 8:12 PM