1 | //=== PPCCallingConv.h - PPC Custom Calling Convention Routines -*- C++ -*-===// |
2 | // |
3 | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
4 | // See https://llvm.org/LICENSE.txt for license information. |
5 | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
6 | // |
7 | //===----------------------------------------------------------------------===// |
8 | // |
9 | // This file contains the custom routines for the PPC Calling Convention that |
10 | // aren't done by tablegen. |
11 | // |
12 | //===----------------------------------------------------------------------===// |
13 | |
14 | #ifndef LLVM_LIB_TARGET_PPC_PPCCALLINGCONV_H |
15 | #define LLVM_LIB_TARGET_PPC_PPCCALLINGCONV_H |
16 | |
17 | #include "llvm/CodeGen/CallingConvLower.h" |
18 | #include "llvm/IR/CallingConv.h" |
19 | |
20 | namespace llvm { |
21 | |
22 | bool RetCC_PPC(unsigned ValNo, MVT ValVT, MVT LocVT, |
23 | CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, |
24 | CCState &State); |
25 | bool RetCC_PPC64_ELF_FIS(unsigned ValNo, MVT ValVT, MVT LocVT, |
26 | CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, |
27 | CCState &State); |
28 | bool RetCC_PPC_Cold(unsigned ValNo, MVT ValVT, MVT LocVT, |
29 | CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, |
30 | CCState &State); |
31 | bool CC_PPC32_SVR4(unsigned ValNo, MVT ValVT, MVT LocVT, |
32 | CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, |
33 | CCState &State); |
34 | bool CC_PPC64_ELF(unsigned ValNo, MVT ValVT, MVT LocVT, |
35 | CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, |
36 | CCState &State); |
37 | bool CC_PPC64_ELF_FIS(unsigned ValNo, MVT ValVT, MVT LocVT, |
38 | CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, |
39 | CCState &State); |
40 | bool CC_PPC32_SVR4_ByVal(unsigned ValNo, MVT ValVT, MVT LocVT, |
41 | CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, |
42 | CCState &State); |
43 | bool CC_PPC32_SVR4_VarArg(unsigned ValNo, MVT ValVT, MVT LocVT, |
44 | CCValAssign::LocInfo LocInfo, |
45 | ISD::ArgFlagsTy ArgFlags, CCState &State); |
46 | |
47 | } // End llvm namespace |
48 | |
49 | #endif |
50 | |
51 | |