1 //===---- PPCCCState.h - CCState with PowerPC specific extensions -----------===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
13 #include "PPCISelLowering.h"
14 #include "llvm/ADT/SmallVector.h"
15 #include "llvm/CodeGen/CallingConvLower.h"
19 class PPCCCState
: public CCState
{
23 PreAnalyzeCallOperands(const SmallVectorImpl
<ISD::OutputArg
> &Outs
);
25 PreAnalyzeFormalArguments(const SmallVectorImpl
<ISD::InputArg
> &Ins
);
29 // Records whether the value has been lowered from an ppcf128.
30 SmallVector
<bool, 4> OriginalArgWasPPCF128
;
33 PPCCCState(CallingConv::ID CC
, bool isVarArg
, MachineFunction
&MF
,
34 SmallVectorImpl
<CCValAssign
> &locs
, LLVMContext
&C
)
35 : CCState(CC
, isVarArg
, MF
, locs
, C
) {}
37 bool WasOriginalArgPPCF128(unsigned ValNo
) { return OriginalArgWasPPCF128
[ValNo
]; }
38 void clearWasPPCF128() { OriginalArgWasPPCF128
.clear(); }