LLVM API Documentation
#include "SPU.h"#include "SPUTargetMachine.h"#include "SPUISelLowering.h"#include "SPUHazardRecognizers.h"#include "SPUFrameInfo.h"#include "SPURegisterNames.h"#include "llvm/CodeGen/MachineConstantPool.h"#include "llvm/CodeGen/MachineInstrBuilder.h"#include "llvm/CodeGen/MachineFunction.h"#include "llvm/CodeGen/SelectionDAG.h"#include "llvm/CodeGen/SelectionDAGISel.h"#include "llvm/Target/TargetOptions.h"#include "llvm/ADT/Statistic.h"#include "llvm/Constants.h"#include "llvm/GlobalValue.h"#include "llvm/Intrinsics.h"#include "llvm/Support/Debug.h"#include "llvm/Support/MathExtras.h"#include "llvm/Support/Compiler.h"#include "SPUGenDAGISel.inc"

Go to the source code of this file.
Functions | |
| bool | isI64IntS10Immediate (ConstantSDNode *CN) |
| ConstantSDNode predicate for i32 sign-extended, 10-bit immediates. | |
| bool | isI32IntS10Immediate (ConstantSDNode *CN) |
| ConstantSDNode predicate for i32 sign-extended, 10-bit immediates. | |
| bool | isI32IntU10Immediate (ConstantSDNode *CN) |
| ConstantSDNode predicate for i32 unsigned 10-bit immediate values. | |
| bool | isI16IntS10Immediate (ConstantSDNode *CN) |
| ConstantSDNode predicate for i16 sign-extended, 10-bit immediate values. | |
| bool | isI16IntS10Immediate (SDNode *N) |
| SDNode predicate for i16 sign-extended, 10-bit immediate values. | |
| bool | isI16IntU10Immediate (ConstantSDNode *CN) |
| ConstantSDNode predicate for i16 unsigned 10-bit immediate values. | |
| bool | isI16IntU10Immediate (SDNode *N) |
| SDNode predicate for i16 sign-extended, 10-bit immediate values. | |
| bool | isIntS16Immediate (ConstantSDNode *CN, short &Imm) |
| ConstantSDNode predicate for signed 16-bit values. | |
| bool | isIntS16Immediate (SDNode *N, short &Imm) |
| SDNode predicate for signed 16-bit values. | |
| static bool | isFPS16Immediate (ConstantFPSDNode *FPN, short &Imm) |
| ConstantFPSDNode predicate for representing floats as 16-bit sign ext. | |
| bool | isHighLow (const SDValue &Op) |
| const valtype_map_s * | getValueTypeMapEntry (MVT VT) |
| FunctionPass * | llvm::createSPUISelDag (SPUTargetMachine &TM) |
Variables | |
| const valtype_map_s | valtype_map [] |
| const size_t | n_valtype_map = sizeof(valtype_map) / sizeof(valtype_map[0]) |
| const valtype_map_s* @590::getValueTypeMapEntry | ( | MVT | VT | ) | [static] |
Definition at line 189 of file SPUISelDAGToDAG.cpp.
References llvm::cerr(), and llvm::MVT::getMVTString().
Referenced by LowerLOAD().
| static bool @590::isFPS16Immediate | ( | ConstantFPSDNode * | FPN, | |
| short & | Imm | |||
| ) | [static] |
ConstantFPSDNode predicate for representing floats as 16-bit sign ext.
Definition at line 138 of file SPUISelDAGToDAG.cpp.
References llvm::APFloat::convertToFloat(), llvm::FloatToBits(), llvm::ConstantFPSDNode::getValueAPF(), llvm::SDNode::getValueType(), and val.
| bool @590::isHighLow | ( | const SDValue & | Op | ) | [static] |
Definition at line 152 of file SPUISelDAGToDAG.cpp.
References llvm::SDValue::getOpcode(), llvm::SDValue::getOperand(), llvm::SPISD::Hi, llvm::SPUISD::IndirectAddr, and llvm::SPISD::Lo.
| bool @590::isI16IntS10Immediate | ( | SDNode * | N | ) | [static] |
SDNode predicate for i16 sign-extended, 10-bit immediate values.
Definition at line 78 of file SPUISelDAGToDAG.cpp.
References llvm::ISD::Constant, llvm::SDNode::getOpcode(), and isI16IntS10Immediate().
| bool @590::isI16IntS10Immediate | ( | ConstantSDNode * | CN | ) | [static] |
ConstantSDNode predicate for i16 sign-extended, 10-bit immediate values.
Definition at line 71 of file SPUISelDAGToDAG.cpp.
References llvm::ConstantSDNode::getSExtValue(), and llvm::isS10Constant().
Referenced by isI16IntS10Immediate().
| bool @590::isI16IntU10Immediate | ( | SDNode * | N | ) | [static] |
SDNode predicate for i16 sign-extended, 10-bit immediate values.
Definition at line 93 of file SPUISelDAGToDAG.cpp.
References llvm::ISD::Constant, llvm::SDNode::getOpcode(), and isI16IntU10Immediate().
| bool @590::isI16IntU10Immediate | ( | ConstantSDNode * | CN | ) | [static] |
ConstantSDNode predicate for i16 unsigned 10-bit immediate values.
Definition at line 86 of file SPUISelDAGToDAG.cpp.
References llvm::ConstantSDNode::getZExtValue(), and llvm::isU10Constant().
Referenced by isI16IntU10Immediate().
| bool @590::isI32IntS10Immediate | ( | ConstantSDNode * | CN | ) | [static] |
ConstantSDNode predicate for i32 sign-extended, 10-bit immediates.
Definition at line 47 of file SPUISelDAGToDAG.cpp.
References llvm::ConstantSDNode::getSExtValue(), and llvm::isS10Constant().
| bool @590::isI32IntU10Immediate | ( | ConstantSDNode * | CN | ) | [static] |
ConstantSDNode predicate for i32 unsigned 10-bit immediate values.
Definition at line 64 of file SPUISelDAGToDAG.cpp.
References llvm::ConstantSDNode::getSExtValue(), and llvm::isU10Constant().
| bool @590::isI64IntS10Immediate | ( | ConstantSDNode * | CN | ) | [static] |
ConstantSDNode predicate for i32 sign-extended, 10-bit immediates.
Definition at line 40 of file SPUISelDAGToDAG.cpp.
References llvm::ConstantSDNode::getSExtValue(), and llvm::isS10Constant().
| bool @590::isIntS16Immediate | ( | SDNode * | N, | |
| short & | Imm | |||
| ) | [static] |
SDNode predicate for signed 16-bit values.
Definition at line 130 of file SPUISelDAGToDAG.cpp.
References llvm::ISD::Constant, llvm::SDNode::getOpcode(), and isIntS16Immediate().
| bool @590::isIntS16Immediate | ( | ConstantSDNode * | CN, | |
| short & | Imm | |||
| ) | [static] |
ConstantSDNode predicate for signed 16-bit values.
Definition at line 109 of file SPUISelDAGToDAG.cpp.
References llvm::MVT::getSimpleVT(), llvm::SDNode::getValueType(), and llvm::ConstantSDNode::getZExtValue().
Referenced by isIntS16Immediate(), llvm::PPCTargetLowering::SelectAddressRegImm(), llvm::PPCTargetLowering::SelectAddressRegImmShift(), and llvm::PPCTargetLowering::SelectAddressRegReg().
Definition at line 224 of file SPUISelDAGToDAG.cpp.
Referenced by llvm::addConstantPoolReference(), and llvm::X86InstrInfo::getGlobalBaseReg().
| bool ldresult_imm |
Definition at line 166 of file SPUISelDAGToDAG.cpp.
const size_t n_valtype_map = sizeof(valtype_map) / sizeof(valtype_map[0]) [static] |
Definition at line 187 of file SPUISelDAGToDAG.cpp.
Definition at line 223 of file SPUISelDAGToDAG.cpp.
Definition at line 222 of file SPUISelDAGToDAG.cpp.
const valtype_map_s valtype_map[] [static] |
Initial value:
{
{ MVT::i8, SPU::ORBIr8, true, SPU::LRr8 },
{ MVT::i16, SPU::ORHIr16, true, SPU::LRr16 },
{ MVT::i32, SPU::ORIr32, true, SPU::LRr32 },
{ MVT::i64, SPU::ORr64, false, SPU::LRr64 },
{ MVT::f32, SPU::ORf32, false, SPU::LRf32 },
{ MVT::f64, SPU::ORf64, false, SPU::LRf64 },
{ MVT::v16i8, 0, false, SPU::LRv16i8 },
{ MVT::v8i16, 0, false, SPU::LRv8i16 },
{ MVT::v4i32, 0, false, SPU::LRv4i32 },
{ MVT::v2i64, 0, false, SPU::LRv2i64 },
{ MVT::v4f32, 0, false, SPU::LRv4f32 },
{ MVT::v2f64, 0, false, SPU::LRv2f64 }
}
Definition at line 171 of file SPUISelDAGToDAG.cpp.
Definition at line 165 of file SPUISelDAGToDAG.cpp.
Referenced by llvm::CCState::AnalyzeCallResult(), llvm::CCState::AnalyzeReturn(), llvm::SelectInst::areInvalidOperands(), llvm::TargetLowering::BuildSDIV(), llvm::TargetLowering::BuildUDIV(), CheckDAGForTailCallsAndFixThem(), llvm::SPUTargetLowering::ComputeNumSignBitsForTargetNode(), llvm::TargetLowering::computeRegisterProperties(), llvm::ConstantFoldCompareInstruction(), llvm::PIC16TargetLowering::ExpandLoad(), llvm::FunctionType::get(), llvm::DOTGraphTraits< SelectionDAG * >::getEdgeAttributes(), llvm::PPCTargetLowering::getPreIndexedAddressParts(), llvm::FastISel::getRegForValue(), llvm::SelectionDAGLowering::getValue(), llvm::TargetLowering::getValueType(), llvm::Constant::getVectorElements(), llvm::TargetLowering::isConsecutiveLoad(), LowerBUILD_VECTOR(), LowerByteImmed(), LowerConstant(), LowerConstantFP(), LowerCTPOP(), LowerEXTRACT_VECTOR_ELT(), LowerFCOPYSIGN(), LowerI64Math(), LowerINSERT_VECTOR_ELT(), LowerINT_TO_FP(), llvm::SPUTargetLowering::LowerOperation(), llvm::IA64TargetLowering::LowerOperation(), llvm::AlphaTargetLowering::LowerOperation(), LowerSCALAR_TO_VECTOR(), LowerSELECT_CC(), LowerSTORE(), LowerTRUNCATE(), LowerVAARG(), llvm::PPCTargetLowering::PPCTargetLowering(), llvm::X86IntelAsmPrinter::printOp(), llvm::X86ATTAsmPrinter::printOperand(), llvm::FunctionLoweringInfo::set(), llvm::TargetLowering::TargetLoweringOpt::ShrinkDemandedConstant(), llvm::TargetLowering::SimplifyDemandedBits(), llvm::SPUTargetLowering::SPUTargetLowering(), llvm::TargetLowering::TargetLowering(), llvm::X86InstrInfo::unfoldMemoryOperand(), UpgradeIntrinsicFunction1(), WriteTypeTable(), and llvm::X86TargetLowering::X86TargetLowering().
This web site is hosted by the Computer Science Department at the University of Illinois at Urbana-Champaign.