Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCCallingConv.h
35266 views
1
//=== PPCCallingConv.h - PPC 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 contains the custom routines for the PPC Calling Convention that
10
// aren't done by tablegen.
11
//
12
//===----------------------------------------------------------------------===//
13
14
#ifndef LLVM_LIB_TARGET_PPC_PPCCALLINGCONV_H
15
#define LLVM_LIB_TARGET_PPC_PPCCALLINGCONV_H
16
17
#include "llvm/CodeGen/CallingConvLower.h"
18
#include "llvm/IR/CallingConv.h"
19
20
namespace llvm {
21
22
bool RetCC_PPC(unsigned ValNo, MVT ValVT, MVT LocVT,
23
CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags,
24
CCState &State);
25
bool RetCC_PPC64_ELF_FIS(unsigned ValNo, MVT ValVT, MVT LocVT,
26
CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags,
27
CCState &State);
28
bool RetCC_PPC_Cold(unsigned ValNo, MVT ValVT, MVT LocVT,
29
CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags,
30
CCState &State);
31
bool CC_PPC32_SVR4(unsigned ValNo, MVT ValVT, MVT LocVT,
32
CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags,
33
CCState &State);
34
bool CC_PPC64_ELF(unsigned ValNo, MVT ValVT, MVT LocVT,
35
CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags,
36
CCState &State);
37
bool CC_PPC64_ELF_FIS(unsigned ValNo, MVT ValVT, MVT LocVT,
38
CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags,
39
CCState &State);
40
bool CC_PPC32_SVR4_ByVal(unsigned ValNo, MVT ValVT, MVT LocVT,
41
CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags,
42
CCState &State);
43
bool CC_PPC32_SVR4_VarArg(unsigned ValNo, MVT ValVT, MVT LocVT,
44
CCValAssign::LocInfo LocInfo,
45
ISD::ArgFlagsTy ArgFlags, CCState &State);
46
47
} // End llvm namespace
48
49
#endif
50
51
52