brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.5 KiB · 7105fa6 Raw
82 lines · c
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-exception6//7//===----------------------------------------------------------------------===//8//9// This file declares the entry points for AArch64 calling convention analysis.10//11//===----------------------------------------------------------------------===//12 13#ifndef LLVM_LIB_TARGET_AARCH64_AARCH64CALLINGCONVENTION_H14#define LLVM_LIB_TARGET_AARCH64_AARCH64CALLINGCONVENTION_H15 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                      Type *OrigTy, CCState &State);22bool CC_AArch64_Arm64EC_VarArg(unsigned ValNo, MVT ValVT, MVT LocVT,23                               CCValAssign::LocInfo LocInfo,24                               ISD::ArgFlagsTy ArgFlags, Type *OrigTy,25                               CCState &State);26bool CC_AArch64_Arm64EC_Thunk(unsigned ValNo, MVT ValVT, MVT LocVT,27                              CCValAssign::LocInfo LocInfo,28                              ISD::ArgFlagsTy ArgFlags, Type *OrigTy,29                              CCState &State);30bool CC_AArch64_Arm64EC_Thunk_Native(unsigned ValNo, MVT ValVT, MVT LocVT,31                                     CCValAssign::LocInfo LocInfo,32                                     ISD::ArgFlagsTy ArgFlags, Type *OrigTy,33                                     CCState &State);34bool CC_AArch64_DarwinPCS_VarArg(unsigned ValNo, MVT ValVT, MVT LocVT,35                                 CCValAssign::LocInfo LocInfo,36                                 ISD::ArgFlagsTy ArgFlags, Type *OrigTy,37                                 CCState &State);38bool CC_AArch64_DarwinPCS(unsigned ValNo, MVT ValVT, MVT LocVT,39                          CCValAssign::LocInfo LocInfo,40                          ISD::ArgFlagsTy ArgFlags, Type *OrigTy,41                          CCState &State);42bool CC_AArch64_DarwinPCS_ILP32_VarArg(unsigned ValNo, MVT ValVT, MVT LocVT,43                                       CCValAssign::LocInfo LocInfo,44                                       ISD::ArgFlagsTy ArgFlags, Type *OrigTy,45                                       CCState &State);46bool CC_AArch64_Win64PCS(unsigned ValNo, MVT ValVT, MVT LocVT,47                         CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags,48                         Type *OrigTy, CCState &State);49bool CC_AArch64_Win64_VarArg(unsigned ValNo, MVT ValVT, MVT LocVT,50                             CCValAssign::LocInfo LocInfo,51                             ISD::ArgFlagsTy ArgFlags, Type *OrigTy,52                             CCState &State);53bool CC_AArch64_Win64_CFGuard_Check(unsigned ValNo, MVT ValVT, MVT LocVT,54                                    CCValAssign::LocInfo LocInfo,55                                    ISD::ArgFlagsTy ArgFlags, Type *OrigTy,56                                    CCState &State);57bool CC_AArch64_Arm64EC_CFGuard_Check(unsigned ValNo, MVT ValVT, MVT LocVT,58                                      CCValAssign::LocInfo LocInfo,59                                      ISD::ArgFlagsTy ArgFlags, Type *OrigTy,60                                      CCState &State);61bool CC_AArch64_GHC(unsigned ValNo, MVT ValVT, MVT LocVT,62                    CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags,63                    Type *OrigTy, CCState &State);64bool CC_AArch64_Preserve_None(unsigned ValNo, MVT ValVT, MVT LocVT,65                              CCValAssign::LocInfo LocInfo,66                              ISD::ArgFlagsTy ArgFlags, Type *OrigTy,67                              CCState &State);68bool RetCC_AArch64_AAPCS(unsigned ValNo, MVT ValVT, MVT LocVT,69                         CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags,70                         Type *OrigTy, CCState &State);71bool RetCC_AArch64_Arm64EC_Thunk(unsigned ValNo, MVT ValVT, MVT LocVT,72                                 CCValAssign::LocInfo LocInfo,73                                 ISD::ArgFlagsTy ArgFlags, Type *OrigTy,74                                 CCState &State);75bool RetCC_AArch64_Arm64EC_CFGuard_Check(unsigned ValNo, MVT ValVT, MVT LocVT,76                                         CCValAssign::LocInfo LocInfo,77                                         ISD::ArgFlagsTy ArgFlags, Type *OrigTy,78                                         CCState &State);79} // namespace llvm80 81#endif82