LLVM API Documentation

Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

llvm::SelectionDAG Class Reference

#include <SelectionDAG.h>

Collaboration diagram for llvm::SelectionDAG:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 SelectionDAG (MachineFunction &F, const TargetMachine &TM, SelectionDAGTargetBuilder &SDTB)
 ~SelectionDAG ()
MVT::ValueType getValueType (const Type *Ty) const
SelectionDAGNodegetRoot () const
MachineFunctiongetMachineFunction () const
SelectionDAGNodeaddNode (SelectionDAGNode *N)
SelectionDAGNodeaddNodeForValue (SelectionDAGNode *N, const Value *V)
void dump () const
 dump - Print out the current Selection DAG...

Friends

class SelectionDAGBuilder

Detailed Description

Definition at line 83 of file SelectionDAG.h.


Constructor & Destructor Documentation

SelectionDAG::SelectionDAG MachineFunction F,
const TargetMachine TM,
SelectionDAGTargetBuilder SDTB
 

SelectionDAG constructor - Build a SelectionDAG for the specified function. Implemented in DAGBuilder.cpp

Definition at line 253 of file DAGBuilder.cpp.

References abort(), llvm::Function::begin(), llvm::SelectionDAGBuilder::CurRoot, E, llvm::Function::end(), llvm::SelectionDAGTargetBuilder::expandArguments(), llvm::MachineFunction::getBasicBlockList(), llvm::MachineFunction::getFunction(), llvm::TargetData::getPointerSize(), llvm::TargetMachine::getTargetData(), I, llvm::MVT::i16, llvm::MVT::i32, llvm::MVT::i64, llvm::MVT::i8, and llvm::SelectionDAGBuilder::visitBB().

SelectionDAG::~SelectionDAG  ) 
 

Definition at line 21 of file SelectionDAG.cpp.


Member Function Documentation

SelectionDAGNode* llvm::SelectionDAG::addNode SelectionDAGNode N  )  [inline]
 

addNode - Add the specified node to the SelectionDAG so that it will be deleted when the DAG is...

Definition at line 129 of file SelectionDAG.h.

Referenced by addNodeForValue(), and llvm::SelectionDAGBuilder::visitBB().

SelectionDAGNode* llvm::SelectionDAG::addNodeForValue SelectionDAGNode N,
const Value V
[inline]
 

addNodeForValue - Add the specified node to the SelectionDAG so that it will be deleted when the DAG is... and update the value map to indicate that the specified DAG node computes the value. Note that it is an error to specify multiple DAG nodes that compute the same value.

Definition at line 139 of file SelectionDAG.h.

References addNode().

void SelectionDAG::dump  )  const
 

dump - Print out the current Selection DAG...

Definition at line 28 of file SelectionDAG.cpp.

References llvm::SelectionDAGNode::dump().

MachineFunction& llvm::SelectionDAG::getMachineFunction  )  const [inline]
 

getMachineFunction - Return the MachineFunction object that this SelectionDAG corresponds to.

Definition at line 120 of file SelectionDAG.h.

References F.

SelectionDAGNode* llvm::SelectionDAG::getRoot  )  const [inline]
 

getRoot - Return the root of the current SelectionDAG.

Definition at line 115 of file SelectionDAG.h.

MVT::ValueType SelectionDAG::getValueType const Type Ty  )  const
 

getValueType - Return the ValueType for the specified LLVM type. This method works on all scalar LLVM types.

Definition at line 35 of file SelectionDAG.cpp.

References llvm::Type::BoolTyID, llvm::Type::DoubleTyID, llvm::MVT::f32, llvm::MVT::f64, llvm::Type::FloatTyID, llvm::Type::getTypeID(), llvm::MVT::i1, llvm::MVT::i16, llvm::MVT::i32, llvm::MVT::i64, llvm::MVT::i8, llvm::Type::IntTyID, llvm::Type::LabelTyID, llvm::Type::LongTyID, llvm::Type::PointerTyID, llvm::Type::SByteTyID, llvm::Type::ShortTyID, llvm::Type::UByteTyID, llvm::Type::UIntTyID, llvm::Type::ULongTyID, llvm::Type::UShortTyID, and llvm::Type::VoidTyID.


Friends And Related Function Documentation

friend class SelectionDAGBuilder [friend]
 

Definition at line 84 of file SelectionDAG.h.


The documentation for this class was generated from the following files: