LLVM API Documentation

X86CallingConv.h
Go to the documentation of this file.
00001 //=== X86CallingConv.h - X86 Custom Calling Convention Routines -*- C++ -*-===//
00002 //
00003 //                     The LLVM Compiler Infrastructure
00004 //
00005 // This file is distributed under the University of Illinois Open Source
00006 // License. See LICENSE.TXT for details.
00007 //
00008 //===----------------------------------------------------------------------===//
00009 //
00010 // This file contains the custom routines for the X86 Calling Convention that
00011 // aren't done by tablegen.
00012 //
00013 //===----------------------------------------------------------------------===//
00014 
00015 #ifndef LLVM_LIB_TARGET_X86_X86CALLINGCONV_H
00016 #define LLVM_LIB_TARGET_X86_X86CALLINGCONV_H
00017 
00018 #include "llvm/CodeGen/CallingConvLower.h"
00019 #include "llvm/IR/CallingConv.h"
00020 
00021 namespace llvm {
00022 
00023 inline bool CC_X86_AnyReg_Error(unsigned &, MVT &, MVT &,
00024                                 CCValAssign::LocInfo &, ISD::ArgFlagsTy &,
00025                                 CCState &) {
00026   llvm_unreachable("The AnyReg calling convention is only supported by the " \
00027                    "stackmap and patchpoint intrinsics.");
00028   // gracefully fallback to X86 C calling convention on Release builds.
00029   return false;
00030 }
00031 
00032 } // End llvm namespace
00033 
00034 #endif
00035