From 117b667bd9d36ae751909ac93bf2e590de26b69c Mon Sep 17 00:00:00 2001 From: Aditya Nandakumar Date: Thu, 4 May 2017 21:43:12 +0000 Subject: [GISel]: Add support to translate ConstantVectors Reviewed by Quentin https://reviews.llvm.org/D32814 llvm-svn: 302196 --- llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'llvm/lib') diff --git a/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp b/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp index 75be7a55bd2..f12048103f7 100644 --- a/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp +++ b/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp @@ -1108,6 +1108,14 @@ bool IRTranslator::translate(const Constant &C, unsigned Reg) { default: return false; } + } else if (auto CV = dyn_cast(&C)) { + if (CV->getNumOperands() == 1) + return translate(*CV->getOperand(0), Reg); + SmallVector Ops; + for (unsigned i = 0; i < CV->getNumOperands(); ++i) { + Ops.push_back(getOrCreateVReg(*CV->getOperand(i))); + } + EntryBuilder.buildMerge(Reg, Ops); } else return false; -- cgit v1.2.3