GlobalISel: correctly translate invoke when callee is a register.

This should fix the GlobalISel verifier.

llvm-svn: 293550
diff --git a/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp b/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
index 2165782..0f66bd9 100644
--- a/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
+++ b/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
@@ -737,7 +737,11 @@
   for (auto &Arg: I.arg_operands())
     Args.emplace_back(getOrCreateVReg(*Arg), Arg->getType());
 
-  if (!CLI->lowerCall(MIRBuilder, MachineOperand::CreateGA(Fn, 0),
+  auto CalleeMO =
+      Fn ? MachineOperand::CreateGA(Fn, 0)
+         : MachineOperand::CreateReg(getOrCreateVReg(*Callee), false);
+
+  if (!CLI->lowerCall(MIRBuilder, CalleeMO,
                       CallLowering::ArgInfo(Res, I.getType()), Args))
     return false;