diff options
author | Bjorn Pettersson <bjorn.a.pettersson@ericsson.com> | 2024-04-16 18:53:19 +0200 |
---|---|---|
committer | Bjorn Pettersson <bjorn.a.pettersson@ericsson.com> | 2024-04-26 13:41:21 +0200 |
commit | 8e2f6495c0bac1dd6ee32b6a0d24152c9c343624 (patch) | |
tree | 57f69b9ab9090abf454de10d0ef220d8d4dc5332 /llvm/lib/Transforms/Utils/CloneFunction.cpp | |
parent | 73472c5996716cda0dbb3ddb788304e0e7e6a323 (diff) | |
download | llvm-8e2f6495c0bac1dd6ee32b6a0d24152c9c343624.zip llvm-8e2f6495c0bac1dd6ee32b6a0d24152c9c343624.tar.gz llvm-8e2f6495c0bac1dd6ee32b6a0d24152c9c343624.tar.bz2 |
[DAGCombiner] Do not always fold FREEZE over BUILD_VECTOR (#85932)
Avoid turning a BUILD_VECTOR that can be recognized as "all zeros",
"all ones" or "constant" into something that depends on
freeze(undef), as that would destroy those properties.
Instead we replace undef by 0/-1 in such vectors, making it possible
to fold away the freeze. We typically use -1 if the BUILD_VECTOR
would identify as "all ones", and otherwise we use the value 0.
Diffstat (limited to 'llvm/lib/Transforms/Utils/CloneFunction.cpp')
0 files changed, 0 insertions, 0 deletions