[ARM] Make remaining MVE instruction predictable
authorDavid Green <david.green@arm.com>
Sat, 28 Mar 2020 15:32:47 +0000 (15:32 +0000)
committerDavid Green <david.green@arm.com>
Thu, 2 Apr 2020 09:57:40 +0000 (10:57 +0100)
commitc697dd9ffdb14f08766c738eb28c377ee964937f
treeecf01a0cd7c9426b0bba2c0d5cc72bfd0754a3cc
parent62be83463a3713612bd85cfa45140ef92c130d57
[ARM] Make remaining MVE instruction predictable

The unpredictable/hasSideEffects flag is usually inferred by tablegen
from whether the instruction has a tablegen pattern (and that pattern
only has a single output instruction). Now that the MVE intrinsics are
all committed and producing code, the remaining instructions still
marked as unpredictable need to be specially handled. This adds the flag
directly to instructions that need it, notably the V*MLAL instructions
and some of the MOV's.

Differential Revision: https://reviews.llvm.org/D76910
llvm/lib/Target/ARM/ARMInstrMVE.td
llvm/test/CodeGen/Thumb2/mve-vld3.ll
llvm/test/CodeGen/Thumb2/mve-vld4.ll
llvm/test/CodeGen/Thumb2/mve-vst3.ll
llvm/unittests/Target/ARM/MachineInstrTest.cpp