xref: /aosp_15_r20/external/llvm/lib/Target/PowerPC/PPCCallingConv.h (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker //=== PPCCallingConv.h - PPC Custom Calling Convention Routines -*- C++ -*-===//
2*9880d681SAndroid Build Coastguard Worker //
3*9880d681SAndroid Build Coastguard Worker //                     The LLVM Compiler Infrastructure
4*9880d681SAndroid Build Coastguard Worker //
5*9880d681SAndroid Build Coastguard Worker // This file is distributed under the University of Illinois Open Source
6*9880d681SAndroid Build Coastguard Worker // License. See LICENSE.TXT for details.
7*9880d681SAndroid Build Coastguard Worker //
8*9880d681SAndroid Build Coastguard Worker //===----------------------------------------------------------------------===//
9*9880d681SAndroid Build Coastguard Worker //
10*9880d681SAndroid Build Coastguard Worker // This file contains the custom routines for the PPC Calling Convention that
11*9880d681SAndroid Build Coastguard Worker // aren't done by tablegen.
12*9880d681SAndroid Build Coastguard Worker //
13*9880d681SAndroid Build Coastguard Worker //===----------------------------------------------------------------------===//
14*9880d681SAndroid Build Coastguard Worker 
15*9880d681SAndroid Build Coastguard Worker #ifndef LLVM_LIB_TARGET_PPC_PPCCALLINGCONV_H
16*9880d681SAndroid Build Coastguard Worker #define LLVM_LIB_TARGET_PPC_PPCCALLINGCONV_H
17*9880d681SAndroid Build Coastguard Worker 
18*9880d681SAndroid Build Coastguard Worker #include "llvm/CodeGen/CallingConvLower.h"
19*9880d681SAndroid Build Coastguard Worker #include "llvm/IR/CallingConv.h"
20*9880d681SAndroid Build Coastguard Worker 
21*9880d681SAndroid Build Coastguard Worker namespace llvm {
22*9880d681SAndroid Build Coastguard Worker 
CC_PPC_AnyReg_Error(unsigned &,MVT &,MVT &,CCValAssign::LocInfo &,ISD::ArgFlagsTy &,CCState &)23*9880d681SAndroid Build Coastguard Worker inline bool CC_PPC_AnyReg_Error(unsigned &, MVT &, MVT &,
24*9880d681SAndroid Build Coastguard Worker                                 CCValAssign::LocInfo &, ISD::ArgFlagsTy &,
25*9880d681SAndroid Build Coastguard Worker                                 CCState &) {
26*9880d681SAndroid Build Coastguard Worker   llvm_unreachable("The AnyReg calling convention is only supported by the " \
27*9880d681SAndroid Build Coastguard Worker                    "stackmap and patchpoint intrinsics.");
28*9880d681SAndroid Build Coastguard Worker   // gracefully fallback to PPC C calling convention on Release builds.
29*9880d681SAndroid Build Coastguard Worker   return false;
30*9880d681SAndroid Build Coastguard Worker }
31*9880d681SAndroid Build Coastguard Worker 
32*9880d681SAndroid Build Coastguard Worker } // End llvm namespace
33*9880d681SAndroid Build Coastguard Worker 
34*9880d681SAndroid Build Coastguard Worker #endif
35*9880d681SAndroid Build Coastguard Worker 
36