forked from OSchip/llvm-project
- Doh. Pass vector by value is bad.
- Add a AnalyzeCallResult specialized for calls which produce a single value. This is used by fastisel. llvm-svn: 55879
This commit is contained in:
parent
105c581135
commit
615739b991
|
@ -147,7 +147,7 @@ public:
|
|||
|
||||
/// AnalyzeCallOperands - Same as above except it takes vectors of types
|
||||
/// and argument flags.
|
||||
void AnalyzeCallOperands(SmallVectorImpl<MVT> ArgVTs,
|
||||
void AnalyzeCallOperands(SmallVectorImpl<MVT> &ArgVTs,
|
||||
SmallVectorImpl<ISD::ArgFlagsTy> &Flags,
|
||||
CCAssignFn Fn);
|
||||
|
||||
|
@ -155,6 +155,9 @@ public:
|
|||
/// incorporating info about the passed values into this state.
|
||||
void AnalyzeCallResult(SDNode *TheCall, CCAssignFn Fn);
|
||||
|
||||
/// AnalyzeCallResult - Same as above except it's specialized for calls which
|
||||
/// produce a single value.
|
||||
void AnalyzeCallResult(MVT VT, CCAssignFn Fn);
|
||||
|
||||
/// getFirstUnallocated - Return the first unallocated register in the set, or
|
||||
/// NumRegs if they are all allocated.
|
||||
|
|
|
@ -107,7 +107,7 @@ void CCState::AnalyzeCallOperands(SDNode *TheCall, CCAssignFn Fn) {
|
|||
|
||||
/// AnalyzeCallOperands - Same as above except it takes vectors of types
|
||||
/// and argument flags.
|
||||
void CCState::AnalyzeCallOperands(SmallVectorImpl<MVT> ArgVTs,
|
||||
void CCState::AnalyzeCallOperands(SmallVectorImpl<MVT> &ArgVTs,
|
||||
SmallVectorImpl<ISD::ArgFlagsTy> &Flags,
|
||||
CCAssignFn Fn) {
|
||||
unsigned NumOps = ArgVTs.size();
|
||||
|
@ -134,3 +134,13 @@ void CCState::AnalyzeCallResult(SDNode *TheCall, CCAssignFn Fn) {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// AnalyzeCallResult - Same as above except it's specialized for calls which
|
||||
/// produce a single value.
|
||||
void CCState::AnalyzeCallResult(MVT VT, CCAssignFn Fn) {
|
||||
if (Fn(0, VT, VT, CCValAssign::Full, ISD::ArgFlagsTy(), *this)) {
|
||||
cerr << "Call result has unhandled type "
|
||||
<< VT.getMVTString() << "\n";
|
||||
abort();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue