aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/CloneFunction.cpp
diff options
context:
space:
mode:
authorBjorn Pettersson <bjorn.a.pettersson@ericsson.com>2024-04-16 18:53:19 +0200
committerBjorn Pettersson <bjorn.a.pettersson@ericsson.com>2024-04-26 13:41:21 +0200
commit8e2f6495c0bac1dd6ee32b6a0d24152c9c343624 (patch)
tree57f69b9ab9090abf454de10d0ef220d8d4dc5332 /llvm/lib/Transforms/Utils/CloneFunction.cpp
parent73472c5996716cda0dbb3ddb788304e0e7e6a323 (diff)
downloadllvm-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