OpenASIP 2.2
Loading...
Searching...
No Matches
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),
1031 guard_(NULL), invg_(NULL), grIndex_(-1), grFile_(NULL) {}
find Finds info of the inner loops in the false
TTAProgram::BasicBlock & basicBlock()
TTAProgram::BasicBlock & fallThruBB_
const TTAMachine::RegisterFile * grFile_
TTAProgram::BasicBlock & jumpDestBB_

◆ ~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: