[GlobalISel] Set, require, and verify Legalized MF property.
authorAhmed Bougacha <ahmed.bougacha@gmail.com>
Tue, 2 Aug 2016 15:10:32 +0000 (15:10 +0000)
committerAhmed Bougacha <ahmed.bougacha@gmail.com>
Tue, 2 Aug 2016 15:10:32 +0000 (15:10 +0000)
commit24d0d4d2ecd5f2d612e3e6e9acaae1778b2f4b84
tree61fd7e4ccc8960b70d3ab6a719e8176a709a7e07
parentad30db32e68bfd54f4185b5dd676be76444e64bd
[GlobalISel] Set, require, and verify Legalized MF property.

RegBankSelect and InstructionSelect run after the legalizer and
require a Legalized function: check that all instructions are legal.

Note that this should be in the MachineVerifier, but it can't use the
MachineLegalizer as it's currently in the separate GlobalISel library.
Note that the RegBankSelect verifier checks have the same layering
problem, but we only use inline methods so end up not needing to link
against the GlobalISel library.

llvm-svn: 277472
llvm/include/llvm/CodeGen/GlobalISel/InstructionSelect.h
llvm/include/llvm/CodeGen/GlobalISel/MachineLegalizePass.h
llvm/include/llvm/CodeGen/GlobalISel/RegBankSelect.h
llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp
llvm/lib/CodeGen/GlobalISel/RegBankSelect.cpp
llvm/test/CodeGen/AArch64/GlobalISel/arm64-instructionselect.mir
llvm/test/CodeGen/AArch64/GlobalISel/arm64-regbankselect.mir
llvm/test/CodeGen/AArch64/GlobalISel/legalize-property.mir [new file with mode: 0644]