PPCCallingConv.h 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. //=== PPCCallingConv.h - PPC Custom Calling Convention Routines -*- C++ -*-===//
  2. //
  3. // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  4. // See https://llvm.org/LICENSE.txt for license information.
  5. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  6. //
  7. //===----------------------------------------------------------------------===//
  8. //
  9. // This file contains the custom routines for the PPC Calling Convention that
  10. // aren't done by tablegen.
  11. //
  12. //===----------------------------------------------------------------------===//
  13. #ifndef LLVM_LIB_TARGET_PPC_PPCCALLINGCONV_H
  14. #define LLVM_LIB_TARGET_PPC_PPCCALLINGCONV_H
  15. #include "llvm/CodeGen/CallingConvLower.h"
  16. #include "llvm/IR/CallingConv.h"
  17. namespace llvm {
  18. bool RetCC_PPC(unsigned ValNo, MVT ValVT, MVT LocVT,
  19. CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags,
  20. CCState &State);
  21. bool RetCC_PPC64_ELF_FIS(unsigned ValNo, MVT ValVT, MVT LocVT,
  22. CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags,
  23. CCState &State);
  24. bool RetCC_PPC_Cold(unsigned ValNo, MVT ValVT, MVT LocVT,
  25. CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags,
  26. CCState &State);
  27. bool CC_PPC32_SVR4(unsigned ValNo, MVT ValVT, MVT LocVT,
  28. CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags,
  29. CCState &State);
  30. bool CC_PPC64_ELF_FIS(unsigned ValNo, MVT ValVT, MVT LocVT,
  31. CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags,
  32. CCState &State);
  33. bool CC_PPC32_SVR4_ByVal(unsigned ValNo, MVT ValVT, MVT LocVT,
  34. CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags,
  35. CCState &State);
  36. bool CC_PPC32_SVR4_VarArg(unsigned ValNo, MVT ValVT, MVT LocVT,
  37. CCValAssign::LocInfo LocInfo,
  38. ISD::ArgFlagsTy ArgFlags, CCState &State);
  39. } // End llvm namespace
  40. #endif