projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Be nice to CellSPU: for this target getSetCCResultType
[oota-llvm.git]
/
lib
/
CodeGen
/
SelectionDAG
/
CallingConvLower.cpp
diff --git
a/lib/CodeGen/SelectionDAG/CallingConvLower.cpp
b/lib/CodeGen/SelectionDAG/CallingConvLower.cpp
index a6f52dd0244ea4279d97329411c7b031947417ca..c0077793d0e3cf844ac1741d3eb0af0b0980b7d5 100644
(file)
--- a/
lib/CodeGen/SelectionDAG/CallingConvLower.cpp
+++ b/
lib/CodeGen/SelectionDAG/CallingConvLower.cpp
@@
-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);
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();
cerr << "Call result #" << i << " has unhandled type "
<< VT.getMVTString() << "\n";
abort();