[all-commits] [llvm/llvm-project] 42350c: [ARM][MVE] Tail Predicate IsSafeToRemove
Sam Parker via All-commits
all-commits at lists.llvm.org
Fri Jan 17 05:19:47 PST 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 42350cd893a9cf6c199b17441dc2ba526c7cca71
https://github.com/llvm/llvm-project/commit/42350cd893a9cf6c199b17441dc2ba526c7cca71
Author: Sam Parker <sam.parker at arm.com>
Date: 2020-01-17 (Fri, 17 Jan 2020)
Changed paths:
M llvm/include/llvm/CodeGen/ReachingDefAnalysis.h
M llvm/lib/CodeGen/ReachingDefAnalysis.cpp
M llvm/lib/Target/ARM/ARMBaseInstrInfo.h
M llvm/lib/Target/ARM/ARMInstrThumb2.td
M llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
M llvm/lib/Target/ARM/Utils/ARMBaseInfo.h
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/dont-remove-loop-update.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/dont-remove-loop-update2.mir
R llvm/test/CodeGen/Thumb2/LowOverheadLoops/dont-remove-loop-update3.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/fast-fp-loops.ll
A llvm/test/CodeGen/Thumb2/LowOverheadLoops/incorrect-sub-16.mir
A llvm/test/CodeGen/Thumb2/LowOverheadLoops/incorrect-sub-32.mir
A llvm/test/CodeGen/Thumb2/LowOverheadLoops/incorrect-sub-8.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/mov-lr-terminator.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/move-def-before-start.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/move-start-after-def.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-tail-data-types.ll
A llvm/test/CodeGen/Thumb2/LowOverheadLoops/remove-elem-moves.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/unsafe-use-after.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/vctp-in-vpt-2.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/vctp-in-vpt.mir
A llvm/test/CodeGen/Thumb2/LowOverheadLoops/vctp-subi3.mir
A llvm/test/CodeGen/Thumb2/LowOverheadLoops/vctp-subri.mir
A llvm/test/CodeGen/Thumb2/LowOverheadLoops/vctp-subri12.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/vmaxmin_vpred_r.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/vmldava_in_vpt.mir
M llvm/test/CodeGen/Thumb2/LowOverheadLoops/wlstp.mir
Log Message:
-----------
[ARM][MVE] Tail Predicate IsSafeToRemove
Introduce a method to walk through use-def chains to decide whether
it's possible to remove a given instruction and its users. These
instructions are then stored in a set until the end of the transform
when they're erased. This is now used to perform checks on the
iteration count (LoopDec chain), element count (VCTP chain) and the
possibly redundant iteration count.
As well as being able to remove chains of instructions, we know also
check that the sub feeding the vctp is producing the expected value.
Differential Revision: https://reviews.llvm.org/D71837
More information about the All-commits
mailing list