LLVM API Documentation

SparcISelDAGToDAG.cpp File Reference

#include "Sparc.h"
#include "SparcTargetMachine.h"
#include "llvm/DerivedTypes.h"
#include "llvm/Function.h"
#include "llvm/Intrinsics.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/SelectionDAG.h"
#include "llvm/CodeGen/SelectionDAGISel.h"
#include "llvm/CodeGen/SSARegMap.h"
#include "llvm/Target/TargetLowering.h"
#include "llvm/Support/Debug.h"
#include <iostream>
#include <set>
#include "SparcGenDAGISel.inc"

Include dependency graph for SparcISelDAGToDAG.cpp:

Go to the source code of this file.

Namespaces

namespace  SPISD

Enumerations

enum  {
  SPISD::FIRST_NUMBER = ISD::BUILTIN_OP_END+SP::INSTRUCTION_LIST_END, SPISD::CMPICC, SPISD::CMPFCC, SPISD::BRICC,
  SPISD::BRFCC, SPISD::SELECT_ICC, SPISD::SELECT_FCC, SPISD::Hi,
  SPISD::Lo, SPISD::FTOI, SPISD::ITOF, SPISD::CALL,
  SPISD::RET_FLAG
}

Functions

static SPCC::CondCodes IntCondCCodeToICC (ISD::CondCode CC)
static SPCC::CondCodes FPCondCCodeToFCC (ISD::CondCode CC)
static void LookThroughSetCC (SDOperand &LHS, SDOperand &RHS, ISD::CondCode CC, unsigned &SPCC)
FunctionPassllvm::createSparcISelDag (TargetMachine &TM)

Variables

int VarArgsFrameOffset
SparcTargetLowering Lowering
const SparcSubtargetSubtarget
std::map< SDOperand, SDOperandCodeGenMap
std::map< SDOperand, SDOperandHandleMap
std::map< SDOperand, SDOperandReplaceMap


Function Documentation

static SPCC::CondCodes FPCondCCodeToFCC ( ISD::CondCode  CC  )  [static]

FPCondCCodeToFCC - Convert a DAG floatingp oint condition code to a SPARC FCC condition.

Definition at line 75 of file SparcISelDAGToDAG.cpp.

References llvm::SPCC::FCC_E, llvm::SPCC::FCC_G, llvm::SPCC::FCC_GE, llvm::SPCC::FCC_L, llvm::SPCC::FCC_LE, llvm::SPCC::FCC_LG, llvm::SPCC::FCC_NE, llvm::SPCC::FCC_O, llvm::SPCC::FCC_U, llvm::SPCC::FCC_UE, llvm::SPCC::FCC_UG, llvm::SPCC::FCC_UGE, llvm::SPCC::FCC_UL, llvm::SPCC::FCC_ULE, SETEQ, SETGE, SETGT, SETLE, SETLT, SETNE, llvm::ISD::SETO, llvm::ISD::SETONE, llvm::ISD::SETUEQ, llvm::ISD::SETUGE, llvm::ISD::SETUGT, llvm::ISD::SETULE, llvm::ISD::SETULT, and llvm::ISD::SETUO.

static SPCC::CondCodes IntCondCCodeToICC ( ISD::CondCode  CC  )  [static]

IntCondCCodeToICC - Convert a DAG integer condition code to a SPARC ICC condition.

Definition at line 57 of file SparcISelDAGToDAG.cpp.

References llvm::SPCC::ICC_CC, llvm::SPCC::ICC_CS, llvm::SPCC::ICC_E, llvm::SPCC::ICC_G, llvm::SPCC::ICC_GE, llvm::SPCC::ICC_GU, llvm::SPCC::ICC_L, llvm::SPCC::ICC_LE, llvm::SPCC::ICC_LEU, llvm::SPCC::ICC_NE, SETEQ, SETGE, SETGT, SETLE, SETLT, SETNE, llvm::ISD::SETUGE, llvm::ISD::SETUGT, llvm::ISD::SETULE, and llvm::ISD::SETULT.

static void LookThroughSetCC ( SDOperand LHS,
SDOperand RHS,
ISD::CondCode  CC,
unsigned &  SPCC 
) [static]

Definition at line 671 of file SparcISelDAGToDAG.cpp.

References SPISD::CMPFCC, SPISD::CMPICC, llvm::SDOperand::getOpcode(), llvm::SDOperand::getOperand(), SPISD::SELECT_FCC, SPISD::SELECT_ICC, and SETNE.


Variable Documentation

std::map<SDOperand, SDOperand> CodeGenMap

Definition at line 1000 of file SparcISelDAGToDAG.cpp.

std::map<SDOperand, SDOperand> HandleMap

Definition at line 1003 of file SparcISelDAGToDAG.cpp.

SparcTargetLowering Lowering

Definition at line 961 of file SparcISelDAGToDAG.cpp.

std::map<SDOperand, SDOperand> ReplaceMap

Definition at line 1006 of file SparcISelDAGToDAG.cpp.

const SparcSubtarget& Subtarget

Subtarget - Keep a pointer to the Sparc Subtarget around so that we can make the right decision when generating code for different targets.

Definition at line 965 of file SparcISelDAGToDAG.cpp.

Referenced by llvm::X86SharedAsmPrinter::doInitialization().

int VarArgsFrameOffset

Definition at line 97 of file SparcISelDAGToDAG.cpp.