diff options
author | Max Kazantsev <mkazantsev@azul.com> | 2021-03-19 11:29:48 +0700 |
---|---|---|
committer | Max Kazantsev <mkazantsev@azul.com> | 2021-03-19 11:29:48 +0700 |
commit | fff1363ba0ae50da3f8f7b732c90e47e504f18a9 (patch) | |
tree | 852e98c785f2bd37c0df8634220449d69ea72f30 /llvm/lib/ProfileData/SampleProfReader.cpp | |
parent | d8ab7ad317305d80e405ffdb4f33983f743a6ca2 (diff) | |
download | llvm-fff1363ba0ae50da3f8f7b732c90e47e504f18a9.zip llvm-fff1363ba0ae50da3f8f7b732c90e47e504f18a9.tar.gz llvm-fff1363ba0ae50da3f8f7b732c90e47e504f18a9.tar.bz2 |
[SCEV] Add false->any implication
By definition of Implication operator, `false -> true` and `false -> false`. It means that
`false` implies any predicate, no matter true or false. We don't need to go any further
trying to prove the statement we need and just always say that `false` implies it in this case.
In practice it means that we are trying to prove something guarded by `false` condition,
which means that this code is unreachable, and we can safely prove any fact or perform any
transform in this code.
Differential Revision: https://reviews.llvm.org/D98706
Reviewed By: lebedev.ri
Diffstat (limited to 'llvm/lib/ProfileData/SampleProfReader.cpp')
0 files changed, 0 insertions, 0 deletions