Path: blob/main/contrib/llvm-project/llvm/lib/Target/AArch64/AArch64CallingConvention.h
35269 views
//=== AArch64CallingConvention.h - AArch64 CC entry points ------*- C++ -*-===//1//2// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.3// See https://llvm.org/LICENSE.txt for license information.4// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception5//6//===----------------------------------------------------------------------===//7//8// This file declares the entry points for AArch64 calling convention analysis.9//10//===----------------------------------------------------------------------===//1112#ifndef LLVM_LIB_TARGET_AARCH64_AARCH64CALLINGCONVENTION_H13#define LLVM_LIB_TARGET_AARCH64_AARCH64CALLINGCONVENTION_H1415#include "llvm/CodeGen/CallingConvLower.h"1617namespace llvm {18bool CC_AArch64_AAPCS(unsigned ValNo, MVT ValVT, MVT LocVT,19CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags,20CCState &State);21bool CC_AArch64_Arm64EC_VarArg(unsigned ValNo, MVT ValVT, MVT LocVT,22CCValAssign::LocInfo LocInfo,23ISD::ArgFlagsTy ArgFlags, CCState &State);24bool CC_AArch64_Arm64EC_Thunk(unsigned ValNo, MVT ValVT, MVT LocVT,25CCValAssign::LocInfo LocInfo,26ISD::ArgFlagsTy ArgFlags, CCState &State);27bool CC_AArch64_Arm64EC_Thunk_Native(unsigned ValNo, MVT ValVT, MVT LocVT,28CCValAssign::LocInfo LocInfo,29ISD::ArgFlagsTy ArgFlags, CCState &State);30bool CC_AArch64_DarwinPCS_VarArg(unsigned ValNo, MVT ValVT, MVT LocVT,31CCValAssign::LocInfo LocInfo,32ISD::ArgFlagsTy ArgFlags, CCState &State);33bool CC_AArch64_DarwinPCS(unsigned ValNo, MVT ValVT, MVT LocVT,34CCValAssign::LocInfo LocInfo,35ISD::ArgFlagsTy ArgFlags, CCState &State);36bool CC_AArch64_DarwinPCS_ILP32_VarArg(unsigned ValNo, MVT ValVT, MVT LocVT,37CCValAssign::LocInfo LocInfo,38ISD::ArgFlagsTy ArgFlags, CCState &State);39bool CC_AArch64_Win64PCS(unsigned ValNo, MVT ValVT, MVT LocVT,40CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags,41CCState &State);42bool CC_AArch64_Win64_VarArg(unsigned ValNo, MVT ValVT, MVT LocVT,43CCValAssign::LocInfo LocInfo,44ISD::ArgFlagsTy ArgFlags, CCState &State);45bool CC_AArch64_Win64_CFGuard_Check(unsigned ValNo, MVT ValVT, MVT LocVT,46CCValAssign::LocInfo LocInfo,47ISD::ArgFlagsTy ArgFlags, CCState &State);48bool CC_AArch64_Arm64EC_CFGuard_Check(unsigned ValNo, MVT ValVT, MVT LocVT,49CCValAssign::LocInfo LocInfo,50ISD::ArgFlagsTy ArgFlags, CCState &State);51bool CC_AArch64_GHC(unsigned ValNo, MVT ValVT, MVT LocVT,52CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags,53CCState &State);54bool CC_AArch64_Preserve_None(unsigned ValNo, MVT ValVT, MVT LocVT,55CCValAssign::LocInfo LocInfo,56ISD::ArgFlagsTy ArgFlags, CCState &State);57bool RetCC_AArch64_AAPCS(unsigned ValNo, MVT ValVT, MVT LocVT,58CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags,59CCState &State);60bool RetCC_AArch64_Arm64EC_Thunk(unsigned ValNo, MVT ValVT, MVT LocVT,61CCValAssign::LocInfo LocInfo,62ISD::ArgFlagsTy ArgFlags, CCState &State);63bool RetCC_AArch64_Arm64EC_CFGuard_Check(unsigned ValNo, MVT ValVT, MVT LocVT,64CCValAssign::LocInfo LocInfo,65ISD::ArgFlagsTy ArgFlags,66CCState &State);67} // namespace llvm6869#endif707172