LLVM: lib/Target/RISCV/RISCVCallingConv.cpp File Reference (original) (raw)
Go to the source code of this file.
| Functions | |
|---|---|
| static ArrayRef< MCPhysReg > | getArgGPR16s (const RISCVABI::ABI ABI) |
| static ArrayRef< MCPhysReg > | getArgGPR32s (const RISCVABI::ABI ABI) |
| static ArrayRef< MCPhysReg > | getFastCCArgGPRs (const RISCVABI::ABI ABI) |
| static ArrayRef< MCPhysReg > | getFastCCArgGPRF16s (const RISCVABI::ABI ABI) |
| static ArrayRef< MCPhysReg > | getFastCCArgGPRF32s (const RISCVABI::ABI ABI) |
| static bool | CC_RISCVAssign2XLen (unsigned XLen, CCState &State, CCValAssign VA1, ISD::ArgFlagsTy ArgFlags1, unsigned ValNo2, MVT ValVT2, MVT LocVT2, ISD::ArgFlagsTy ArgFlags2, bool EABI) |
| static MCRegister | allocateRVVReg (MVT ValVT, unsigned ValNo, CCState &State, const RISCVTargetLowering &TLI) |
| Variables | |
|---|---|
| static const MCPhysReg | ArgFPR16s [] |
| static const MCPhysReg | ArgFPR32s [] |
| static const MCPhysReg | ArgFPR64s [] |
| static const MCPhysReg | ArgVRs [] |
| static const MCPhysReg | ArgVRM2s [] |
| static const MCPhysReg | ArgVRM4s [] |
| static const MCPhysReg | ArgVRM8s [] = {RISCV::V8M8, RISCV::V16M8} |
| static const MCPhysReg | ArgVRN2M1s [] |
| static const MCPhysReg | ArgVRN3M1s [] |
| static const MCPhysReg | ArgVRN4M1s [] |
| static const MCPhysReg | ArgVRN5M1s [] |
| static const MCPhysReg | ArgVRN6M1s [] |
| static const MCPhysReg | ArgVRN7M1s [] |
| static const MCPhysReg | ArgVRN8M1s [] |
| static const MCPhysReg | ArgVRN2M2s [] |
| static const MCPhysReg | ArgVRN3M2s [] |
| static const MCPhysReg | ArgVRN4M2s [] |
| static const MCPhysReg | ArgVRN2M4s [] |
◆ allocateRVVReg()
Definition at line 281 of file RISCVCallingConv.cpp.
References ArgVRM2s, ArgVRM4s, ArgVRM8s, ArgVRN2M1s, ArgVRN2M2s, ArgVRN2M4s, ArgVRN3M1s, ArgVRN3M2s, ArgVRN4M1s, ArgVRN4M2s, ArgVRN5M1s, ArgVRN6M1s, ArgVRN7M1s, ArgVRN8M1s, ArgVRs, llvm::TargetLoweringBase::getRegClassFor(), llvm::MVT::getVectorElementType(), llvm_unreachable, and Reg.
Referenced by llvm::CC_RISCV(), and llvm::CC_RISCV_FastCC().
◆ CC_RISCVAssign2XLen()
Definition at line 237 of file RISCVCallingConv.cpp.
References ArgGPRs, llvm::CCValAssign::Full, llvm::RISCV::getArgGPRs(), llvm::CCValAssign::getLocVT(), llvm::CCValAssign::getMem(), llvm::ISD::ArgFlagsTy::getNonZeroOrigAlign(), llvm::CCValAssign::getReg(), llvm::RISCVSubtarget::getTargetABI(), llvm::CCValAssign::getValNo(), llvm::CCValAssign::getValVT(), and Reg.
Referenced by llvm::CC_RISCV().
◆ getArgGPR16s()
◆ getArgGPR32s()
◆ getFastCCArgGPRF16s()
◆ getFastCCArgGPRF32s()
◆ getFastCCArgGPRs()
◆ ArgFPR16s
Initial value:
= {RISCV::F10_H, RISCV::F11_H, RISCV::F12_H,
RISCV::F13_H, RISCV::F14_H, RISCV::F15_H,
RISCV::F16_H, RISCV::F17_H}
Definition at line 46 of file RISCVCallingConv.cpp.
Referenced by llvm::CC_RISCV().
◆ ArgFPR32s
Initial value:
= {RISCV::F10_F, RISCV::F11_F, RISCV::F12_F,
RISCV::F13_F, RISCV::F14_F, RISCV::F15_F,
RISCV::F16_F, RISCV::F17_F}
Definition at line 49 of file RISCVCallingConv.cpp.
◆ ArgFPR64s
Initial value:
= {RISCV::F10_D, RISCV::F11_D, RISCV::F12_D,
RISCV::F13_D, RISCV::F14_D, RISCV::F15_D,
RISCV::F16_D, RISCV::F17_D}
Definition at line 52 of file RISCVCallingConv.cpp.
◆ ArgVRM2s
Initial value:
= {RISCV::V8M2, RISCV::V10M2, RISCV::V12M2,
RISCV::V14M2, RISCV::V16M2, RISCV::V18M2,
RISCV::V20M2, RISCV::V22M2}
Definition at line 60 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
◆ ArgVRM4s
◆ ArgVRM8s
◆ ArgVRN2M1s
Initial value:
= {
RISCV::V8_V9, RISCV::V9_V10, RISCV::V10_V11, RISCV::V11_V12,
RISCV::V12_V13, RISCV::V13_V14, RISCV::V14_V15, RISCV::V15_V16,
RISCV::V16_V17, RISCV::V17_V18, RISCV::V18_V19, RISCV::V19_V20,
RISCV::V20_V21, RISCV::V21_V22, RISCV::V22_V23}
Definition at line 66 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
◆ ArgVRN2M2s
Initial value:
= {RISCV::V8M2_V10M2, RISCV::V10M2_V12M2,
RISCV::V12M2_V14M2, RISCV::V14M2_V16M2,
RISCV::V16M2_V18M2, RISCV::V18M2_V20M2,
RISCV::V20M2_V22M2}
Definition at line 112 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
◆ ArgVRN2M4s
◆ ArgVRN3M1s
Initial value:
= {
RISCV::V8_V9_V10, RISCV::V9_V10_V11, RISCV::V10_V11_V12,
RISCV::V11_V12_V13, RISCV::V12_V13_V14, RISCV::V13_V14_V15,
RISCV::V14_V15_V16, RISCV::V15_V16_V17, RISCV::V16_V17_V18,
RISCV::V17_V18_V19, RISCV::V18_V19_V20, RISCV::V19_V20_V21,
RISCV::V20_V21_V22, RISCV::V21_V22_V23}
Definition at line 71 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
◆ ArgVRN3M2s
Initial value:
= {
RISCV::V8M2_V10M2_V12M2, RISCV::V10M2_V12M2_V14M2,
RISCV::V12M2_V14M2_V16M2, RISCV::V14M2_V16M2_V18M2,
RISCV::V16M2_V18M2_V20M2, RISCV::V18M2_V20M2_V22M2}
Definition at line 116 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
◆ ArgVRN4M1s
Initial value:
= {
RISCV::V8_V9_V10_V11, RISCV::V9_V10_V11_V12, RISCV::V10_V11_V12_V13,
RISCV::V11_V12_V13_V14, RISCV::V12_V13_V14_V15, RISCV::V13_V14_V15_V16,
RISCV::V14_V15_V16_V17, RISCV::V15_V16_V17_V18, RISCV::V16_V17_V18_V19,
RISCV::V17_V18_V19_V20, RISCV::V18_V19_V20_V21, RISCV::V19_V20_V21_V22,
RISCV::V20_V21_V22_V23}
Definition at line 77 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
◆ ArgVRN4M2s
Initial value:
= {
RISCV::V8M2_V10M2_V12M2_V14M2, RISCV::V10M2_V12M2_V14M2_V16M2,
RISCV::V12M2_V14M2_V16M2_V18M2, RISCV::V14M2_V16M2_V18M2_V20M2,
RISCV::V16M2_V18M2_V20M2_V22M2}
Definition at line 120 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
◆ ArgVRN5M1s
Initial value:
= {
RISCV::V8_V9_V10_V11_V12, RISCV::V9_V10_V11_V12_V13,
RISCV::V10_V11_V12_V13_V14, RISCV::V11_V12_V13_V14_V15,
RISCV::V12_V13_V14_V15_V16, RISCV::V13_V14_V15_V16_V17,
RISCV::V14_V15_V16_V17_V18, RISCV::V15_V16_V17_V18_V19,
RISCV::V16_V17_V18_V19_V20, RISCV::V17_V18_V19_V20_V21,
RISCV::V18_V19_V20_V21_V22, RISCV::V19_V20_V21_V22_V23}
Definition at line 83 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
◆ ArgVRN6M1s
Initial value:
= {
RISCV::V8_V9_V10_V11_V12_V13, RISCV::V9_V10_V11_V12_V13_V14,
RISCV::V10_V11_V12_V13_V14_V15, RISCV::V11_V12_V13_V14_V15_V16,
RISCV::V12_V13_V14_V15_V16_V17, RISCV::V13_V14_V15_V16_V17_V18,
RISCV::V14_V15_V16_V17_V18_V19, RISCV::V15_V16_V17_V18_V19_V20,
RISCV::V16_V17_V18_V19_V20_V21, RISCV::V17_V18_V19_V20_V21_V22,
RISCV::V18_V19_V20_V21_V22_V23}
Definition at line 90 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
◆ ArgVRN7M1s
Initial value:
= {
RISCV::V8_V9_V10_V11_V12_V13_V14, RISCV::V9_V10_V11_V12_V13_V14_V15,
RISCV::V10_V11_V12_V13_V14_V15_V16, RISCV::V11_V12_V13_V14_V15_V16_V17,
RISCV::V12_V13_V14_V15_V16_V17_V18, RISCV::V13_V14_V15_V16_V17_V18_V19,
RISCV::V14_V15_V16_V17_V18_V19_V20, RISCV::V15_V16_V17_V18_V19_V20_V21,
RISCV::V16_V17_V18_V19_V20_V21_V22, RISCV::V17_V18_V19_V20_V21_V22_V23}
Definition at line 97 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
◆ ArgVRN8M1s
Initial value:
= {RISCV::V8_V9_V10_V11_V12_V13_V14_V15,
RISCV::V9_V10_V11_V12_V13_V14_V15_V16,
RISCV::V10_V11_V12_V13_V14_V15_V16_V17,
RISCV::V11_V12_V13_V14_V15_V16_V17_V18,
RISCV::V12_V13_V14_V15_V16_V17_V18_V19,
RISCV::V13_V14_V15_V16_V17_V18_V19_V20,
RISCV::V14_V15_V16_V17_V18_V19_V20_V21,
RISCV::V15_V16_V17_V18_V19_V20_V21_V22,
RISCV::V16_V17_V18_V19_V20_V21_V22_V23}
Definition at line 103 of file RISCVCallingConv.cpp.
Referenced by allocateRVVReg().
◆ ArgVRs
Initial value:
= {
RISCV::V8, RISCV::V9, RISCV::V10, RISCV::V11, RISCV::V12, RISCV::V13,
RISCV::V14, RISCV::V15, RISCV::V16, RISCV::V17, RISCV::V18, RISCV::V19,
RISCV::V20, RISCV::V21, RISCV::V22, RISCV::V23}
Definition at line 56 of file RISCVCallingConv.cpp.