[all-commits] [llvm/llvm-project] 229164: [ARM] Convert VPSEL to VMOV in tail predicated loops
David Green via All-commits
all-commits at lists.llvm.org
Mon Aug 3 14:03:40 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 22916481c11e1d46132752086290a668e62fc9ce
https://github.com/llvm/llvm-project/commit/22916481c11e1d46132752086290a668e62fc9ce
Author: David Green <david.green at arm.com>
Date: 2020-08-03 (Mon, 03 Aug 2020)
Changed paths:
M llvm/lib/Target/ARM/MVEVPTOptimisationsPass.cpp
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/cond-vector-reduce-mve-codegen.ll
M llvm/test/CodeGen/Thumb2/mve-pred-selectop3.ll
M llvm/test/CodeGen/Thumb2/mve-pred-vctpvpsel.ll
M llvm/test/CodeGen/Thumb2/mve-vctp.ll
Log Message:
-----------
[ARM] Convert VPSEL to VMOV in tail predicated loops
VPSEL has slightly different semantics under tail predication (it can
end up selecting from Qn, Qm and Qd). We do not model that at the moment
so they block tail predicated loops from being formed.
This just converts them into a predicated VMOV instead (via a VORR),
allowing tail predication to happen whilst still modelling the original
behaviour of the input.
Differential Revision: https://reviews.llvm.org/D85110
More information about the All-commits
mailing list