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