ilasynth
1.0
ILASynth: Template-based ILA Synthesis Engine
|
#include <horn.hpp>
Classes | |
struct | Instr_t |
Public Member Functions | |
HornTranslator (Abstraction *abs, const std::string &name) | |
virtual | ~HornTranslator () |
void | hornifyAll (const std::string &fileName) |
hvptr_t | hornifyNode (NodeRef *node, const std::string &ruleName) |
void | generateMapping (const std::string &type) |
void | exportHorn (const std::string &fileName) |
void | setIteAsNode (bool iteAsNode) |
void | setBvAsInt (bool bvAsInt) |
void | addInstr (const std::string &i, NodeRef *d) |
void | addNext (const std::string &i, const std::string &s, NodeRef *n) |
void | addChildInstr (const std::string &c, const std::string &i, NodeRef *d) |
void | depthFirstTraverse (nptr_t n) |
void | operator() (nptr_t n) |
std::string | addSuffix (const std::string &name, const int &idx) const |
hvptr_t | copyVar (hvptr_t v, const int &idx) |
Private Member Functions | |
hvptr_t | getVar (nptr_t n) |
hvptr_t | getVar (const std::string &s) |
hcptr_t | addClause (hvptr_t v=NULL) |
void | initVar (hvptr_t v, nptr_t n) |
void | initVarBv (hvptr_t v, nptr_t n) |
void | initVarInt (hvptr_t v, nptr_t n) |
void | initVar (hvptr_t v, const std::string &s) |
hvptr_t | getEqVar (hvptr_t a, hvptr_t b) |
hvptr_t | getConVar (hvptr_t c) |
bool | isITE (nptr_t n) const |
void | initBoolOp (const BoolOp *n, hvptr_t v) |
void | initBoolVar (const BoolVar *n, hvptr_t v) |
void | initBoolConst (const BoolConst *n, hvptr_t v) |
void | initBvOp (const BitvectorOp *n, hvptr_t v) |
void | initBvVar (const BitvectorVar *n, hvptr_t v) |
void | initBvConst (const BitvectorConst *n, hvptr_t v) |
void | initMemOp (const MemOp *n, hvptr_t v) |
void | initMemVar (const MemVar *n, hvptr_t v) |
void | initMemConst (const MemConst *n, hvptr_t v) |
void | initFuncVar (const FuncVar *n, hvptr_t v) |
void | initBoolOpInt (const BoolOp *n, hvptr_t v) |
void | initBoolVarInt (const BoolVar *n, hvptr_t v) |
void | initBoolConstInt (const BoolConst *n, hvptr_t v) |
void | initBvOpInt (const BitvectorOp *n, hvptr_t v) |
void | initBvVarInt (const BitvectorVar *n, hvptr_t v) |
void | initBvConstInt (const BitvectorConst *n, hvptr_t v) |
void | initMemOpInt (const MemOp *n, hvptr_t v) |
void | initMemVarInt (const MemVar *n, hvptr_t v) |
void | initMemConstInt (const MemConst *n, hvptr_t v) |
void | initFuncVarInt (const FuncVar *n, hvptr_t v) |
void | addBoolOp (const BoolOp *n, hvptr_t v) |
void | addBoolVar (const BoolVar *n, hvptr_t v) |
void | addBoolConst (const BoolConst *n, hvptr_t v) |
void | addBvOp (const BitvectorOp *n, hvptr_t v) |
void | addBvVar (const BitvectorVar *n, hvptr_t v) |
void | addBvConst (const BitvectorConst *n, hvptr_t v) |
void | addMemOp (const MemOp *n, hvptr_t v) |
void | addMemVar (const MemVar *n, hvptr_t v) |
void | addMemConst (const MemConst *n, hvptr_t v) |
void | addFuncVar (const FuncVar *n, hvptr_t v) |
std::string | genReadMemBlkExecLit (const std::string &mem, const std::string &addr, int addrWidth, int idx) const |
std::string | genReadMemBlkExecBig (const std::string &mem, const std::string &addr, int addrWidth, int idx, int num) const |
std::string | genStoreMemBlkExecLit (const std::string &mem, const std::string &addr, const std::string &data, int chunkSize, int chunkNum, int addrWidth, int idx) const |
std::string | genStoreMemBlkExecBig (const std::string &mem, const std::string &addr, const std::string &data, int chunkSize, int chunkNum, int addrWidth, int idx) const |
std::string | bvToString (mp_int_t val, int width) const |
std::string | bvToString (int val, int width) const |
void | genMemConstRules (const MemConst *n, hvptr_t v) |
bool | isLongBv (const int &w) const |
void | generateInterleaveMapping () |
void | generateBlockingMapping () |
HornRewriter * | generateLoopPredicate () |
void | allInterleaveMapping () |
Private Attributes | |
std::string | _name |
Abstraction * | _abs |
HornDB * | _db |
bool | _iteAsNode |
bool | _bvAsInt |
int | _bvMaxSize |
unsigned | _varCnt |
std::map< nptr_t, hvptr_t > | _nVarMap |
std::map< std::string, hvptr_t > | _sVarMap |
hcptr_t | _curHc |
std::set< std::string > | _states |
std::map< std::string, struct Instr_t * > | _instrs |
std::map< std::string, struct Instr_t * > | _childs |
ilasynth::HornTranslator::HornTranslator | ( | Abstraction * | abs, |
const std::string & | name | ||
) |
|
virtual |
|
private |
|
private |
|
private |
void ilasynth::HornTranslator::addChildInstr | ( | const std::string & | c, |
const std::string & | i, | ||
NodeRef * | d | ||
) |
void ilasynth::HornTranslator::addInstr | ( | const std::string & | i, |
NodeRef * | d | ||
) |
void ilasynth::HornTranslator::addNext | ( | const std::string & | i, |
const std::string & | s, | ||
NodeRef * | n | ||
) |
std::string ilasynth::HornTranslator::addSuffix | ( | const std::string & | name, |
const int & | idx | ||
) | const |
|
private |
|
private |
|
private |
void ilasynth::HornTranslator::depthFirstTraverse | ( | nptr_t | n | ) |
void ilasynth::HornTranslator::exportHorn | ( | const std::string & | fileName | ) |
|
private |
|
private |
|
private |
void ilasynth::HornTranslator::generateMapping | ( | const std::string & | type | ) |
|
private |
|
private |
|
private |
|
private |
|
private |
void ilasynth::HornTranslator::hornifyAll | ( | const std::string & | fileName | ) |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
void ilasynth::HornTranslator::operator() | ( | nptr_t | n | ) |
void ilasynth::HornTranslator::setBvAsInt | ( | bool | bvAsInt | ) |
void ilasynth::HornTranslator::setIteAsNode | ( | bool | iteAsNode | ) |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |