LLVM 20.0.0git
|
#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/ValueTypes.h"
#include "llvm/IR/CallingConv.h"
#include "llvm/IR/Intrinsics.h"
#include "llvm/Support/Debug.h"
#include <algorithm>
#include "ARCGenCallingConv.inc"
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. | |
static ARCCC::CondCode | ISDCCtoARCCC (ISD::CondCode isdCC) |
static SDValue | LowerVASTART (SDValue Op, SelectionDAG &DAG) |
#define DEBUG_TYPE "arc-lower" |
Definition at line 31 of file ARCISelLowering.cpp.
|
static |
Definition at line 40 of file ARCISelLowering.cpp.
References llvm::ARCCC::EQ, llvm::ARCCC::GE, llvm::ARCCC::GT, llvm::ARCCC::HI, llvm::ARCCC::HS, llvm::ARCCC::LE, llvm_unreachable, llvm::ARCCC::LO, llvm::ARCCC::LS, llvm::ARCCC::LT, llvm::ARCCC::NE, llvm::ISD::SETEQ, llvm::ISD::SETGE, llvm::ISD::SETGT, llvm::ISD::SETLE, llvm::ISD::SETLT, llvm::ISD::SETNE, llvm::ISD::SETUEQ, llvm::ISD::SETUGE, llvm::ISD::SETUGT, llvm::ISD::SETULE, llvm::ISD::SETULT, and llvm::ISD::SETUNE.
|
static |
Lower the result values of a call into the appropriate copies out of physical registers / memory locations.
Definition at line 408 of file ARCISelLowering.cpp.
References llvm::ISD::ADD, assert(), llvm::SmallVectorBase< Size_T >::empty(), llvm::SelectionDAG::getConstant(), llvm::SelectionDAG::getCopyFromReg(), llvm::SelectionDAG::getLoad(), llvm::CCValAssign::getLocMemOffset(), llvm::CCValAssign::getLocReg(), llvm::SelectionDAG::getNode(), llvm::SelectionDAG::getRegister(), llvm::SDValue::getValue(), llvm::CCValAssign::getValVT(), llvm::CCValAssign::isMemLoc(), llvm::CCValAssign::isRegLoc(), llvm::Offset, llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::SmallVectorBase< Size_T >::size(), and llvm::ISD::TokenFactor.
|
static |
Definition at line 772 of file ARCISelLowering.cpp.
References llvm::SelectionDAG::getDataLayout(), llvm::SelectionDAG::getFrameIndex(), llvm::MachineFunction::getInfo(), llvm::SelectionDAG::getMachineFunction(), llvm::TargetLoweringBase::getPointerTy(), llvm::SelectionDAG::getStore(), and llvm::SelectionDAG::getTargetLoweringInfo().
Referenced by llvm::ARCTargetLowering::LowerOperation(), llvm::ARMTargetLowering::LowerOperation(), and llvm::SparcTargetLowering::LowerOperation().