OpenASIP  2.0
Public Member Functions | Public Attributes | List of all members
SimpleIfConverter::CandidateBlocks Struct Reference
Collaboration diagram for SimpleIfConverter::CandidateBlocks:
Collaboration graph

Public Member Functions

 CandidateBlocks (BasicBlockNode &firstNode, BasicBlockNode &fallThruNode, BasicBlockNode &jumpNode, BasicBlockNode &lastNode, BasicBlockNode *joinNode, BasicBlockNode *succNode1, BasicBlockNode *succNode2, bool removeJoin, bool removeFT, bool removeJd)
 
 ~CandidateBlocks ()
 

Public Attributes

BasicBlockNodefirstNode_
 
BasicBlockNodefallThruNode_
 
BasicBlockNodejumpDestNode_
 
BasicBlockNodelastNode_
 
BasicBlockNodejoinNode_
 
BasicBlockNodesuccNode1_
 
BasicBlockNodesuccNode2_
 
TTAProgram::BasicBlockfirstBB_
 
TTAProgram::BasicBlockfallThruBB_
 
TTAProgram::BasicBlockjumpDestBB_
 
TTAProgram::BasicBlocklastBB_
 
TTAProgram::BasicBlockjoinBB_
 
bool removeJoin_
 
bool removeFt_
 
bool removeJd_
 
bool createJump_
 
TTAProgram::MoveGuardguard_
 
TTAProgram::MoveGuardinvg_
 
int grIndex_
 
const TTAMachine::RegisterFilegrFile_
 

Detailed Description

This struct holds data about one area being if-converted, all the nodes and their order and the form of the area.

Definition at line 70 of file SimpleIfConverter.hh.

Constructor & Destructor Documentation

◆ CandidateBlocks()

SimpleIfConverter::CandidateBlocks::CandidateBlocks ( BasicBlockNode firstNode,
BasicBlockNode fallThruNode,
BasicBlockNode jumpDestNode,
BasicBlockNode lastNode,
BasicBlockNode joinNode,
BasicBlockNode succNode1,
BasicBlockNode succNode2,
bool  removeJoin,
bool  removeFT,
bool  removeJd 
)

Sub class CandidateBlocks Constructor

Parameters
firstNodenode where the branch was
fallThruNodenode where fell thru if branch not taken
jumpDestNodenode where the jump jumped
lastNodelast node in the area being converter. May be fallThruNode, jumpDestNode or joinNode.
joinNodenode where the paths join. Can be jumpNode, fallThruNode, lastNode or NULL if paths join outside converted area(at succNode1)
succNode11st successor node(fall-thru of original lastNode)
succNode22nd succossor node(if lastNode has branch, branch target)

Definition at line 1015 of file SimpleIfConverter.cc.

1020  :
1021  firstNode_(firstNode), fallThruNode_(fallThruNode),
1022  jumpDestNode_(jumpDestNode), lastNode_(lastNode),
1023  joinNode_(joinNode), succNode1_(succNode1),
1024  succNode2_(succNode2),
1025  firstBB_(firstNode.basicBlock()), fallThruBB_(fallThruNode.basicBlock()),
1026  jumpDestBB_(jumpDestNode.basicBlock()),
1027  lastBB_(lastNode.basicBlock()),
1028  joinBB_(joinNode == NULL ? NULL : &joinNode->basicBlock()),
1029  removeJoin_(removeJoin), removeFt_(removeFT), removeJd_(removeJd),
1030  createJump_(false),
1031  guard_(NULL), invg_(NULL), grIndex_(-1), grFile_(NULL) {}

◆ ~CandidateBlocks()

SimpleIfConverter::CandidateBlocks::~CandidateBlocks ( )

Destructor

Definition at line 1037 of file SimpleIfConverter.cc.

1037  {
1038  if (guard_ != NULL) {
1039  delete guard_;
1040  }
1041  if (invg_ != NULL) {
1042  delete invg_;
1043  }
1044 }

Member Data Documentation

◆ createJump_

bool SimpleIfConverter::CandidateBlocks::createJump_

◆ fallThruBB_

TTAProgram::BasicBlock& SimpleIfConverter::CandidateBlocks::fallThruBB_

◆ fallThruNode_

BasicBlockNode& SimpleIfConverter::CandidateBlocks::fallThruNode_

◆ firstBB_

TTAProgram::BasicBlock& SimpleIfConverter::CandidateBlocks::firstBB_

◆ firstNode_

BasicBlockNode& SimpleIfConverter::CandidateBlocks::firstNode_

◆ grFile_

const TTAMachine::RegisterFile* SimpleIfConverter::CandidateBlocks::grFile_

Definition at line 102 of file SimpleIfConverter.hh.

Referenced by SimpleIfConverter::canConvert().

◆ grIndex_

int SimpleIfConverter::CandidateBlocks::grIndex_

Definition at line 101 of file SimpleIfConverter.hh.

Referenced by SimpleIfConverter::canConvert().

◆ guard_

