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