Be nice to CellSPU: for this target getSetCCResultType
[oota-llvm.git] / lib / CodeGen / SelectionDAG / CallingConvLower.cpp
index a6f52dd0244ea4279d97329411c7b031947417ca..c0077793d0e3cf844ac1741d3eb0af0b0980b7d5 100644 (file)
@@ -126,7 +126,10 @@ void CCState::AnalyzeCallOperands(SmallVectorImpl<MVT> &ArgVTs,
 void CCState::AnalyzeCallResult(CallSDNode *TheCall, CCAssignFn Fn) {
   for (unsigned i = 0, e = TheCall->getNumRetVals(); i != e; ++i) {
     MVT VT = TheCall->getRetValType(i);
-    if (Fn(i, VT, VT, CCValAssign::Full, ISD::ArgFlagsTy(), *this)) {
+    ISD::ArgFlagsTy Flags = ISD::ArgFlagsTy();
+    if (TheCall->isInreg())
+      Flags.setInReg();
+    if (Fn(i, VT, VT, CCValAssign::Full, Flags, *this)) {
       cerr << "Call result #" << i << " has unhandled type "
            << VT.getMVTString() << "\n";
       abort();