LLVM
17.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} |
Definition at line 28 of file CSKYISelLowering.cpp.
|
static |
Definition at line 211 of file CSKYISelLowering.cpp.
References llvm::CCValAssign::BCvt, llvm::ISD::BITCAST, DL, llvm::CCValAssign::Full, llvm::CCValAssign::getLocInfo(), llvm::SelectionDAG::getNode(), llvm::CCValAssign::getValVT(), and llvm_unreachable.
Referenced by unpackFromRegLoc().
|
static |
Definition at line 195 of file CSKYISelLowering.cpp.
References llvm::CCValAssign::BCvt, llvm::ISD::BITCAST, DL, llvm::CCValAssign::Full, llvm::CCValAssign::getLocInfo(), llvm::CCValAssign::getLocVT(), llvm::SelectionDAG::getNode(), and llvm_unreachable.
|
static |
Definition at line 960 of file CSKYISelLowering.cpp.
References llvm::MachineInstrBuilder::addMBB(), llvm::MachineInstrBuilder::addReg(), BB, llvm::MachineBasicBlock::begin(), llvm::BuildMI(), DL, F, MI, PHI, llvm::MachineBasicBlock::splice(), TII, and llvm::MachineBasicBlock::transferSuccessorsAndUpdatePHIs().
|
static |
Definition at line 763 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.
|
static |
Definition at line 284 of file CSKYISelLowering.cpp.
References llvm::MachineRegisterInfo::addLiveIn(), assert(), llvm::CSKYISD::BITCAST_FROM_LOHI, llvm::MachineFrameInfo::CreateFixedObject(), llvm::MachineRegisterInfo::createVirtualRegister(), DL, llvm::MVT::f64, 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::MVT::i32, llvm::MVT::i64, llvm::CCValAssign::isMemLoc(), and llvm::CCValAssign::isRegLoc().
|
static |
Definition at line 257 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.
|
static |
Definition at line 225 of file CSKYISelLowering.cpp.
References llvm::MachineRegisterInfo::addLiveIn(), convertLocVTToValVT(), llvm::MachineRegisterInfo::createVirtualRegister(), DL, llvm::MVT::f32, llvm::MVT::f64, 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::MVT::i32, llvm_unreachable, and llvm::MVT::SimpleTy.
Definition at line 34 of file CSKYISelLowering.cpp.