diff options
author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2021-02-27 19:35:48 -0500 |
---|---|---|
committer | Matt Arsenault <Matthew.Arsenault@amd.com> | 2021-03-01 09:10:36 -0500 |
commit | 361cfdf2284193365f2830008625975f55112428 (patch) | |
tree | c59d139329584d4e2b3bc990972f6da066a3c571 /llvm/lib/CodeGen/MachineVerifier.cpp | |
parent | 6c260d3bc059b29aa62b91378be4afa2d98d8067 (diff) | |
download | llvm-361cfdf2284193365f2830008625975f55112428.zip llvm-361cfdf2284193365f2830008625975f55112428.tar.gz llvm-361cfdf2284193365f2830008625975f55112428.tar.bz2 |
GlobalISel: Verify G_CONCAT_VECTORS has at least 2 sources
Diffstat (limited to 'llvm/lib/CodeGen/MachineVerifier.cpp')
-rw-r--r-- | llvm/lib/CodeGen/MachineVerifier.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/MachineVerifier.cpp b/llvm/lib/CodeGen/MachineVerifier.cpp index a248e54..8bae5ab 100644 --- a/llvm/lib/CodeGen/MachineVerifier.cpp +++ b/llvm/lib/CodeGen/MachineVerifier.cpp @@ -1285,6 +1285,10 @@ void MachineVerifier::verifyPreISelGenericInstruction(const MachineInstr *MI) { if (!DstTy.isVector() || !SrcTy.isVector()) report("G_CONCAT_VECTOR requires vector source and destination operands", MI); + + if (MI->getNumOperands() < 3) + report("G_CONCAT_VECTOR requires at least 2 source operands", MI); + for (unsigned i = 2; i < MI->getNumOperands(); ++i) { if (MRI->getType(MI->getOperand(1).getReg()) != MRI->getType(MI->getOperand(i).getReg())) |