[all-commits] [llvm/llvm-project] 91836f: [LVI][CVP] Handle (x | y) < C style conditions
Nikita Popov via All-commits
all-commits at lists.llvm.org
Wed Jul 1 11:47:58 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 91836fd7f3c128b4c608bd4b389a64ff4ac1db8a
https://github.com/llvm/llvm-project/commit/91836fd7f3c128b4c608bd4b389a64ff4ac1db8a
Author: Nikita Popov <nikita.ppv at gmail.com>
Date: 2020-07-01 (Wed, 01 Jul 2020)
Changed paths:
M llvm/lib/Analysis/LazyValueInfo.cpp
M llvm/test/Transforms/CorrelatedValuePropagation/icmp.ll
Log Message:
-----------
[LVI][CVP] Handle (x | y) < C style conditions
InstCombine may convert conditions like (x < C) && (y < C) into
(x | y) < C (for some C). This patch 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.
Differential Revision: https://reviews.llvm.org/D82715
More information about the All-commits
mailing list