diff options
author | Reid Kleckner <rnk@google.com> | 2019-01-29 00:30:35 +0000 |
---|---|---|
committer | Reid Kleckner <rnk@google.com> | 2019-01-29 00:30:35 +0000 |
commit | 85e72c3d56c7abbb1e1d4dc22d8565ff36bed919 (patch) | |
tree | f96a07685bbc3f42e1aa104425873b4fe6a7f402 /llvm/lib/Target/PowerPC/PPCCallingConv.h | |
parent | b72888647baee2093c2cbd7a0c3da6dc8b870f20 (diff) | |
download | bcm5719-llvm-85e72c3d56c7abbb1e1d4dc22d8565ff36bed919.tar.gz bcm5719-llvm-85e72c3d56c7abbb1e1d4dc22d8565ff36bed919.zip |
[PPC] Include tablegenerated PPCGenCallingConv.inc once
Move the CC analysis implementation to its own .cpp file instead of
duplicating it and artificually using functions in PPCISelLowering.cpp
and PPCFastISel.cpp. Follow-up to the same change done for X86, ARM, and
AArch64.
llvm-svn: 352444
Diffstat (limited to 'llvm/lib/Target/PowerPC/PPCCallingConv.h')
-rw-r--r-- | llvm/lib/Target/PowerPC/PPCCallingConv.h | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/llvm/lib/Target/PowerPC/PPCCallingConv.h b/llvm/lib/Target/PowerPC/PPCCallingConv.h index 235c82c31f6..03d9be0a73d 100644 --- a/llvm/lib/Target/PowerPC/PPCCallingConv.h +++ b/llvm/lib/Target/PowerPC/PPCCallingConv.h @@ -19,14 +19,27 @@ namespace llvm { -inline bool CC_PPC_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 PPC C calling convention on Release builds. - return false; -} +bool RetCC_PPC(unsigned ValNo, MVT ValVT, MVT LocVT, + CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, + CCState &State); +bool RetCC_PPC64_ELF_FIS(unsigned ValNo, MVT ValVT, MVT LocVT, + CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, + CCState &State); +bool RetCC_PPC_Cold(unsigned ValNo, MVT ValVT, MVT LocVT, + CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, + CCState &State); +bool CC_PPC32_SVR4(unsigned ValNo, MVT ValVT, MVT LocVT, + CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, + CCState &State); +bool CC_PPC64_ELF_FIS(unsigned ValNo, MVT ValVT, MVT LocVT, + CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, + CCState &State); +bool CC_PPC32_SVR4_ByVal(unsigned ValNo, MVT ValVT, MVT LocVT, + CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, + CCState &State); +bool CC_PPC32_SVR4_VarArg(unsigned ValNo, MVT ValVT, MVT LocVT, + CCValAssign::LocInfo LocInfo, + ISD::ArgFlagsTy ArgFlags, CCState &State); } // End llvm namespace |