ARMCallingConv.h revision 360784
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 18namespace llvm { 19 20bool CC_ARM_AAPCS(unsigned ValNo, MVT ValVT, MVT LocVT, 21 CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, 22 CCState &State); 23bool CC_ARM_AAPCS_VFP(unsigned ValNo, MVT ValVT, MVT LocVT, 24 CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, 25 CCState &State); 26bool CC_ARM_APCS(unsigned ValNo, MVT ValVT, MVT LocVT, 27 CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, 28 CCState &State); 29bool CC_ARM_APCS_GHC(unsigned ValNo, MVT ValVT, MVT LocVT, 30 CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, 31 CCState &State); 32bool FastCC_ARM_APCS(unsigned ValNo, MVT ValVT, MVT LocVT, 33 CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, 34 CCState &State); 35bool CC_ARM_Win32_CFGuard_Check(unsigned ValNo, MVT ValVT, MVT LocVT, 36 CCValAssign::LocInfo LocInfo, 37 ISD::ArgFlagsTy ArgFlags, CCState &State); 38bool RetCC_ARM_AAPCS(unsigned ValNo, MVT ValVT, MVT LocVT, 39 CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, 40 CCState &State); 41bool RetCC_ARM_AAPCS_VFP(unsigned ValNo, MVT ValVT, MVT LocVT, 42 CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, 43 CCState &State); 44bool RetCC_ARM_APCS(unsigned ValNo, MVT ValVT, MVT LocVT, 45 CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, 46 CCState &State); 47bool RetFastCC_ARM_APCS(unsigned ValNo, MVT ValVT, MVT LocVT, 48 CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, 49 CCState &State); 50 51} // namespace llvm 52 53#endif 54