AArch64CallingConvention.h revision 360660
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 18namespace llvm { 19bool CC_AArch64_AAPCS(unsigned ValNo, MVT ValVT, MVT LocVT, 20 CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, 21 CCState &State); 22bool CC_AArch64_DarwinPCS_VarArg(unsigned ValNo, MVT ValVT, MVT LocVT, 23 CCValAssign::LocInfo LocInfo, 24 ISD::ArgFlagsTy ArgFlags, CCState &State); 25bool CC_AArch64_DarwinPCS(unsigned ValNo, MVT ValVT, MVT LocVT, 26 CCValAssign::LocInfo LocInfo, 27 ISD::ArgFlagsTy ArgFlags, CCState &State); 28bool CC_AArch64_Win64_VarArg(unsigned ValNo, MVT ValVT, MVT LocVT, 29 CCValAssign::LocInfo LocInfo, 30 ISD::ArgFlagsTy ArgFlags, CCState &State); 31bool CC_AArch64_WebKit_JS(unsigned ValNo, MVT ValVT, MVT LocVT, 32 CCValAssign::LocInfo LocInfo, 33 ISD::ArgFlagsTy ArgFlags, CCState &State); 34bool CC_AArch64_GHC(unsigned ValNo, MVT ValVT, MVT LocVT, 35 CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, 36 CCState &State); 37bool RetCC_AArch64_AAPCS(unsigned ValNo, MVT ValVT, MVT LocVT, 38 CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, 39 CCState &State); 40bool RetCC_AArch64_WebKit_JS(unsigned ValNo, MVT ValVT, MVT LocVT, 41 CCValAssign::LocInfo LocInfo, 42 ISD::ArgFlagsTy ArgFlags, CCState &State); 43} // namespace llvm 44 45#endif 46