Handle Void types in ComputeValueVTs. This doesn't currently occur,
authorDan Gohman <gohman@apple.com>
Thu, 23 Apr 2009 22:50:03 +0000 (22:50 +0000)
committerDan Gohman <gohman@apple.com>
Thu, 23 Apr 2009 22:50:03 +0000 (22:50 +0000)
but this change makes the code more general and easier to adapt for
new purposes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69935 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp

index b20f061e03c080762a7c7f827927cd8afcdb23fc..fd5fcbb1aad18d07fcebeae61c7908d0d89e7d53 100644 (file)
@@ -135,6 +135,9 @@ static void ComputeValueVTs(const TargetLowering &TLI, const Type *Ty,
                       StartingOffset + i * EltSize);
     return;
   }
+  // Interpret void as zero return values.
+  if (Ty == Type::VoidTy)
+    return;
   // Base case: we can get an MVT for this LLVM IR type.
   ValueVTs.push_back(TLI.getValueType(Ty));
   if (Offsets)