TTAProgram::MoveGuard* SimpleIfConverter::CandidateBlocks::guard_

◆ invg_

TTAProgram::MoveGuard* SimpleIfConverter::CandidateBlocks::invg_

◆ joinBB_

TTAProgram::BasicBlock* SimpleIfConverter::CandidateBlocks::joinBB_

◆ joinNode_

BasicBlockNode* SimpleIfConverter::CandidateBlocks::joinNode_

◆ jumpDestBB_

TTAProgram::BasicBlock& SimpleIfConverter::CandidateBlocks::jumpDestBB_

◆ jumpDestNode_

BasicBlockNode& SimpleIfConverter::CandidateBlocks::jumpDestNode_

◆ lastBB_

TTAProgram::BasicBlock& SimpleIfConverter::CandidateBlocks::lastBB_

Definition at line 92 of file SimpleIfConverter.hh.

Referenced by SimpleIfConverter::combineBlocks().

◆ lastNode_

BasicBlockNode& SimpleIfConverter::CandidateBlocks::lastNode_

◆ removeFt_

bool SimpleIfConverter::CandidateBlocks::removeFt_

Definition at line 96 of file SimpleIfConverter.hh.

Referenced by SimpleIfConverter::updateCfg().

◆ removeJd_

bool SimpleIfConverter::CandidateBlocks::removeJd_

Definition at line 97 of file SimpleIfConverter.hh.

Referenced by SimpleIfConverter::updateCfg().

◆ removeJoin_

bool SimpleIfConverter::CandidateBlocks::removeJoin_

◆ succNode1_

BasicBlockNode* SimpleIfConverter::CandidateBlocks::succNode1_

◆ succNode2_

BasicBlockNode* SimpleIfConverter::CandidateBlocks::succNode2_

Definition at line 87 of file SimpleIfConverter.hh.

Referenced by SimpleIfConverter::combineBlocks().


The documentation for this struct was generated from the following files:
SimpleIfConverter::CandidateBlocks::lastBB_
TTAProgram::BasicBlock & lastBB_
Definition: SimpleIfConverter.hh:92
SimpleIfConverter::CandidateBlocks::invg_
TTAProgram::MoveGuard * invg_
Definition: SimpleIfConverter.hh:100
SimpleIfConverter::CandidateBlocks::firstNode_
BasicBlockNode & firstNode_
Definition: SimpleIfConverter.hh:81
SimpleIfConverter::CandidateBlocks::guard_
TTAProgram::MoveGuard * guard_
Definition: SimpleIfConverter.hh:99
SimpleIfConverter::CandidateBlocks::jumpDestBB_
TTAProgram::BasicBlock & jumpDestBB_
Definition: SimpleIfConverter.hh:91
SimpleIfConverter::CandidateBlocks::createJump_
bool createJump_
Definition: SimpleIfConverter.hh:98
SimpleIfConverter::CandidateBlocks::joinNode_
BasicBlockNode * joinNode_
Definition: SimpleIfConverter.hh:85
BasicBlockNode::basicBlock
TTAProgram::BasicBlock & basicBlock()
Definition: BasicBlockNode.cc:126
SimpleIfConverter::CandidateBlocks::removeJd_
bool removeJd_
Definition: SimpleIfConverter.hh:97
SimpleIfConverter::CandidateBlocks::firstBB_
TTAProgram::BasicBlock & firstBB_
Definition: SimpleIfConverter.hh:89
SimpleIfConverter::CandidateBlocks::fallThruNode_
BasicBlockNode & fallThruNode_
Definition: SimpleIfConverter.hh:82
SimpleIfConverter::CandidateBlocks::grFile_
const TTAMachine::RegisterFile * grFile_
Definition: SimpleIfConverter.hh:102
SimpleIfConverter::CandidateBlocks::succNode1_
BasicBlockNode * succNode1_
Definition: SimpleIfConverter.hh:86
SimpleIfConverter::CandidateBlocks::lastNode_
BasicBlockNode & lastNode_
Definition: SimpleIfConverter.hh:84
SimpleIfConverter::CandidateBlocks::joinBB_
TTAProgram::BasicBlock * joinBB_
Definition: SimpleIfConverter.hh:93
SimpleIfConverter::CandidateBlocks::removeJoin_
bool removeJoin_
Definition: SimpleIfConverter.hh:95
SimpleIfConverter::CandidateBlocks::grIndex_
int grIndex_
Definition: SimpleIfConverter.hh:101
SimpleIfConverter::CandidateBlocks::fallThruBB_
TTAProgram::BasicBlock & fallThruBB_
Definition: SimpleIfConverter.hh:90
SimpleIfConverter::CandidateBlocks::jumpDestNode_
BasicBlockNode & jumpDestNode_
Definition: SimpleIfConverter.hh:83
SimpleIfConverter::CandidateBlocks::removeFt_
bool removeFt_
Definition: SimpleIfConverter.hh:96
SimpleIfConverter::CandidateBlocks::succNode2_
BasicBlockNode * succNode2_
Definition: SimpleIfConverter.hh:87