Let MachineVerifier be aware of mem-to-mem instructions.
authorJonas Paulsson <jonas.paulsson@ericsson.com>
Wed, 21 Oct 2015 07:39:47 +0000 (07:39 +0000)
committerJonas Paulsson <jonas.paulsson@ericsson.com>
Wed, 21 Oct 2015 07:39:47 +0000 (07:39 +0000)
commit407b46bfab36af2899e17d6dfbb2a0ae76f94fd1
tree8451370831ae85d38b9bea041a5bd38f6e01a6e8
parentd63954dac10035f92809d09ad852caf9c128b729
Let MachineVerifier be aware of mem-to-mem instructions.

A mem-to-mem instruction (that both loads and stores), which store to an
FI, cannot pass the verifier since it thinks it is loading from the FI.

For the mem-to-mem instruction, do a looser check in visitMachineOperand()
and only check liveness at the reg-slot while analyzing a frame index operand.

Needed to make CodeGen/SystemZ/xor-01.ll pass with -verify-machineinstrs,
which now runs with this flag.

Reviewed by Evan Cheng and Quentin Colombet.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250885 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/MachineVerifier.cpp
test/CodeGen/SystemZ/xor-01.ll