]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/llvm-project/llvm/lib/Target/ARM/ARMCallingConv.h
Import libxo-1.4.0:
[FreeBSD/FreeBSD.git] / contrib / llvm-project / llvm / lib / Target / ARM / ARMCallingConv.h
1 //=== ARMCallingConv.h - ARM 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 declares the entry points for ARM calling convention analysis.
10 //
11 //===----------------------------------------------------------------------===//
12
13 #ifndef LLVM_LIB_TARGET_ARM_ARMCALLINGCONV_H
14 #define LLVM_LIB_TARGET_ARM_ARMCALLINGCONV_H
15
16 #include "llvm/CodeGen/CallingConvLower.h"
17
18 namespace llvm {
19
20 bool CC_ARM_AAPCS(unsigned ValNo, MVT ValVT, MVT LocVT,
21                   CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags,
22                   CCState &State);
23 bool CC_ARM_AAPCS_VFP(unsigned ValNo, MVT ValVT, MVT LocVT,
24                       CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags,
25                       CCState &State);
26 bool CC_ARM_APCS(unsigned ValNo, MVT ValVT, MVT LocVT,
27                  CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags,
28                  CCState &State);
29 bool CC_ARM_APCS_GHC(unsigned ValNo, MVT ValVT, MVT LocVT,
30                      CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags,
31                      CCState &State);
32 bool FastCC_ARM_APCS(unsigned ValNo, MVT ValVT, MVT LocVT,
33                      CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags,
34                      CCState &State);
35 bool RetCC_ARM_AAPCS(unsigned ValNo, MVT ValVT, MVT LocVT,
36                      CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags,
37                      CCState &State);
38 bool RetCC_ARM_AAPCS_VFP(unsigned ValNo, MVT ValVT, MVT LocVT,
39                          CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags,
40                          CCState &State);
41 bool RetCC_ARM_APCS(unsigned ValNo, MVT ValVT, MVT LocVT,
42                     CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags,
43                     CCState &State);
44 bool RetFastCC_ARM_APCS(unsigned ValNo, MVT ValVT, MVT LocVT,
45                         CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags,
46                         CCState &State);
47
48 } // namespace llvm
49
50 #endif