[all-commits] [llvm/llvm-project] ead355: [LoopUtils] Freeze compare results for diff checks...
Florian Hahn via All-commits
all-commits at lists.llvm.org
Tue Nov 21 02:55:33 PST 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: ead35564c0136fef0c1efface7b9857ad87af9de
https://github.com/llvm/llvm-project/commit/ead35564c0136fef0c1efface7b9857ad87af9de
Author: Florian Hahn <flo at fhahn.com>
Date: 2023-11-21 (Tue, 21 Nov 2023)
Changed paths:
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/test/Transforms/LoopVectorize/forked-pointers.ll
M llvm/test/Transforms/LoopVectorize/pointer-select-runtime-checks.ll
Log Message:
-----------
[LoopUtils] Freeze compare results for diff checks instead of pointers.
THe freezes are introduced to avoid branch on undef/poison, if any of
the pointers may be poison. The same can be achieved by just freezing
the compare, which reduces the number of freezes needed. See
https://alive2.llvm.org/ce/z/NHa_ud
Note that the individual compares need to be frozen and it is not
sufficient to only freeze the resulting OR:
Result OR frozen only (UNSOUND): https://alive2.llvm.org/ce/z/YzFHQY
Individual conds frozen (SOUND): https://alive2.llvm.org/ce/z/5L6Z3f
More information about the All-commits
mailing list