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