[ConstraintElim] Queue facts and checks directly.
authorFlorian Hahn <flo@fhahn.com>
Mon, 5 Dec 2022 16:44:19 +0000 (16:44 +0000)
committerFlorian Hahn <flo@fhahn.com>
Mon, 5 Dec 2022 16:44:20 +0000 (16:44 +0000)
commit6887cfb982d3a590a4d81123b2d68cb056773166
tree19b64af2b06e557c857db384b3097c01d4860cd1
parentbe2ca025556008f208246623c2b8ac9ef623553c
[ConstraintElim] Queue facts and checks directly.

This allows interleaving facts and checks in a single block. In
particular this enables using facts from assumes for conditions in the
same block that come after the assume.

This could be extended to only try to simplify checks at the point where
a condition is used.

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D138452
llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
llvm/test/Transforms/ConstraintElimination/assumes.ll
llvm/test/Transforms/ConstraintElimination/debug.ll