diff options
Diffstat (limited to 'lib/Target/ARM/ARMFastISel.cpp')
-rw-r--r-- | lib/Target/ARM/ARMFastISel.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/Target/ARM/ARMFastISel.cpp b/lib/Target/ARM/ARMFastISel.cpp index f3d930fbe0..f49a5d3f83 100644 --- a/lib/Target/ARM/ARMFastISel.cpp +++ b/lib/Target/ARM/ARMFastISel.cpp @@ -2014,8 +2014,7 @@ bool ARMFastISel::FinishCall(MVT RetVT, SmallVectorImpl<unsigned> &UsedRegs, // Finally update the result. UpdateValueMap(I, ResultReg); - } else { - assert(RVLocs.size() == 1 &&"Can't handle non-double multi-reg retvals!"); + } else if (RVLocs.size() == 1) { EVT CopyVT = RVLocs[0].getValVT(); // Special handling for extended integers. @@ -2031,6 +2030,9 @@ bool ARMFastISel::FinishCall(MVT RetVT, SmallVectorImpl<unsigned> &UsedRegs, // Finally update the result. UpdateValueMap(I, ResultReg); + } else { + // Can't handle non-double multi-reg retvals. + return false; } } |