|
LLVM 22.0.0git
|
#include "CSKYISelLowering.h"#include "CSKYCallingConv.h"#include "CSKYConstantPoolValue.h"#include "CSKYMachineFunctionInfo.h"#include "CSKYRegisterInfo.h"#include "CSKYSubtarget.h"#include "llvm/ADT/Statistic.h"#include "llvm/CodeGen/CallingConvLower.h"#include "llvm/CodeGen/MachineFrameInfo.h"#include "llvm/CodeGen/MachineJumpTableInfo.h"#include "llvm/Support/Debug.h"#include "CSKYGenCallingConv.inc"Go to the source code of this file.
Macros | |
| #define | DEBUG_TYPE "csky-isel-lowering" |
Functions | |
| STATISTIC (NumTailCalls, "Number of tail calls") | |
| static SDValue | convertValVTToLocVT (SelectionDAG &DAG, SDValue Val, const CCValAssign &VA, const SDLoc &DL) |
| static SDValue | convertLocVTToValVT (SelectionDAG &DAG, SDValue Val, const CCValAssign &VA, const SDLoc &DL) |
| static SDValue | unpackFromRegLoc (const CSKYSubtarget &Subtarget, SelectionDAG &DAG, SDValue Chain, const CCValAssign &VA, const SDLoc &DL) |
| static SDValue | unpackFromMemLoc (SelectionDAG &DAG, SDValue Chain, const CCValAssign &VA, const SDLoc &DL) |
| static SDValue | unpack64 (SelectionDAG &DAG, SDValue Chain, const CCValAssign &VA, const SDLoc &DL) |
| static CSKYCP::CSKYCPModifier | getModifier (unsigned Flags) |
| static MachineBasicBlock * | emitSelectPseudo (MachineInstr &MI, MachineBasicBlock *BB, unsigned Opcode) |
Variables | |
| static const MCPhysReg | GPRArgRegs [] = {CSKY::R0, CSKY::R1, CSKY::R2, CSKY::R3} |
| #define DEBUG_TYPE "csky-isel-lowering" |
Definition at line 28 of file CSKYISelLowering.cpp.
|
static |
Definition at line 215 of file CSKYISelLowering.cpp.
References llvm::CCValAssign::BCvt, DL, llvm::CCValAssign::Full, llvm::CCValAssign::getLocInfo(), llvm::SelectionDAG::getNode(), llvm::CCValAssign::getValVT(), and llvm_unreachable.
Referenced by llvm::LoongArchTargetLowering::LowerCall(), llvm::RISCVTargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerFormalArguments(), unpackFromRegLoc(), unpackFromRegLoc(), and unpackFromRegLoc().
|
static |
Definition at line 199 of file CSKYISelLowering.cpp.
References llvm::CCValAssign::BCvt, DL, llvm::CCValAssign::Full, llvm::CCValAssign::getLocInfo(), llvm::CCValAssign::getLocVT(), llvm::SelectionDAG::getNode(), and llvm_unreachable.
Referenced by llvm::LoongArchTargetLowering::LowerCall(), llvm::RISCVTargetLowering::LowerCall(), llvm::SystemZTargetLowering::LowerCall(), llvm::LoongArchTargetLowering::LowerReturn(), llvm::RISCVTargetLowering::LowerReturn(), and llvm::SystemZTargetLowering::LowerReturn().
|
static |
Definition at line 963 of file CSKYISelLowering.cpp.
References llvm::MachineInstrBuilder::addMBB(), llvm::MachineInstrBuilder::addReg(), llvm::MachineBasicBlock::addSuccessor(), llvm::MachineBasicBlock::begin(), llvm::BuildMI(), DL, llvm::MachineBasicBlock::end(), F, llvm::MachineBasicBlock::getBasicBlock(), llvm::TargetSubtargetInfo::getInstrInfo(), llvm::ilist_node_impl< OptionsT >::getIterator(), llvm::MachineBasicBlock::getParent(), llvm::MachineFunction::getSubtarget(), MI, llvm::MachineBasicBlock::splice(), TII, and llvm::MachineBasicBlock::transferSuccessorsAndUpdatePHIs().
Referenced by llvm::RISCVTargetLowering::EmitInstrWithCustomInserter().
|
static |
Definition at line 766 of file CSKYISelLowering.cpp.
References llvm::CSKYCP::ADDR, assert(), llvm::CSKYCP::GOT, llvm::CSKYCP::GOTOFF, llvm::CSKYII::MO_ADDR32, llvm::CSKYII::MO_GOT32, llvm::CSKYII::MO_GOTOFF, llvm::CSKYII::MO_None, llvm::CSKYII::MO_PLT32, llvm::CSKYCP::NO_MOD, and llvm::CSKYCP::PLT.
| STATISTIC | ( | NumTailCalls | , |
| "Number of tail calls" | ) |
|
static |
Definition at line 288 of file CSKYISelLowering.cpp.
References assert(), llvm::MachineFrameInfo::CreateFixedObject(), DL, llvm::SelectionDAG::getCopyFromReg(), llvm::MachinePointerInfo::getFixedStack(), llvm::SelectionDAG::getFrameIndex(), llvm::MachineFunction::getFrameInfo(), llvm::SelectionDAG::getLoad(), llvm::CCValAssign::getLocMemOffset(), llvm::CCValAssign::getLocReg(), llvm::CCValAssign::getLocVT(), llvm::SelectionDAG::getMachineFunction(), llvm::SelectionDAG::getNode(), llvm::MachineFunction::getRegInfo(), llvm::CCValAssign::getValVT(), llvm::Hi, llvm::CCValAssign::isMemLoc(), llvm::CCValAssign::isRegLoc(), and llvm::Lo.
|
static |
Definition at line 261 of file CSKYISelLowering.cpp.
References llvm::CCValAssign::BCvt, llvm::MachineFrameInfo::CreateFixedObject(), DL, llvm::CCValAssign::Full, llvm::SelectionDAG::getDataLayout(), llvm::SelectionDAG::getExtLoad(), llvm::MachinePointerInfo::getFixedStack(), llvm::SelectionDAG::getFrameIndex(), llvm::MachineFunction::getFrameInfo(), llvm::MVT::getIntegerVT(), llvm::CCValAssign::getLocInfo(), llvm::CCValAssign::getLocMemOffset(), llvm::CCValAssign::getLocVT(), llvm::SelectionDAG::getMachineFunction(), llvm::DataLayout::getPointerSizeInBits(), llvm::EVT::getSizeInBits(), llvm::CCValAssign::getValVT(), llvm_unreachable, and llvm::ISD::NON_EXTLOAD.
Referenced by llvm::LoongArchTargetLowering::LowerFormalArguments(), and llvm::RISCVTargetLowering::LowerFormalArguments().
|
static |
Definition at line 229 of file CSKYISelLowering.cpp.
References convertLocVTToValVT(), DL, llvm::SelectionDAG::getCopyFromReg(), llvm::CCValAssign::getLocReg(), llvm::CCValAssign::getLocVT(), llvm::SelectionDAG::getMachineFunction(), llvm::MachineFunction::getRegInfo(), llvm::EVT::getSimpleVT(), llvm::CSKYSubtarget::hasFPUv2DoubleFloat(), llvm::CSKYSubtarget::hasFPUv2SingleFloat(), llvm_unreachable, and llvm::MVT::SimpleTy.
Referenced by llvm::LoongArchTargetLowering::LowerFormalArguments(), and llvm::RISCVTargetLowering::LowerFormalArguments().
Definition at line 34 of file CSKYISelLowering.cpp.