Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64CallingConvention.h
35269 views
1
//=== AArch64CallingConvention.h - AArch64 CC entry points ------*- 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 AArch64 calling convention analysis.
10
//
11
//===----------------------------------------------------------------------===//
12
13
#ifndef LLVM_LIB_TARGET_AARCH64_AARCH64CALLINGCONVENTION_H
14
#define LLVM_LIB_TARGET_AARCH64_AARCH64CALLINGCONVENTION_H
15
16
#include "llvm/CodeGen/CallingConvLower.h"
17
18
namespace llvm {
19
bool CC_AArch64_AAPCS(unsigned ValNo, MVT ValVT, MVT LocVT,
20
CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags,
21
CCState &State);
22
bool CC_AArch64_Arm64EC_VarArg(unsigned ValNo, MVT ValVT, MVT LocVT,
23
CCValAssign::LocInfo LocInfo,
24
ISD::ArgFlagsTy ArgFlags, CCState &State);
25
bool CC_AArch64_Arm64EC_Thunk(unsigned ValNo, MVT ValVT, MVT LocVT,
26
CCValAssign::LocInfo LocInfo,
27
ISD::ArgFlagsTy ArgFlags, CCState &State);
28
bool CC_AArch64_Arm64EC_Thunk_Native(unsigned ValNo, MVT ValVT, MVT LocVT,
29
CCValAssign::LocInfo LocInfo,
30
ISD::ArgFlagsTy ArgFlags, CCState &State);
31
bool CC_AArch64_DarwinPCS_VarArg(unsigned ValNo, MVT ValVT, MVT LocVT,
32
CCValAssign::LocInfo LocInfo,
33
ISD::ArgFlagsTy ArgFlags, CCState &State);
34
bool CC_AArch64_DarwinPCS(unsigned ValNo, MVT ValVT, MVT LocVT,
35
CCValAssign::LocInfo LocInfo,
36
ISD::ArgFlagsTy ArgFlags, CCState &State);
37
bool CC_AArch64_DarwinPCS_ILP32_VarArg(unsigned ValNo, MVT ValVT, MVT LocVT,
38
CCValAssign::LocInfo LocInfo,
39
ISD::ArgFlagsTy ArgFlags, CCState &State);
40
bool CC_AArch64_Win64PCS(unsigned ValNo, MVT ValVT, MVT LocVT,
41
CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags,
42
CCState &State);
43
bool CC_AArch64_Win64_VarArg(unsigned ValNo, MVT ValVT, MVT LocVT,
44
CCValAssign::LocInfo LocInfo,
45
ISD::ArgFlagsTy ArgFlags, CCState &State);
46
bool CC_AArch64_Win64_CFGuard_Check(unsigned ValNo, MVT ValVT, MVT LocVT,
47
CCValAssign::LocInfo LocInfo,
48
ISD::ArgFlagsTy ArgFlags, CCState &State);
49
bool CC_AArch64_Arm64EC_CFGuard_Check(unsigned ValNo, MVT ValVT, MVT LocVT,
50
CCValAssign::LocInfo LocInfo,
51
ISD::ArgFlagsTy ArgFlags, CCState &State);
52
bool CC_AArch64_GHC(unsigned ValNo, MVT ValVT, MVT LocVT,
53
CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags,
54
CCState &State);
55
bool CC_AArch64_Preserve_None(unsigned ValNo, MVT ValVT, MVT LocVT,
56
CCValAssign::LocInfo LocInfo,
57
ISD::ArgFlagsTy ArgFlags, CCState &State);
58
bool RetCC_AArch64_AAPCS(unsigned ValNo, MVT ValVT, MVT LocVT,
59
CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags,
60
CCState &State);
61
bool RetCC_AArch64_Arm64EC_Thunk(unsigned ValNo, MVT ValVT, MVT LocVT,
62
CCValAssign::LocInfo LocInfo,
63
ISD::ArgFlagsTy ArgFlags, CCState &State);
64
bool RetCC_AArch64_Arm64EC_CFGuard_Check(unsigned ValNo, MVT ValVT, MVT LocVT,
65
CCValAssign::LocInfo LocInfo,
66
ISD::ArgFlagsTy ArgFlags,
67
CCState &State);
68
} // namespace llvm
69
70
#endif
71
72