forked from OSchip/llvm-project
[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 llvm-svn: 156622
This commit is contained in:
parent
466d3d8faa
commit
519b12f927
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue