LLVM  6.0.0svn
Macros | Functions
ARCISelLowering.cpp File Reference
#include "ARCISelLowering.h"
#include "ARC.h"
#include "ARCMachineFunctionInfo.h"
#include "ARCSubtarget.h"
#include "ARCTargetMachine.h"
#include "MCTargetDesc/ARCInfo.h"
#include "llvm/CodeGen/CallingConvLower.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineJumpTableInfo.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/SelectionDAGISel.h"
#include "llvm/CodeGen/ValueTypes.h"
#include "llvm/IR/CallingConv.h"
#include "llvm/IR/Intrinsics.h"
#include "llvm/Support/Debug.h"
#include <algorithm>
#include "ARCGenCallingConv.inc"
Include dependency graph for ARCISelLowering.cpp:

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "arc-lower"
 

Functions

static SDValue lowerCallResult (SDValue Chain, SDValue Glue, const SmallVectorImpl< CCValAssign > &RVLocs, SDLoc dl, SelectionDAG &DAG, SmallVectorImpl< SDValue > &InVals)
 Lower the result values of a call into the appropriate copies out of physical registers / memory locations. More...
 
static ARCCC::CondCode ISDCCtoARCCC (ISD::CondCode isdCC)
 
static SDValue LowerVASTART (SDValue Op, SelectionDAG &DAG)
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "arc-lower"

Definition at line 33 of file ARCISelLowering.cpp.

Function Documentation

◆ ISDCCtoARCCC()

static ARCCC::CondCode ISDCCtoARCCC ( ISD::CondCode  isdCC)
static

◆ lowerCallResult()

static SDValue lowerCallResult ( SDValue  Chain,
SDValue  Glue,
const SmallVectorImpl< CCValAssign > &  RVLocs,
SDLoc  dl,
SelectionDAG DAG,
SmallVectorImpl< SDValue > &  InVals 
)
static

Lower the result values of a call into the appropriate copies out of physical registers / memory locations.

Definition at line 371 of file ARCISelLowering.cpp.

References llvm::ISD::ADD, llvm::MachineRegisterInfo::addLiveIn(), llvm::AMDGPU::HSAMD::Kernel::Arg::Key::Align, llvm::CCState::AllocateStack(), llvm::CCState::AnalyzeFormalArguments(), llvm::array_lengthof(), assert(), llvm::CallingConv::C, llvm::CCState::CheckReturn(), Context, llvm::MachineFrameInfo::CreateFixedObject(), llvm::MachineFrameInfo::CreateStackObject(), llvm::MachineRegisterInfo::createVirtualRegister(), DEBUG, llvm::SmallVectorBase::empty(), llvm::errs(), llvm::CallingConv::Fast, llvm::SelectionDAG::getConstant(), llvm::SelectionDAG::getContext(), llvm::SelectionDAG::getCopyFromReg(), llvm::SelectionDAG::getCopyToReg(), llvm::MachinePointerInfo::getFixedStack(), llvm::SelectionDAG::getFrameIndex(), llvm::MachineFunction::getFrameInfo(), llvm::MachineFunction::getInfo(), llvm::SelectionDAG::getLoad(), llvm::CCValAssign::getLocMemOffset(), llvm::CCValAssign::getLocReg(), llvm::CCValAssign::getLocVT(), llvm::SelectionDAG::getMachineFunction(), llvm::SelectionDAG::getMemcpy(), llvm::CCState::getNextStackOffset(), llvm::SDValue::getNode(), llvm::SelectionDAG::getNode(), llvm::SDNode::getNumValues(), llvm::MachineFunction::getRegInfo(), llvm::SelectionDAG::getRegister(), llvm::EVT::getSimpleVT(), llvm::SelectionDAG::getStore(), llvm::MVT::getStoreSize(), llvm::SDValue::getValue(), llvm::CCValAssign::getValVT(), llvm::MVT::i32, llvm::MipsISD::Ins, llvm::CCValAssign::isMemLoc(), llvm::CCValAssign::isRegLoc(), llvm_unreachable, llvm::SPII::Load, llvm::max(), N, llvm::MVT::Other, llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), R2, R4, R6, llvm::report_fatal_error(), llvm::ARCISD::RET, llvm::MVT::SimpleTy, llvm::SmallVectorTemplateCommon< T >::size(), llvm::AMDGPU::HSAMD::Kernel::Arg::Key::Size, llvm::SPII::Store, and llvm::ISD::TokenFactor.

Referenced by llvm::ARCTargetLowering::getTargetNodeName().

◆ LowerVASTART()

static SDValue LowerVASTART ( SDValue  Op,
SelectionDAG DAG 
)
static