LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Functions
SparcISelLowering.cpp File Reference
#include "SparcISelLowering.h"
#include "SparcMachineFunctionInfo.h"
#include "SparcRegisterInfo.h"
#include "SparcTargetMachine.h"
#include "MCTargetDesc/SparcBaseInfo.h"
#include "llvm/CodeGen/CallingConvLower.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/SelectionDAG.h"
#include "llvm/CodeGen/TargetLoweringObjectFileImpl.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/Module.h"
#include "llvm/Support/ErrorHandling.h"
#include "SparcGenCallingConv.inc"
Include dependency graph for SparcISelLowering.cpp:

Go to the source code of this file.

Functions

static bool CC_Sparc_Assign_SRet (unsigned &ValNo, MVT &ValVT, MVT &LocVT, CCValAssign::LocInfo &LocInfo, ISD::ArgFlagsTy &ArgFlags, CCState &State)
 
static bool CC_Sparc_Assign_f64 (unsigned &ValNo, MVT &ValVT, MVT &LocVT, CCValAssign::LocInfo &LocInfo, ISD::ArgFlagsTy &ArgFlags, CCState &State)
 
static bool CC_Sparc64_Full (unsigned &ValNo, MVT &ValVT, MVT &LocVT, CCValAssign::LocInfo &LocInfo, ISD::ArgFlagsTy &ArgFlags, CCState &State)
 
static bool CC_Sparc64_Half (unsigned &ValNo, MVT &ValVT, MVT &LocVT, CCValAssign::LocInfo &LocInfo, ISD::ArgFlagsTy &ArgFlags, CCState &State)
 
static unsigned toCallerWindow (unsigned Reg)
 
static bool hasReturnsTwiceAttr (SelectionDAG &DAG, SDValue Callee, ImmutableCallSite *CS)
 
static bool isFP128ABICall (const char *CalleeName)
 
static void fixupVariableFloatArgs (SmallVectorImpl< CCValAssign > &ArgLocs, ArrayRef< ISD::OutputArg > Outs)
 
static SPCC::CondCodes IntCondCCodeToICC (ISD::CondCode CC)
 
static SPCC::CondCodes FPCondCCodeToFCC (ISD::CondCode CC)
 
static void LookThroughSetCC (SDValue &LHS, SDValue &RHS, ISD::CondCode CC, unsigned &SPCC)
 
static SDValue LowerF128_FPEXTEND (SDValue Op, SelectionDAG &DAG, const SparcTargetLowering &TLI)
 
static SDValue LowerF128_FPROUND (SDValue Op, SelectionDAG &DAG, const SparcTargetLowering &TLI)
 
static SDValue LowerFP_TO_SINT (SDValue Op, SelectionDAG &DAG, const SparcTargetLowering &TLI, bool hasHardQuad)
 
static SDValue LowerSINT_TO_FP (SDValue Op, SelectionDAG &DAG, const SparcTargetLowering &TLI, bool hasHardQuad)
 
static SDValue LowerFP_TO_UINT (SDValue Op, SelectionDAG &DAG, const SparcTargetLowering &TLI, bool hasHardQuad)
 
static SDValue LowerUINT_TO_FP (SDValue Op, SelectionDAG &DAG, const SparcTargetLowering &TLI, bool hasHardQuad)
 
static SDValue LowerBR_CC (SDValue Op, SelectionDAG &DAG, const SparcTargetLowering &TLI, bool hasHardQuad)
 
static SDValue LowerSELECT_CC (SDValue Op, SelectionDAG &DAG, const SparcTargetLowering &TLI, bool hasHardQuad)
 
static SDValue LowerVASTART (SDValue Op, SelectionDAG &DAG, const SparcTargetLowering &TLI)
 
static SDValue LowerVAARG (SDValue Op, SelectionDAG &DAG)
 
static SDValue LowerDYNAMIC_STACKALLOC (SDValue Op, SelectionDAG &DAG)
 
static SDValue getFLUSHW (SDValue Op, SelectionDAG &DAG)
 
static SDValue LowerFRAMEADDR (SDValue Op, SelectionDAG &DAG)
 
static SDValue LowerRETURNADDR (SDValue Op, SelectionDAG &DAG, const SparcTargetLowering &TLI)
 
static SDValue LowerF64Op (SDValue Op, SelectionDAG &DAG, unsigned opcode)
 
static SDValue LowerF128Load (SDValue Op, SelectionDAG &DAG)
 
static SDValue LowerF128Store (SDValue Op, SelectionDAG &DAG)
 
static SDValue LowerFNEG (SDValue Op, SelectionDAG &DAG, const SparcTargetLowering &TLI, bool is64Bit)
 
static SDValue LowerFABS (SDValue Op, SelectionDAG &DAG, bool isV9)
 
