mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-28 22:29:56 +00:00
This reverts commit r200561. This calling convention was an attempt to match the MSVC C++ ABI for methods that return structures by value. This solution didn't scale, because it would have required splitting every CC available on Windows into two: one for methods and one for free functions. Now that we can put sret on the second arg (r208453), and Clang does that (r208458), revert this hack. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@208459 91177308-0d34-0410-b5e6-96231b3b80d8
36 lines
1.1 KiB
C++
36 lines
1.1 KiB
C++
//=== X86CallingConv.h - X86 Custom Calling Convention Routines -*- C++ -*-===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
//
|
|
// This file contains the custom routines for the X86 Calling Convention that
|
|
// aren't done by tablegen.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifndef X86CALLINGCONV_H
|
|
#define X86CALLINGCONV_H
|
|
|
|
#include "llvm/CodeGen/CallingConvLower.h"
|
|
#include "llvm/IR/CallingConv.h"
|
|
|
|
namespace llvm {
|
|
|
|
inline bool CC_X86_AnyReg_Error(unsigned &, MVT &, MVT &,
|
|
CCValAssign::LocInfo &, ISD::ArgFlagsTy &,
|
|
CCState &) {
|
|
llvm_unreachable("The AnyReg calling convention is only supported by the " \
|
|
"stackmap and patchpoint intrinsics.");
|
|
// gracefully fallback to X86 C calling convention on Release builds.
|
|
return false;
|
|
}
|
|
|
|
} // End llvm namespace
|
|
|
|
#endif
|
|
|