Page MenuHomePhabricator

[InstCombine] Improve infinite loop detection
ClosedPublic

Authored by kuhar on Dec 18 2019, 1:00 PM.

Details

Summary

This patch limits the default number of iterations performed by InstCombine. It also exposes a new option that allows to specify how many iterations is considered getting stuck in an infinite loop.

Based on experiments performed on real-world C++ programs, InstCombine seems to perform at most ~8-20 iterations, so treating 1000 iterations as an infinite loop seems like a safe choice. See D71145 for details.

The two limits can be specified via command line options.

Diff Detail

Event Timeline

kuhar created this revision.Dec 18 2019, 1:00 PM
Herald added a project: Restricted Project. · View Herald Transcript
Herald added a subscriber: hiraditya. · View Herald Transcript
spatel accepted this revision.Dec 20 2019, 9:57 AM

LGTM

This revision is now accepted and ready to land.Dec 20 2019, 9:57 AM
This revision was automatically updated to reflect the committed changes.