annotate lib/Target/PowerPC/PPCCCState.h @ 140:276c179585fe

Added tag LLVM5.0.1 for changeset 3a76565eade5
author mir3636
date Tue, 03 Apr 2018 19:09:39 +0900
parents 1172e4bd9c6f
children c2174574ed3a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
120
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
1 //===---- PPCCCState.h - CCState with PowerPC specific extensions -----------===//
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
2 //
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
3 // The LLVM Compiler Infrastructure
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
4 //
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
5 // This file is distributed under the University of Illinois Open Source
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
6 // License. See LICENSE.TXT for details.
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
7 //
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
8 //===----------------------------------------------------------------------===//
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
9
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
10 #ifndef PPCCCSTATE_H
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
11 #define PPCCCSTATE_H
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
12
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
13 #include "PPCISelLowering.h"
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
14 #include "llvm/ADT/SmallVector.h"
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
15 #include "llvm/CodeGen/CallingConvLower.h"
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
16
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
17 namespace llvm {
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
18
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
19 class PPCCCState : public CCState {
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
20 public:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
21
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
22 void
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
23 PreAnalyzeCallOperands(const SmallVectorImpl<ISD::OutputArg> &Outs);
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
24 void
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
25 PreAnalyzeFormalArguments(const SmallVectorImpl<ISD::InputArg> &Ins);
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
26
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
27 private:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
28
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
29 // Records whether the value has been lowered from an ppcf128.
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
30 SmallVector<bool, 4> OriginalArgWasPPCF128;
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
31
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
32 public:
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
33 PPCCCState(CallingConv::ID CC, bool isVarArg, MachineFunction &MF,
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
34 SmallVectorImpl<CCValAssign> &locs, LLVMContext &C)
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
35 : CCState(CC, isVarArg, MF, locs, C) {}
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
36
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
37 bool WasOriginalArgPPCF128(unsigned ValNo) { return OriginalArgWasPPCF128[ValNo]; }
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
38 void clearWasPPCF128() { OriginalArgWasPPCF128.clear(); }
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
39 };
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
40 }
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
41
1172e4bd9c6f update 4.0.0
mir3636
parents:
diff changeset
42 #endif