[PATCH] D82715: [LVI][CVP] Handle (x | y) < C style conditions

Nikita Popov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Jun 28 06:33:13 PDT 2020


nikic created this revision.
nikic added reviewers: lebedev.ri, spatel, reames.
Herald added subscribers: llvm-commits, JDevlieghere, hiraditya.
Herald added a project: LLVM.

InstCombine converts conditions like `(x < C) && (y < C)` into `(x | y) < C`. This teaches LVI to recognize that in this case, it can infer either `x < C` or `y < C` along the edge.

This fixes the issue reported at https://github.com/rust-lang/rust/issues/73827.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D82715

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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D82715.273929.patch
Type: text/x-patch
Size: 5457 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200628/3b1b33fd/attachment-0001.bin>


More information about the llvm-commits mailing list