[all-commits] [llvm/llvm-project] f395a4: [SCEVExpand] Only create required predicate checks.
Florian Hahn via All-commits
all-commits at lists.llvm.org
Fri Jan 7 06:50:34 PST 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: f395a4f8d5dca005c951b5a881b74ec0a96d0c4c
https://github.com/llvm/llvm-project/commit/f395a4f8d5dca005c951b5a881b74ec0a96d0c4c
Author: Florian Hahn <flo at fhahn.com>
Date: 2022-01-07 (Fri, 07 Jan 2022)
Changed paths:
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/test/Transforms/LoopDistribute/scev-inserted-runtime-check.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/optimal-epilog-vectorization.ll
M llvm/test/Transforms/LoopVectorize/X86/illegal-parallel-loop-uniform-write.ll
M llvm/test/Transforms/LoopVectorize/X86/pr35432.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-complex.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization.ll
M llvm/test/Transforms/LoopVectorize/pr30654-phiscev-sext-trunc.ll
M llvm/test/Transforms/LoopVectorize/pr45259.ll
M llvm/test/Transforms/LoopVectorize/runtime-check-small-clamped-bounds.ll
M llvm/test/Transforms/LoopVersioning/wrapping-pointer-non-integral-addrspace.ll
M llvm/test/Transforms/LoopVersioning/wrapping-pointer-versioning.ll
Log Message:
-----------
[SCEVExpand] Only create required predicate checks.
Currently generateOverflowCheck always creates code for Step being
negative and positive, followed by a select at the end depending on
Step's sign.
This patch updates the code to only create either the checks for step
being positive or negative, if the sign is known.
Follow-up to D116696.
Reviewed By: reames
Differential Revision: https://reviews.llvm.org/D116747
More information about the All-commits
mailing list