HomePhabricator

[InstCombine] Improve infinite loop detection

Authored by kuhar on Dec 20 2019, 1:08 PM.

Description

[InstCombine] Improve infinite loop detection

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.

Reviewers: spatel, lebedev.ri, nikic, xbolva00, grosser

Reviewed By: spatel

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D71673

Details

Committed
kuharDec 20 2019, 1:15 PM
Reviewer
spatel
Differential Revision
D71673: [InstCombine] Improve infinite loop detection
Parents
rG494b1318ca77: Customize simplified dumping and matching of LambdaExpr
Branches
Unknown
Tags
Unknown