[all-commits] [llvm/llvm-project] bfbfbd: [LVI] Fix and re-enable at-use reasoning (PR60629)
Nikita Popov via All-commits
all-commits at lists.llvm.org
Tue Feb 14 06:56:58 PST 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: bfbfbd8b65def121ba325c6c68aca09349d119fc
https://github.com/llvm/llvm-project/commit/bfbfbd8b65def121ba325c6c68aca09349d119fc
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-02-14 (Tue, 14 Feb 2023)
Changed paths:
M llvm/lib/Analysis/LazyValueInfo.cpp
M llvm/test/Transforms/CorrelatedValuePropagation/cond-at-use.ll
Log Message:
-----------
[LVI] Fix and re-enable at-use reasoning (PR60629)
This fixes the handling of phi nodes in getConstantRangeAtUse()
and re-enables it, reverting the workaround from
c77c186a647b385c291ddabecd70a2b4f84ae342.
For phi nodes, while we can make use of the edge condition for the
incoming value, we shouldn't look past the phi node to look for
further conditions, because we might be reasoning about values
from two different cycle iterations (which will have the same
SSA value).
To handle this more specifically we would have to detect cycles,
and there doesn't seem to be any motivating case for that at this
point.
More information about the All-commits
mailing list