aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
diff options
context:
space:
mode:
authorFlorian Hahn <flo@fhahn.com>2025-06-26 14:19:38 +0100
committerGitHub <noreply@github.com>2025-06-26 14:19:38 +0100
commit5b76cdba5aac5107d17157698b59d627afb27a01 (patch)
tree3b69d7f54e521eac9f76781e5e9f34c522c95521 /llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
parentfe4b4033edf2315a9c62dc2303130fc07a994a98 (diff)
downloadllvm-5b76cdba5aac5107d17157698b59d627afb27a01.zip
llvm-5b76cdba5aac5107d17157698b59d627afb27a01.tar.gz
llvm-5b76cdba5aac5107d17157698b59d627afb27a01.tar.bz2
[VPlan] Handle AnyOf when unrolling. (#145340)
Currently AnyOf is not handled correctly during unrolling. This is currently causing mis-compiles when vectorizing early-exit loops with interleaving forced (even though selectInterleaveCount will currently only pick IC = 1, unless forced by the user). This patch updates handling of AnyOf to be analogous to computing final reduction results: during unrolling, the created copies for its original operand are added as additional operands, and AnyOf will always produce the reduced value across all unrolled iterations. Note that the generated code is still incorrect, as we also need to handle FirstActiveLane and ExtractElement with FirstActiveLane operands. I will share patches for those soon as well. PR: https://github.com/llvm/llvm-project/pull/145340
Diffstat (limited to 'llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp')
0 files changed, 0 insertions, 0 deletions