[PATCH] D60656: [LVI][CVP] Calculate with.overflow result range

Nikita Popov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Apr 13 13:09:27 PDT 2019


nikic created this revision.
nikic added reviewers: spatel, lebedev.ri, sanjoy.
Herald added subscribers: llvm-commits, hiraditya.
Herald added a project: LLVM.
nikic added a parent revision: D60650: [LVI][CVP] Constrain values in with.overflow branches.

In LVI, calculate the range of `extractvalue(op.with.overflow(%x, %y), 0)` as the range of `op(%x, %y)`. This is mainly useful in conjunction with D60650 <https://reviews.llvm.org/D60650>: If the result of the operation is extracted in a branch guarded against overflow, then the value of `%x` will be appropriately constrained and the result range of the operation will be calculated taking that into account.


Repository:
  rL LLVM

https://reviews.llvm.org/D60656

Files:
  llvm/lib/Analysis/LazyValueInfo.cpp
  llvm/test/Transforms/CorrelatedValuePropagation/overflow_predicate.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D60656.195032.patch
Type: text/x-patch
Size: 5348 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190413/14b1aff8/attachment.bin>


More information about the llvm-commits mailing list