#include <HDLThread.h>
|
string | NameNext (string &s) |
|
void | updatepnvisited (int i) |
|
bool | isBreak (const Stmt *S) |
|
void | FindStatements (const CFGBlock &B, std::vector< const Stmt * > &SS) |
|
void | FindStatements (const SplitCFGBlock *B, std::vector< const Stmt * > &SS) |
|
void | MarkStatements (const Stmt *S, llvm::SmallDenseMap< const Stmt *, bool > &Map) |
|
void | CheckVardecls (hNodep &hp, string &cfgblockid) |
|
void | ProcessDeclStmt (const DeclStmt *declstmt, hNodep htmp) |
|
int | GetFalseLength (const SplitCFG::SplitCFGPath &pt, int cond_node_ix, int state_num) |
|
void | ProcessSplitGraphGroup (const SplitCFG::SplitCFGPath pt, int startix, int num_ele, int state_num, hNodep h_switchcase) |
|
void | ProcessSplitGraphBlock (const SplitCFG::SplitCFGPath &pt, int thisix, int state_num, hNodep h_switchcase) |
|
void | GenerateStateUpdate (hNodep hstatemethod, hNodep hlocalvarsp) |
|
void | GenerateStateVar (string sname) |
|
void | GenerateWaitCntUpdate (hNodep h_switchcase) |
|
hNodep | GenerateBinop (string opname, string lhs, string rhs, bool rhs_is_literal=true) |
|
bool | IsWaitStmt (hNodep hp) |
|
bool | isContinueorBreak (const Stmt *S) |
|
void | ProcessHWait (hNodep htmp, int nxtstate) |
|
void | ProcessBB (const CFGBlock &BI) |
|
void | AddThreadMethod (const CFGBlock &BI) |
|
Definition at line 25 of file HDLThread.h.
◆ HDLThread()
◆ ~HDLThread()
systemc_hdl::HDLThread::~HDLThread |
( |
| ) |
|
|
virtual |
◆ AddThreadMethod()
void systemc_hdl::HDLThread::AddThreadMethod |
( |
const CFGBlock & | BI | ) |
|
|
private |
◆ CheckVardecls()
void systemc_hdl::HDLThread::CheckVardecls |
( |
hNodep & | hp, |
|
|
string & | cfgblockid ) |
|
private |
◆ FindStatements() [1/2]
void systemc_hdl::HDLThread::FindStatements |
( |
const CFGBlock & | B, |
|
|
std::vector< const Stmt * > & | SS ) |
|
private |
◆ FindStatements() [2/2]
void systemc_hdl::HDLThread::FindStatements |
( |
const SplitCFGBlock * | B, |
|
|
std::vector< const Stmt * > & | SS ) |
|
private |
◆ GenerateBinop()
hNodep systemc_hdl::HDLThread::GenerateBinop |
( |
string | opname, |
|
|
string | lhs, |
|
|
string | rhs, |
|
|
bool | rhs_is_literal = true ) |
|
private |
◆ GenerateStateUpdate()
void systemc_hdl::HDLThread::GenerateStateUpdate |
( |
hNodep | hstatemethod, |
|
|
hNodep | hlocalvarsp ) |
|
private |
◆ GenerateStateVar()
void systemc_hdl::HDLThread::GenerateStateVar |
( |
string | sname | ) |
|
|
private |
◆ GenerateWaitCntUpdate()
void systemc_hdl::HDLThread::GenerateWaitCntUpdate |
( |
hNodep | h_switchcase | ) |
|
|
private |
◆ GetFalseLength()
int systemc_hdl::HDLThread::GetFalseLength |
( |
const SplitCFG::SplitCFGPath & | pt, |
|
|
int | cond_node_ix, |
|
|
int | state_num ) |
|
private |
◆ isBreak()
bool systemc_hdl::HDLThread::isBreak |
( |
const Stmt * | S | ) |
|
|
inlineprivate |
◆ isContinueorBreak()
bool systemc_hdl::HDLThread::isContinueorBreak |
( |
const Stmt * | S | ) |
|
|
private |
◆ IsWaitStmt()
bool systemc_hdl::HDLThread::IsWaitStmt |
( |
hNodep | hp | ) |
|
|
private |
◆ MarkStatements()
void systemc_hdl::HDLThread::MarkStatements |
( |
const Stmt * | S, |
|
|
llvm::SmallDenseMap< const Stmt *, bool > & | Map ) |
|
private |
◆ NameNext()
string systemc_hdl::HDLThread::NameNext |
( |
string & | s | ) |
|
|
inlineprivate |
◆ ProcessBB()
void systemc_hdl::HDLThread::ProcessBB |
( |
const CFGBlock & | BI | ) |
|
|
private |
◆ ProcessDeclStmt()
void systemc_hdl::HDLThread::ProcessDeclStmt |
( |
const DeclStmt * | declstmt, |
|
|
hNodep | htmp ) |
|
private |
called when a declstmt is instantiated more than once can skip the decl, but need to process initializer
Definition at line 222 of file HDLThread.cpp.
◆ ProcessHWait()
void systemc_hdl::HDLThread::ProcessHWait |
( |
hNodep | htmp, |
|
|
int | nxtstate ) |
|
private |
◆ ProcessSplitGraphBlock()
◆ ProcessSplitGraphGroup()
void systemc_hdl::HDLThread::ProcessSplitGraphGroup |
( |
const SplitCFG::SplitCFGPath | pt, |
|
|
int | startix, |
|
|
int | num_ele, |
|
|
int | state_num, |
|
|
hNodep | h_switchcase ) |
|
private |
◆ updatepnvisited()
void systemc_hdl::HDLThread::updatepnvisited |
( |
int | i | ) |
|
|
inlineprivate |
◆ add_info
bool systemc_hdl::HDLThread::add_info |
|
private |
◆ allmethodecls_
◆ ast_context_
const clang::ASTContext& systemc_hdl::HDLThread::ast_context_ |
|
private |
◆ condexp_confluence_block_map
◆ condexp_skip_block_set
std::set<SplitCFGBlock*> systemc_hdl::HDLThread::condexp_skip_block_set |
|
private |
◆ diag_e
clang::DiagnosticsEngine& systemc_hdl::HDLThread::diag_e |
◆ efc_
◆ h_resetvarinfo_
hNodep systemc_hdl::HDLThread::h_resetvarinfo_ |
|
private |
◆ h_ret
hNodep systemc_hdl::HDLThread::h_ret |
|
private |
◆ h_top_
hNodep systemc_hdl::HDLThread::h_top_ |
|
private |
◆ hlocalvarsp
hNodep systemc_hdl::HDLThread::hlocalvarsp |
|
private |
◆ hthreadblocksp
hNodep systemc_hdl::HDLThread::hthreadblocksp |
|
private |
◆ lutil
util systemc_hdl::HDLThread::lutil |
|
private |
◆ methodecls
◆ mod_vname_map_
◆ needwaitswitchcase
bool systemc_hdl::HDLThread::needwaitswitchcase |
|
private |
◆ nextstate_string
string systemc_hdl::HDLThread::nextstate_string |
|
private |
◆ nextstring
const string systemc_hdl::HDLThread::nextstring {"_next_"} |
|
private |
◆ nextwaitctr_string
string systemc_hdl::HDLThread::nextwaitctr_string |
|
private |
◆ numstates
int systemc_hdl::HDLThread::numstates |
|
private |
◆ overridden_method_map_
◆ pathnodevisited
std::unordered_set<int> systemc_hdl::HDLThread::pathnodevisited |
|
private |
◆ savewaitnextstate_string
string systemc_hdl::HDLThread::savewaitnextstate_string |
|
private |
◆ scfg
◆ SGVisited
std::unordered_map<std::string, int> systemc_hdl::HDLThread::SGVisited |
|
private |
◆ shadowstring
const string systemc_hdl::HDLThread::shadowstring {"_main_"} |
|
private |
◆ state_string
string systemc_hdl::HDLThread::state_string |
|
private |
◆ statestringsymbol
const string systemc_hdl::HDLThread::statestringsymbol {"#"} |
|
private |
◆ thread_vname_map
◆ waitctr_string
string systemc_hdl::HDLThread::waitctr_string |
|
private |
◆ waitnextstate_string
string systemc_hdl::HDLThread::waitnextstate_string |
|
private |
◆ xtbodyp
HDLBody* systemc_hdl::HDLThread::xtbodyp |
|
private |
The documentation for this class was generated from the following files: