[ConstraintElimination] Initial support for using info from assumes.
authorFlorian Hahn <flo@fhahn.com>
Thu, 26 Aug 2021 09:08:00 +0000 (10:08 +0100)
committerFlorian Hahn <flo@fhahn.com>
Thu, 26 Aug 2021 09:08:00 +0000 (10:08 +0100)
commitaa5b6c97793ab4091862f4a1636eb39b31d91b3c
treefb1fdce5795082dcdb807b76dfd7e26bcc490f2b
parentdd1ec869b0f572490252ef48d73fb87eadfb4335
[ConstraintElimination] Initial support for using info from assumes.

This patch adds initial support to use facts from @llvm.assume calls. It
intentionally does not handle all possible cases to keep things simple
initially.

For now, the condition from an assume is made available on entry to the
containing block, if the assume is guaranteed to execute. Otherwise it
is only made available in the successor blocks.
llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
llvm/test/Transforms/ConstraintElimination/assumes.ll