ilang  1.1.4
ILAng: A Modeling and Verification Platform for SoCs
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Macros
pass.h
Go to the documentation of this file.
1 
4 #ifndef ILANG_ILA_MNGR_PASS_H__
5 #define ILANG_ILA_MNGR_PASS_H__
6 
7 #include <functional>
8 
10 
12 namespace ilang {
13 
15 namespace pass {
16 
18 bool InferChildProgCFG(const InstrLvlAbsPtr& m);
19 
21 bool MapChildProgEntryPoint(const InstrLvlAbsPtr& m);
22 
24 bool RewriteConditionalStore(const InstrLvlAbsPtr& m);
25 
27 bool RewriteStoreLoad(const InstrLvlAbsPtr& m);
28 
32 bool RewriteGeneric(const InstrLvlAbsPtr& m,
33  std::function<ExprPtr(const ExprPtr)> Rewr);
34 
38 bool SimplifySemantic(const InstrLvlAbsCnstPtr& m, const int& timeout = -1);
39 
43 bool SimplifySyntactic(const InstrLvlAbsPtr& m);
44 
48 bool SanityCheckAndFix(const InstrLvlAbsPtr& m);
49 
50 } // namespace pass
51 
52 }; // namespace ilang
53 
54 #endif // ILANG_ILA_MNGR_PASS_H__
Expr::ExprPtr ExprPtr
Pointer type for normal use of Expr.
Definition: expr.h:138
InstrLvlAbs::InstrLvlAbsCnstPtr InstrLvlAbsCnstPtr
Pointer type for read-only usage of InstrLvlAbs.
Definition: instr_lvl_abs.h:328
InstrLvlAbs::InstrLvlAbsPtr InstrLvlAbsPtr
Pointer type for normal use of InstrLvlAbs.
Definition: instr_lvl_abs.h:326