[ConstraintElimination] Bail out if system gets too big.
authorFlorian Hahn <flo@fhahn.com>
Sun, 6 Dec 2020 19:58:33 +0000 (19:58 +0000)
committerFlorian Hahn <flo@fhahn.com>
Sun, 6 Dec 2020 20:19:15 +0000 (20:19 +0000)
commitf19876c5366136da942b733d6e4b435fb19863a3
treeaf4b5c4e516fed198427076b91a971aa874c7b30
parentd1c14dd0fc95e8d3400dd447b516e073ba1efc07
[ConstraintElimination] Bail out if system gets too big.

For some inputs, the constraint system can grow quite large during
solving, because it replaces complex constraints with one or more
simpler constraints. This adds a cut-off to avoid compile-time explosion
on problematic inputs.
llvm/include/llvm/Analysis/ConstraintSystem.h
llvm/lib/Analysis/ConstraintSystem.cpp
llvm/test/Transforms/ConstraintElimination/large-system-growth.ll [new file with mode: 0644]