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::SelectionDAGBuilder Struct Reference

Inheritance diagram for llvm::SelectionDAGBuilder:

Inheritance graph
[legend]
Collaboration diagram for llvm::SelectionDAGBuilder:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 SelectionDAGBuilder (SelectionDAG &dag, SelectionDAGTargetBuilder &sdtb)
void visitBB (BasicBlock &bb)
void visitAdd (BinaryOperator &BO)
void visitSub (BinaryOperator &BO)
void visitMul (BinaryOperator &BO)
void visitAnd (BinaryOperator &BO)
void visitOr (BinaryOperator &BO)
void visitXor (BinaryOperator &BO)
void visitSetEQ (BinaryOperator &BO)
void visitLoad (LoadInst &LI)
void visitCall (CallInst &CI)
void visitBr (BranchInst &BI)
void visitRet (ReturnInst &RI)
void visitInstruction (Instruction &I)

Public Attributes

SelectionDAGDAG
SelectionDAGTargetBuilderSDTB
MachineBasicBlockBB
SelectionDAGNodeCurRoot

Detailed Description

Definition at line 28 of file DAGBuilder.cpp.


Constructor & Destructor Documentation

llvm::SelectionDAGBuilder::SelectionDAGBuilder SelectionDAG dag,
SelectionDAGTargetBuilder sdtb
[inline]
 

Definition at line 43 of file DAGBuilder.cpp.


Member Function Documentation

void SelectionDAGBuilder::visitAdd BinaryOperator BO  ) 
 

Definition at line 187 of file DAGBuilder.cpp.

References BB, llvm::User::getOperand(), llvm::ISD::Plus, and llvm::SelectionDAGNode::setNode().

void SelectionDAGBuilder::visitAnd BinaryOperator BO  ) 
 

Definition at line 200 of file DAGBuilder.cpp.

References llvm::ISD::And, BB, llvm::User::getOperand(), and llvm::SelectionDAGNode::setNode().

void SelectionDAGBuilder::visitBB BasicBlock bb  ) 
 

Definition at line 161 of file DAGBuilder.cpp.

References llvm::SelectionDAG::addNode(), BB, llvm::BasicBlock::begin(), llvm::ISD::BlockChainNode, llvm::SelectionDAG::BlockMap, CurRoot, DAG, llvm::BasicBlock::end(), llvm::MVT::isVoid, and llvm::InstVisitor< SelectionDAGBuilder >::visit().

Referenced by llvm::SelectionDAG::SelectionDAG().

void SelectionDAGBuilder::visitBr BranchInst BI  ) 
 

Definition at line 228 of file DAGBuilder.cpp.

References BB, llvm::ISD::Br, llvm::ISD::BrCond, llvm::BranchInst::getCondition(), llvm::User::getOperand(), llvm::BranchInst::getSuccessor(), llvm::BranchInst::isUnconditional(), and llvm::MVT::isVoid.

void SelectionDAGBuilder::visitCall CallInst CI  ) 
 

Definition at line 245 of file DAGBuilder.cpp.

References DAG, llvm::SelectionDAGTargetBuilder::expandCall(), and SDTB.

void llvm::SelectionDAGBuilder::visitInstruction Instruction I  )  [inline]
 

Reimplemented from llvm::InstVisitor< SelectionDAGBuilder >.

Definition at line 66 of file DAGBuilder.cpp.

References abort().

void SelectionDAGBuilder::visitLoad LoadInst LI  ) 
 

Definition at line 240 of file DAGBuilder.cpp.

References BB, llvm::User::getOperand(), llvm::ISD::Load, and llvm::SelectionDAGNode::setNode().

void SelectionDAGBuilder::visitMul BinaryOperator BO  ) 
 

Definition at line 195 of file DAGBuilder.cpp.

References BB, llvm::User::getOperand(), llvm::SelectionDAGNode::setNode(), and llvm::ISD::Times.

void SelectionDAGBuilder::visitOr BinaryOperator BO  ) 
 

Definition at line 204 of file DAGBuilder.cpp.

References BB, llvm::User::getOperand(), llvm::ISD::Or, and llvm::SelectionDAGNode::setNode().

void SelectionDAGBuilder::visitRet ReturnInst RI  ) 
 

Definition at line 218 of file DAGBuilder.cpp.

References BB, llvm::User::getNumOperands(), llvm::User::getOperand(), llvm::MVT::isVoid, llvm::ISD::Ret, and llvm::ISD::RetVoid.

void SelectionDAGBuilder::visitSetEQ BinaryOperator BO  ) 
 

Definition at line 212 of file DAGBuilder.cpp.

References BB, llvm::User::getOperand(), llvm::ISD::SetEQ, and llvm::SelectionDAGNode::setNode().

void SelectionDAGBuilder::visitSub BinaryOperator BO  ) 
 

Definition at line 191 of file DAGBuilder.cpp.

References BB, llvm::User::getOperand(), llvm::ISD::Minus, and llvm::SelectionDAGNode::setNode().

void SelectionDAGBuilder::visitXor BinaryOperator BO  ) 
 

Definition at line 208 of file DAGBuilder.cpp.

References BB, llvm::User::getOperand(), llvm::SelectionDAGNode::setNode(), and llvm::ISD::Xor.


Member Data Documentation

MachineBasicBlock* llvm::SelectionDAGBuilder::BB
 

Definition at line 38 of file DAGBuilder.cpp.

Referenced by visitAdd(), visitAnd(), visitBB(), visitBr(), visitLoad(), visitMul(), visitOr(), visitRet(), visitSetEQ(), visitSub(), and visitXor().

SelectionDAGNode* llvm::SelectionDAGBuilder::CurRoot
 

Definition at line 41 of file DAGBuilder.cpp.

Referenced by llvm::SelectionDAG::SelectionDAG(), and visitBB().

SelectionDAG& llvm::SelectionDAGBuilder::DAG
 

Definition at line 30 of file DAGBuilder.cpp.

Referenced by visitBB(), and visitCall().

SelectionDAGTargetBuilder& llvm::SelectionDAGBuilder::SDTB
 

Definition at line 35 of file DAGBuilder.cpp.

Referenced by visitCall().


The documentation for this struct was generated from the following file: