[all-commits] [llvm/llvm-project] a134ab: [ValueTracking] Make isGuaranteedNotToBeUndef() mo...
Nikita Popov via All-commits
all-commits at lists.llvm.org
Thu Dec 21 07:49:51 PST 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: a134abf4be132cfff2fc5132d6226db919c0865b
https://github.com/llvm/llvm-project/commit/a134abf4be132cfff2fc5132d6226db919c0865b
Author: Nikita Popov <npopov at redhat.com>
Date: 2023-12-21 (Thu, 21 Dec 2023)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/CorrelatedValuePropagation/cond-at-use.ll
Log Message:
-----------
[ValueTracking] Make isGuaranteedNotToBeUndef() more precise (#76160)
Currently isGuaranteedNotToBeUndef() is the same as
isGuaranteedNotToBeUndefOrPoison(). This function is used in places
where we only care about undef (due to multi-use issues), not poison.
Make it more precise by only considering instructions that can create
undef (like loads or call), and ignore those that can only create
poison. In particular, we can ignore poison-generating flags.
This means that inferring more flags has less chance to pessimize other
transforms.
More information about the All-commits
mailing list