ARMCallingConv.h 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. //=== ARMCallingConv.h - ARM 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 declares the entry points for ARM calling convention analysis.
  10. //
  11. //===----------------------------------------------------------------------===//
  12. #ifndef LLVM_LIB_TARGET_ARM_ARMCALLINGCONV_H
  13. #define LLVM_LIB_TARGET_ARM_ARMCALLINGCONV_H
  14. #include "llvm/CodeGen/CallingConvLower.h"
  15. namespace llvm {
  16. bool CC_ARM_AAPCS(unsigned ValNo, MVT ValVT, MVT LocVT,
  17. CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags,
  18. CCState &State);
  19. bool CC_ARM_AAPCS_VFP(unsigned ValNo, MVT ValVT, MVT LocVT,
  20. CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags,
  21. CCState &State);
  22. bool CC_ARM_APCS(unsigned ValNo, MVT ValVT, MVT LocVT,
  23. CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags,
  24. CCState &State);
  25. bool CC_ARM_APCS_GHC(unsigned ValNo, MVT ValVT, MVT LocVT,
  26. CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags,
  27. CCState &State);
  28. bool FastCC_ARM_APCS(unsigned ValNo, MVT ValVT, MVT LocVT,
  29. CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags,
  30. CCState &State);
  31. bool CC_ARM_Win32_CFGuard_Check(unsigned ValNo, MVT ValVT, MVT LocVT,
  32. CCValAssign::LocInfo LocInfo,
  33. ISD::ArgFlagsTy ArgFlags, CCState &State);
  34. bool RetCC_ARM_AAPCS(unsigned ValNo, MVT ValVT, MVT LocVT,
  35. CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags,
  36. CCState &State);
  37. bool RetCC_ARM_AAPCS_VFP(unsigned ValNo, MVT ValVT, MVT LocVT,
  38. CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags,
  39. CCState &State);
  40. bool RetCC_ARM_APCS(unsigned ValNo, MVT ValVT, MVT LocVT,
  41. CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags,
  42. CCState &State);
  43. bool RetFastCC_ARM_APCS(unsigned ValNo, MVT ValVT, MVT LocVT,
  44. CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags,
  45. CCState &State);
  46. } // namespace llvm
  47. #endif