Home | History | Annotate | Download | only in pub

Lines Matching refs:IRExpr

71    Expressions (type 'IRExpr') represent operations without
1321 in the comments for IRExpr. */
1341 an IRExpr 'e' has e.tag equal to Iex_Load, then it's a load
1350 IRExpr;
1407 IRExpr* ix; /* Variable part of index into array */
1424 IRExpr* arg1; /* operand 1 */
1425 IRExpr* arg2; /* operand 2 */
1426 IRExpr* arg3; /* operand 3 */
1427 IRExpr* arg4; /* operand 4 */
1436 IRExpr* arg1; /* operand 1 */
1437 IRExpr* arg2; /* operand 2 */
1438 IRExpr* arg3; /* operand 3 */
1446 IRExpr* arg1; /* operand 1 */
1447 IRExpr* arg2; /* operand 2 */
1455 IRExpr* arg; /* operand */
1461 are not semantically valid IRExpr's.
1467 IRExpr* addr; /* Address being loaded from */
1519 IRExpr** args; /* Vector of argument expressions. */
1530 IRExpr* cond; /* Condition */
1531 IRExpr* expr0; /* True expression */
1532 IRExpr* exprX; /* False expression */
1538 extern IRExpr* IRExpr_Binder ( Int binder );
1539 extern IRExpr* IRExpr_Get ( Int off, IRType ty );
1540 extern IRExpr* IRExpr_GetI ( IRRegArray* descr, IRExpr* ix, Int bias );
1541 extern IRExpr* IRExpr_RdTmp ( IRTemp tmp );
1542 extern IRExpr* IRExpr_Qop ( IROp op, IRExpr* arg1, IRExpr* arg2,
1543 IRExpr* arg3, IRExpr* arg4 );
1544 extern IRExpr* IRExpr_Triop ( IROp op, IRExpr* arg1,
1545 IRExpr* arg2, IRExpr* arg3 );
1546 extern IRExpr* IRExpr_Binop ( IROp op, IRExpr* arg1, IRExpr* arg2 );
1547 extern IRExpr* IRExpr_Unop ( IROp op, IRExpr* arg );
1548 extern IRExpr* IRExpr_Load ( IREndness end, IRType ty, IRExpr* addr );
1549 extern IRExpr* IRExpr_Const ( IRConst* con );
1550 extern IRExpr* IRExpr_CCall ( IRCallee* cee, IRType retty, IRExpr** args );
1551 extern IRExpr* IRExpr_Mux0X ( IRExpr* cond, IRExpr* expr0, IRExpr* exprX );
1553 /* Deep-copy an IRExpr. */
1554 extern IRExpr* deepCopyIRExpr ( IRExpr* );
1556 /* Pretty-print an IRExpr. */
1557 extern void ppIRExpr ( IRExpr* );
1559 /* NULL-terminated IRExpr vector constructors, suitable for
1561 extern IRExpr** mkIRExprVec_0 ( void );
1562 extern IRExpr** mkIRExprVec_1 ( IRExpr* );
1563 extern IRExpr** mkIRExprVec_2 ( IRExpr*, IRExpr* );
1564 extern IRExpr** mkIRExprVec_3 ( IRExpr*, IRExpr*, IRExpr* );
1565 extern IRExpr** mkIRExprVec_4 ( IRExpr*, IRExpr*, IRExpr*, IRExpr* );
1566 extern IRExpr** mkIRExprVec_5 ( IRExpr*, IRExpr*, IRExpr*, IRExpr*,
1567 IRExpr* );
1568 extern IRExpr** mkIRExprVec_6 ( IRExpr*, IRExpr*, IRExpr*, IRExpr*,
1569 IRExpr*, IRExpr* );
1570 extern IRExpr** mkIRExprVec_7 ( IRExpr*, IRExpr*, IRExpr*, IRExpr*,
1571 IRExpr*, IRExpr*, IRExpr* );
1572 extern IRExpr** mkIRExprVec_8 ( IRExpr*, IRExpr*, IRExpr*, IRExpr*,
1573 IRExpr*, IRExpr*, IRExpr*, IRExpr*);
1575 /* IRExpr copiers:
1579 extern IRExpr** shallowCopyIRExprVec ( IRExpr** );
1580 extern IRExpr** deepCopyIRExprVec ( IRExpr** );
1584 extern IRExpr* mkIRExpr_HWord ( HWord );
1588 IRExpr* mkIRExprCCall ( IRType retty,
1590 IRExpr** args );
1595 static inline Bool isIRAtom ( IRExpr* e ) {
1601 extern Bool eqIRAtom ( IRExpr*, IRExpr* );
1726 IRExpr* guard; /* :: Ity_Bit. Controls whether call happens */
1727 IRExpr** args; /* arg list, ends in NULL */
1732 IRExpr* mAddr; /* of access, or NULL if mFx==Ifx_None */
1763 IRExpr** args );
1770 IRExpr** args );
1858 IRExpr* addr; /* store address */
1859 IRExpr* expdHi; /* expected old value at *addr */
1860 IRExpr* expdLo;
1861 IRExpr* dataHi; /* new value for *addr */
1862 IRExpr* dataLo;
1869 IREndness end, IRExpr* addr,
1870 IRExpr* expdHi, IRExpr* expdLo,
1871 IRExpr* dataHi, IRExpr* dataLo );
1969 IRExpr* base; /* Start of undefined chunk */
1971 IRExpr* nia; /* Address of next (guest) insn */
1979 IRExpr* data; /* The value to write */
1991 IRExpr* ix; /* Variable part of index into array */
1993 IRExpr* data; /* The value to write */
2005 IRExpr* data; /* Expression (RHS of assignment) */
2015 IRExpr* addr; /* store address */
2016 IRExpr* data; /* value to write */
2084 IRExpr* addr;
2085 IRExpr* storedata; /* NULL => LL, non-NULL => SC */
2118 IRExpr* guard; /* Conditional expression */
2129 extern IRStmt* IRStmt_AbiHint ( IRExpr* base, Int len, IRExpr* nia );
2130 extern IRStmt* IRStmt_Put ( Int off, IRExpr* data );
2131 extern IRStmt* IRStmt_PutI ( IRRegArray* descr, IRExpr* ix, Int bias,
2132 IRExpr* data );
2133 extern IRStmt* IRStmt_WrTmp ( IRTemp tmp, IRExpr* data );
2134 extern IRStmt* IRStmt_Store ( IREndness end, IRExpr* addr, IRExpr* data );
2137 IRExpr* addr, IRExpr* storedata );
2140 extern IRStmt* IRStmt_Exit ( IRExpr* guard, IRJumpKind jk, IRConst* dst );
2194 IRExpr* next;
2226 extern IRType typeOfIRExpr ( IRTypeEnv*, IRExpr* );