LLVM API Documentation
Public Member Functions | |
FunctionLoweringInfo (TargetLowering &TLI, Function &Fn, MachineFunction &MF) | |
unsigned | MakeReg (MVT::ValueType VT) |
unsigned | CreateRegForValue (const Value *V) |
unsigned | InitializeRegForValue (const Value *V) |
Public Attributes | |
TargetLowering & | TLI |
Function & | Fn |
MachineFunction & | MF |
SSARegMap * | RegMap |
std::map< const BasicBlock *, MachineBasicBlock * > | MBBMap |
MBBMap - A mapping from LLVM basic blocks to their machine code entry. | |
std::map< const Value *, unsigned > | ValueMap |
std::map< const AllocaInst *, int > | StaticAllocaMap |
Definition at line 148 of file SelectionDAGISel.cpp.
FunctionLoweringInfo::FunctionLoweringInfo | ( | TargetLowering & | TLI, | |
Function & | Fn, | |||
MachineFunction & | MF | |||
) |
Definition at line 208 of file SelectionDAGISel.cpp.
References AI, Align, llvm::Function::arg_begin(), llvm::Function::arg_end(), BB, llvm::Function::begin(), llvm::BuildMI(), llvm::MachineFrameInfo::CreateStackObject(), E, llvm::Function::end(), Fn, llvm::MachineFunction::getBasicBlockList(), llvm::MachineFunction::getFrameInfo(), llvm::TargetLowering::getNumElements(), llvm::User::getNumOperands(), llvm::TargetLowering::getPackedTypeBreakdown(), llvm::TargetLowering::getTargetData(), llvm::Value::getType(), llvm::TargetData::getTypeAlignment(), llvm::TargetData::getTypeSize(), llvm::TargetLowering::getValueType(), I, InitializeRegForValue(), isOnlyUsedInEntryBlock(), isUsedOutsideOfDefiningBlock(), MBB, MBBMap, MF, llvm::TargetInstrInfo::PHI, StaticAllocaMap, TLI, Ty, llvm::Value::use_empty(), ValueMap, and llvm::MVT::Vector.
unsigned FunctionLoweringInfo::CreateRegForValue | ( | const Value * | V | ) |
CreateRegForValue - Allocate the appropriate number of virtual registers of the correctly promoted or expanded types. Assign these registers consecutive vreg numbers and return the first assigned number.
Definition at line 287 of file SelectionDAGISel.cpp.
References llvm::SequentialType::getElementType(), llvm::TargetLowering::getNumElements(), llvm::PackedType::getNumElements(), llvm::TargetLowering::getTypeToTransformTo(), llvm::TargetLowering::getValueType(), llvm::MVT::getVectorType(), llvm::TargetLowering::isTypeLegal(), MakeReg(), R, Reg, TLI, V, and llvm::MVT::Vector.
Referenced by InitializeRegForValue().
unsigned llvm::FunctionLoweringInfo::InitializeRegForValue | ( | const Value * | V | ) | [inline] |
Definition at line 176 of file SelectionDAGISel.cpp.
References CreateRegForValue(), R, V, and ValueMap.
Referenced by FunctionLoweringInfo().
unsigned llvm::FunctionLoweringInfo::MakeReg | ( | MVT::ValueType | VT | ) | [inline] |
Definition at line 170 of file SelectionDAGISel.cpp.
References llvm::SSARegMap::createVirtualRegister(), llvm::TargetLowering::getRegClassFor(), RegMap, and TLI.
Referenced by CreateRegForValue().
std::map<const BasicBlock*, MachineBasicBlock *> llvm::FunctionLoweringInfo::MBBMap |
MBBMap - A mapping from LLVM basic blocks to their machine code entry.
Definition at line 158 of file SelectionDAGISel.cpp.
Referenced by FunctionLoweringInfo(), llvm::SelectionDAGLowering::visitBr(), and llvm::SelectionDAGLowering::visitSwitch().
std::map<const AllocaInst*, int> llvm::FunctionLoweringInfo::StaticAllocaMap |
StaticAllocaMap - Keep track of frame indices for fixed sized allocas in the entry block. This allows the allocas to be efficiently referenced anywhere in the function.
Definition at line 168 of file SelectionDAGISel.cpp.
Referenced by FunctionLoweringInfo(), and llvm::SelectionDAGLowering::visitAlloca().
Definition at line 150 of file SelectionDAGISel.cpp.
Referenced by CreateRegForValue(), FunctionLoweringInfo(), and MakeReg().
std::map<const Value*, unsigned> llvm::FunctionLoweringInfo::ValueMap |
ValueMap - Since we emit code for the function a basic block at a time, we must remember which virtual registers hold the values for cross-basic-block values.
Definition at line 163 of file SelectionDAGISel.cpp.
Referenced by FunctionLoweringInfo(), and InitializeRegForValue().