aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/SystemZ/SystemZCallingConv.h
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Target/SystemZ/SystemZCallingConv.h')
-rw-r--r--llvm/lib/Target/SystemZ/SystemZCallingConv.h57
1 files changed, 0 insertions, 57 deletions
diff --git a/llvm/lib/Target/SystemZ/SystemZCallingConv.h b/llvm/lib/Target/SystemZ/SystemZCallingConv.h
index 25f4aac..f5ffbf5 100644
--- a/llvm/lib/Target/SystemZ/SystemZCallingConv.h
+++ b/llvm/lib/Target/SystemZ/SystemZCallingConv.h
@@ -29,63 +29,6 @@ namespace SystemZ {
extern const MCPhysReg XPLINK64ArgFPRs[XPLINK64NumArgFPRs];
} // end namespace SystemZ
-class SystemZCCState : public CCState {
-private:
- /// Records whether the value was a fixed argument.
- /// See ISD::OutputArg::IsFixed.
- SmallVector<bool, 4> ArgIsFixed;
-
- /// Records whether the value was widened from a short vector type.
- SmallVector<bool, 4> ArgIsShortVector;
-
- // Check whether ArgVT is a short vector type.
- bool IsShortVectorType(EVT ArgVT) {
- return ArgVT.isVector() && ArgVT.getStoreSize() <= 8;
- }
-
-public:
- SystemZCCState(CallingConv::ID CC, bool isVarArg, MachineFunction &MF,
- SmallVectorImpl<CCValAssign> &locs, LLVMContext &C)
- : CCState(CC, isVarArg, MF, locs, C) {}
-
- void AnalyzeFormalArguments(const SmallVectorImpl<ISD::InputArg> &Ins,
- CCAssignFn Fn) {
- // Formal arguments are always fixed.
- ArgIsFixed.clear();
- for (unsigned i = 0; i < Ins.size(); ++i)
- ArgIsFixed.push_back(true);
- // Record whether the call operand was a short vector.
- ArgIsShortVector.clear();
- for (unsigned i = 0; i < Ins.size(); ++i)
- ArgIsShortVector.push_back(IsShortVectorType(Ins[i].ArgVT));
-
- CCState::AnalyzeFormalArguments(Ins, Fn);
- }
-
- void AnalyzeCallOperands(const SmallVectorImpl<ISD::OutputArg> &Outs,
- CCAssignFn Fn) {
- // Record whether the call operand was a fixed argument.
- ArgIsFixed.clear();
- for (unsigned i = 0; i < Outs.size(); ++i)
- ArgIsFixed.push_back(Outs[i].IsFixed);
- // Record whether the call operand was a short vector.
- ArgIsShortVector.clear();
- for (unsigned i = 0; i < Outs.size(); ++i)
- ArgIsShortVector.push_back(IsShortVectorType(Outs[i].ArgVT));
-
- CCState::AnalyzeCallOperands(Outs, Fn);
- }
-
- // This version of AnalyzeCallOperands in the base class is not usable
- // since we must provide a means of accessing ISD::OutputArg::IsFixed.
- void AnalyzeCallOperands(const SmallVectorImpl<MVT> &Outs,
- SmallVectorImpl<ISD::ArgFlagsTy> &Flags,
- CCAssignFn Fn) = delete;
-
- bool IsFixed(unsigned ValNo) { return ArgIsFixed[ValNo]; }
- bool IsShortVector(unsigned ValNo) { return ArgIsShortVector[ValNo]; }
-};
-
// Handle i128 argument types. These need to be passed by implicit
// reference. This could be as simple as the following .td line:
// CCIfType<[i128], CCPassIndirect<i64>>,