[llvm-commits] [llvm] r156622 - /llvm/trunk/lib/Target/ARM/ARMFastISel.cpp

Chad Rosier mcrosier at apple.com
Fri May 11 10:41:06 PDT 2012


Author: mcrosier
Date: Fri May 11 12:41:06 2012
New Revision: 156622

URL: http://llvm.org/viewvc/llvm-project?rev=156622&view=rev
Log:
[fast-isel] Rather then assert (or segfault in a non-asserts build), fall back
to selection DAG isel if we're unable to handle a non-double multi-reg retval.
rdar://11430407
PR12796

Modified:
    llvm/trunk/lib/Target/ARM/ARMFastISel.cpp

Modified: llvm/trunk/lib/Target/ARM/ARMFastISel.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMFastISel.cpp?rev=156622&r1=156621&r2=156622&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/ARMFastISel.cpp (original)
+++ llvm/trunk/lib/Target/ARM/ARMFastISel.cpp Fri May 11 12:41:06 2012
@@ -2014,8 +2014,7 @@
 
       // 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 @@
 
       // Finally update the result.
       UpdateValueMap(I, ResultReg);
+    } else {
+      // Can't handle non-double multi-reg retvals.
+      return false;
     }
   }
 





More information about the llvm-commits mailing list