1234353Sdim//=== ARMCallingConv.h - ARM Custom Calling Convention Routines -*- C++ -*-===// 2218885Sdim// 3353358Sdim// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4353358Sdim// See https://llvm.org/LICENSE.txt for license information. 5353358Sdim// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6218885Sdim// 7218885Sdim//===----------------------------------------------------------------------===// 8218885Sdim// 9353358Sdim// This file declares the entry points for ARM calling convention analysis. 10218885Sdim// 11218885Sdim//===----------------------------------------------------------------------===// 12218885Sdim 13280031Sdim#ifndef LLVM_LIB_TARGET_ARM_ARMCALLINGCONV_H 14280031Sdim#define LLVM_LIB_TARGET_ARM_ARMCALLINGCONV_H 15218885Sdim 16218885Sdim#include "llvm/CodeGen/CallingConvLower.h" 17218885Sdim 18218885Sdimnamespace llvm { 19218885Sdim 20353358Sdimbool CC_ARM_AAPCS(unsigned ValNo, MVT ValVT, MVT LocVT, 21353358Sdim CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, 22353358Sdim CCState &State); 23353358Sdimbool CC_ARM_AAPCS_VFP(unsigned ValNo, MVT ValVT, MVT LocVT, 24353358Sdim CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, 25353358Sdim CCState &State); 26353358Sdimbool CC_ARM_APCS(unsigned ValNo, MVT ValVT, MVT LocVT, 27353358Sdim CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, 28353358Sdim CCState &State); 29353358Sdimbool CC_ARM_APCS_GHC(unsigned ValNo, MVT ValVT, MVT LocVT, 30353358Sdim CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, 31353358Sdim CCState &State); 32353358Sdimbool FastCC_ARM_APCS(unsigned ValNo, MVT ValVT, MVT LocVT, 33353358Sdim CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, 34353358Sdim CCState &State); 35360784Sdimbool CC_ARM_Win32_CFGuard_Check(unsigned ValNo, MVT ValVT, MVT LocVT, 36360784Sdim CCValAssign::LocInfo LocInfo, 37360784Sdim ISD::ArgFlagsTy ArgFlags, CCState &State); 38353358Sdimbool RetCC_ARM_AAPCS(unsigned ValNo, MVT ValVT, MVT LocVT, 39353358Sdim CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, 40353358Sdim CCState &State); 41353358Sdimbool RetCC_ARM_AAPCS_VFP(unsigned ValNo, MVT ValVT, MVT LocVT, 42353358Sdim CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, 43353358Sdim CCState &State); 44353358Sdimbool RetCC_ARM_APCS(unsigned ValNo, MVT ValVT, MVT LocVT, 45353358Sdim CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, 46353358Sdim CCState &State); 47353358Sdimbool RetFastCC_ARM_APCS(unsigned ValNo, MVT ValVT, MVT LocVT, 48353358Sdim CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, 49353358Sdim CCState &State); 50218885Sdim 51353358Sdim} // namespace llvm 52218885Sdim 53218885Sdim#endif 54