[all-commits] [llvm/llvm-project] 40a3f7: [ARM][LowOverheadLoops] Merge a VCMP and the new V...
Sam Tebbs via All-commits
all-commits at lists.llvm.org
Mon Nov 9 07:04:59 PST 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 40a3f7e48d6bac6702357636a5f5c351415ed050
https://github.com/llvm/llvm-project/commit/40a3f7e48d6bac6702357636a5f5c351415ed050
Author: Sam Tebbs <samuel.tebbs at arm.com>
Date: 2020-11-09 (Mon, 09 Nov 2020)
Changed paths:
M llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/vcmp-vpst-combination.ll
Log Message:
-----------
[ARM][LowOverheadLoops] Merge a VCMP and the new VPST into a VPT
There were cases where a VCMP and a VPST were merged even if the VCMP
didn't have the same defs of its operands as the VPST. This is fixed by
adding RDA checks for the defs. This however gave rise to cases where
the new VPST created would precede the un-merged VCMP and so would fail
a predicate mask assertion since the VCMP wasn't predicated. This was
solved by converting the VCMP to a VPT instead of inserting the new
VPST.
Differential Revision: https://reviews.llvm.org/D90461
More information about the All-commits
mailing list