LLVM: lib/Target/CSKY/CSKYCallingConv.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13

14#ifndef LLVM_LIB_TARGET_CSKY_CSKYCALLINGCONV_H

15#define LLVM_LIB_TARGET_CSKY_CSKYCALLINGCONV_H

16

22

23namespace llvm {

24

28

29 static const MCPhysReg ArgGPRs[] = {CSKY::R0, CSKY::R1, CSKY::R2, CSKY::R3};

31 LocVT = MVT::i32;

32 if (Reg) {

34 State.addLoc(

36 return true;

37 }

38 if (!State.AllocateReg(ArgGPRs))

39 State.AllocateStack(4, Align(4));

41 return true;

42}

43

47

50 LocVT = MVT::i32;

52 return false;

53

54 if (!State.AllocateReg(ArgGPRs))

55 return false;

56

58 return true;

59}

60

61}

62

63#endif

const MCPhysReg ArgGPRs[]

CCState - This class holds information needed while lowering arguments and return values.

static CCValAssign getReg(unsigned ValNo, MVT ValVT, MCRegister Reg, MVT LocVT, LocInfo HTP, bool IsCustom=false)

static CCValAssign getMem(unsigned ValNo, MVT ValVT, int64_t Offset, MVT LocVT, LocInfo HTP, bool IsCustom=false)

Wrapper class representing virtual and physical registers.

StackOffset holds a fixed and a scalable offset in bytes.

This is an optimization pass for GlobalISel generic memory operations.

static bool Ret_CSKY_ABIV2_SOFT_64(unsigned &ValNo, MVT &ValVT, MVT &LocVT, CCValAssign::LocInfo &LocInfo, ISD::ArgFlagsTy &ArgFlags, CCState &State)

Definition CSKYCallingConv.h:44

uint16_t MCPhysReg

An unsigned integer type large enough to represent all physical registers, but not necessarily virtua...

static bool CC_CSKY_ABIV2_SOFT_64(unsigned &ValNo, MVT &ValVT, MVT &LocVT, CCValAssign::LocInfo &LocInfo, ISD::ArgFlagsTy &ArgFlags, CCState &State)

Definition CSKYCallingConv.h:25

This struct is a compact representation of a valid (non-zero power of two) alignment.