This is an archive of the discontinued LLVM Phabricator instance.

[SCEV] Also use info from assumes in applyLoopGuards.
ClosedPublic

Authored by fhahn on Sep 17 2020, 12:56 PM.

Details

Summary

Similar to collecting information from branches guarding a loop, we can
also collect information from assumes dominating the loop header.

Fixes PR47247.

Diff Detail

Event Timeline

fhahn created this revision.Sep 17 2020, 12:56 PM
Herald added a project: Restricted Project. · View Herald TranscriptSep 17 2020, 12:56 PM
Herald added a subscriber: hiraditya. · View Herald Transcript
fhahn requested review of this revision.Sep 17 2020, 12:56 PM

commit message?

llvm/lib/Analysis/ScalarEvolution.cpp
12600

Nit: perform the dyn_cast first, dominance check is probably more costly.

fhahn updated this revision to Diff 294372.Sep 25 2020, 11:20 AM

commit message?

It was not quite ready yet, but now everything should be in place and this patch only contains the important change. I'll update the title/description shortly after updating the diff.

fhahn retitled this revision from [SCEV] Use information from assume for BE taken count. to [SCEV] Also use info from assumes in applyLoopGuards..Sep 25 2020, 11:22 AM
fhahn edited the summary of this revision. (Show Details)
This revision is now accepted and ready to land.Sep 25 2020, 12:44 PM
This revision was landed with ongoing or failed builds.Sep 28 2020, 5:15 AM
This revision was automatically updated to reflect the committed changes.
fhahn marked an inline comment as done.