static SDValue LowerADDC_ADDE_SUBC_SUBE (SDValue Op, SelectionDAG &DAG)
 

Function Documentation

static bool CC_Sparc64_Full ( unsigned ValNo,
MVT ValVT,
MVT LocVT,
CCValAssign::LocInfo LocInfo,
ISD::ArgFlagsTy ArgFlags,
CCState State 
)
static
static bool CC_Sparc64_Half ( unsigned ValNo,
MVT ValVT,
MVT LocVT,
CCValAssign::LocInfo LocInfo,
ISD::ArgFlagsTy ArgFlags,
CCState State 
)
static
static bool CC_Sparc_Assign_f64 ( unsigned ValNo,
MVT ValVT,
MVT LocVT,
CCValAssign::LocInfo LocInfo,
ISD::ArgFlagsTy ArgFlags,
CCState State 
)
static
static bool CC_Sparc_Assign_SRet ( unsigned ValNo,
MVT ValVT,
MVT LocVT,
CCValAssign::LocInfo LocInfo,
ISD::ArgFlagsTy ArgFlags,
CCState State 
)
static
static void fixupVariableFloatArgs ( SmallVectorImpl< CCValAssign > &  ArgLocs,
ArrayRef< ISD::OutputArg Outs 
)
static
static SPCC::CondCodes FPCondCCodeToFCC ( ISD::CondCode  CC)
static
static SDValue getFLUSHW ( SDValue  Op,
SelectionDAG DAG 
)
static
static bool hasReturnsTwiceAttr ( SelectionDAG DAG,
SDValue  Callee,
ImmutableCallSite CS 
)
static
static SPCC::CondCodes IntCondCCodeToICC ( ISD::CondCode  CC)
static
static bool isFP128ABICall ( const char *  CalleeName)
static

Definition at line 946 of file SparcISelLowering.cpp.

References I, and llvm::LibFunc::strcmp.

Referenced by llvm::SparcTargetLowering::getSRetArgSize().

static void LookThroughSetCC ( SDValue LHS,
SDValue RHS,
ISD::CondCode  CC,
unsigned SPCC 
)
static
static SDValue LowerADDC_ADDE_SUBC_SUBE ( SDValue  Op,
SelectionDAG DAG 
)
static
static SDValue LowerBR_CC ( SDValue  Op,
SelectionDAG DAG,
const SparcTargetLowering TLI,
bool  hasHardQuad 
)
static
static SDValue LowerDYNAMIC_STACKALLOC ( SDValue  Op,
SelectionDAG DAG 
)
static
static SDValue LowerF128_FPEXTEND ( SDValue  Op,
SelectionDAG DAG,
const SparcTargetLowering TLI 
)
static
static SDValue LowerF128_FPROUND ( SDValue  Op,
SelectionDAG DAG,
const SparcTargetLowering TLI 
)
static
static SDValue LowerF128Load ( SDValue  Op,
SelectionDAG DAG 
)
static
static SDValue LowerF128Store ( SDValue  Op,
SelectionDAG DAG 
)
static
static SDValue LowerF64Op ( SDValue  Op,
SelectionDAG DAG,
unsigned  opcode 
)
static
static SDValue LowerFABS ( SDValue  Op,
SelectionDAG DAG,
bool  isV9 
)
static
static SDValue LowerFNEG ( SDValue  Op,
SelectionDAG DAG,
const SparcTargetLowering TLI,
bool  is64Bit 
)
static
static SDValue LowerFP_TO_SINT ( SDValue  Op,
SelectionDAG DAG,
const SparcTargetLowering TLI,
bool  hasHardQuad 
)
static
static SDValue LowerFP_TO_UINT ( SDValue  Op,
SelectionDAG DAG,
const SparcTargetLowering TLI,
bool  hasHardQuad 
)
static
static SDValue LowerFRAMEADDR ( SDValue  Op,
SelectionDAG DAG 
)
static
static SDValue LowerRETURNADDR ( SDValue  Op,
SelectionDAG DAG,
const SparcTargetLowering TLI 
)
static
static SDValue LowerSELECT_CC ( SDValue  Op,
SelectionDAG DAG,
const SparcTargetLowering TLI,
bool  hasHardQuad 
)
static
static SDValue LowerSINT_TO_FP ( SDValue  Op,
SelectionDAG DAG,
const SparcTargetLowering TLI,
bool  hasHardQuad 
)
static
static SDValue LowerUINT_TO_FP ( SDValue  Op,
SelectionDAG DAG,
const SparcTargetLowering TLI,
bool  hasHardQuad 
)
static
static SDValue LowerVAARG ( SDValue  Op,
SelectionDAG DAG 
)
static
static SDValue LowerVASTART ( SDValue  Op,
SelectionDAG DAG,
const SparcTargetLowering TLI 
)
static
static unsigned toCallerWindow ( unsigned  Reg)
static