Home | History | Annotate | Download | only in priv

Lines Matching refs:IRExpr

269 static Bool isFlat ( IRExpr* e )
285 static IRExpr* flatten_Expr ( IRSB* bb, IRExpr* ex )
288 IRExpr** newargs;
403 IRExpr *e1, *e2, *e3, *e4, *e5;
490 IRExpr* arg = d2->args[i];
632 IRExpr* get = st->Ist.WrTmp.data;
642 IRExpr* valE = (IRExpr*)val;
727 IRExpr* e;
1008 establishing IRExpr equality for a given sameIRExprs invocation. */
1026 /* The env in this section is a map from IRTemp to IRExpr*,
1046 static Bool sameIRExprs_aux2 ( IRExpr** env, IRExpr* e1, IRExpr* e2 );
1049 static Bool sameIRExprs_aux ( IRExpr** env, IRExpr* e1, IRExpr* e2 )
1056 static Bool sameIRExprs_aux2 ( IRExpr** env, IRExpr* e1, IRExpr* e2 )
1134 static Bool sameIRExprs ( IRExpr** env, IRExpr* e1, IRExpr* e2 )
1164 Bool debug_only_hack_sameIRExprs_might_assert ( IRExpr* e1, IRExpr* e2 )
1182 static Bool isZeroU32 ( IRExpr* e )
1192 static Bool isZeroU64 ( IRExpr* e )
1201 static Bool isZeroV128 ( IRExpr* e )
1209 static Bool isZeroV256 ( IRExpr* e )
1217 static Bool isZeroU ( IRExpr* e )
1231 static Bool isOnesU ( IRExpr* e )
1254 static IRExpr* mkZeroOfPrimopResultType ( IROp op )
1274 static IRExpr* mkOnesOfPrimopResultType ( IROp op )
1347 static IRExpr* chase ( IRExpr** env, IRExpr* e )
1361 static IRExpr* chase1 ( IRExpr** env, IRExpr* e )
1369 static IRExpr* fold_Expr ( IRExpr** env, IRExpr* e )
1372 IRExpr* e2 = e; /* e2 is the result of folding e, if possible */
2054 IRExpr* argHi = e->Iex.Binop.arg1;
2055 IRExpr* argLo = e->Iex.Binop.arg2;
2326 IRExpr* a1 = chase(env, e->Iex.Binop.arg1);
2429 static IRExpr* subst_Expr ( IRExpr** env, IRExpr* ex )
2434 IRExpr *rhs = env[(Int)ex->Iex.RdTmp.tmp];
2510 IRExpr** args2 = shallowCopyIRExprVec(ex->Iex.CCall.args);
2544 static IRStmt* subst_and_fold_Stmt ( IRExpr** env, IRStmt* st )
2602 IRExpr* faddr = fold_Expr(env, subst_Expr(env, sg->addr));
2603 IRExpr* fdata = fold_Expr(env, subst_Expr(env, sg->data));
2604 IRExpr* fguard = fold_Expr(env, subst_Expr(env, sg->guard));
2629 IRExpr* faddr = fold_Expr(env, subst_Expr(env, lg->addr));
2630 IRExpr* falt = fold_Expr(env, subst_Expr(env, lg->alt));
2631 IRExpr* fguard = fold_Expr(env, subst_Expr(env, lg->guard));
2701 IRExpr* arg = d2->args[i];
2722 IRExpr* fcond;
2761 IRExpr** env = LibVEX_Alloc_inline(n_tmps * sizeof(IRExpr*));
2774 Values are IRExpr*s.
2828 IRExpr* guard = lg->guard;
2881 IRExpr* guard = lg->guard;
2933 static void addUses_Expr ( Bool* set, IRExpr* e )
3042 IRExpr* arg = d->args[i];
3063 static Bool isZeroU1 ( IRExpr* e )
3071 static Bool isOneU1 ( IRExpr* e )
3170 IRExpr* (*specHelper) (const HChar*, IRExpr**, IRStmt**, Int)
3175 IRExpr* ex;
3240 GSAliasing getAliasingRelation_IC ( IRRegArray* descr1, IRExpr* ix1,
3263 IRRegArray* descr1, IRExpr* ix1, Int bias1,
3264 IRRegArray* descr2, IRExpr* ix2, Int bias2
3369 /* Convert an atomic IRExpr* to a TmpOrConst. */
3370 static void irExpr_to_TmpOrConst ( /*OUT*/TmpOrConst* tc, IRExpr* e )
3388 /* Convert a TmpOrConst to an atomic IRExpr*. */
3389 static IRExpr* tmpOrConst_to_IRExpr ( TmpOrConst* tc )
3398 /* Convert a NULL terminated IRExpr* vector to an array of
3402 IRExpr** ins )
3412 IRExpr* arg = ins[i];
3572 static IRExpr* availExpr_to_IRExpr ( AvailExpr* ae )
3628 IRExpr** vec = LibVEX_Alloc_inline((n+1) * sizeof(IRExpr*));
3719 static AvailExpr* irExpr_to_AvailExpr ( IRExpr* e, Bool allowLoadsToBeCSEd )
4038 static Bool isAdd32OrSub32 ( IRExpr* e, IRTemp* tmp, Int* i32 )
4067 IRExpr* e;
4213 IRExpr* findPutI ( IRSB* bb, Int startHere,
4214 IRRegArray* descrG, IRExpr* ixG, Int biasG )
4455 IRExpr* ix = st->Ist.WrTmp.data->Iex.GetI.ix;
4457 IRExpr* replacement = findPutI(bb, i-1, descr, ix, bias);
4547 static void deltaIRExpr ( IRExpr* e, Int delta )
4667 IRExpr* arg = d->args[i];
4744 IRExpr* udst;
4972 IRExpr* bindee;
4999 static void setHints_Expr (Bool* doesLoad, Interval* getInterval, IRExpr* e )
5061 static void addToEnvFront ( ATmpInfo* env, IRTemp binder, IRExpr* bindee )
5079 static void aoccCount_Expr ( UShort* uses, IRExpr* e )
5204 IRExpr* arg = d->args[i];
5226 static IRExpr* atbSubst_Temp ( ATmpInfo* env, IRTemp tmp )
5231 IRExpr* bindee = env[i].bindee;
5245 static inline Bool is_Unop ( IRExpr* e, IROp op ) {
5248 static inline Bool is_Binop ( IRExpr* e, IROp op ) {
5252 static IRExpr* fold_IRExpr_Binop ( IROp op, IRExpr* a1, IRExpr* a2 )
5277 static IRExpr* fold_IRExpr_Unop ( IROp op, IRExpr* aa )
5426 static IRExpr* atbSubst_Expr ( ATmpInfo* env, IRExpr* e )
5428 IRExpr* e2;
5429 IRExpr** args2;
5595 IRExpr* arg = d2->args[i];
5828 IRExpr *e, *e2;
5979 static void print_flat_expr ( IRExpr** env, IRExpr* e )
6024 static UInt spotBitfieldAssignment ( /*OUT*/IRExpr** aa, /*OUT*/IRExpr** bb,
6025 /*OUT*/IRExpr** cc,
6026 IRExpr** env, IRExpr* e,
6036 IRExpr *a1, *and, *xor, *c, *a2bL, *a2bR;
6170 the IRExpr* for (a & ~c) | (b & c). Else return NULL. */
6171 static IRExpr* do_XOR_TRANSFORMS_IRExpr ( IRExpr** env, IRExpr* e )
6201 IRExpr* aa = NULL;
6202 IRExpr* bb = NULL;
6203 IRExpr* cc = NULL;
6243 IRExpr** env = LibVEX_Alloc_inline(n_tmps * sizeof(IRExpr*));
6276 IRExpr* mb_new_data
6325 IRExpr* arg = d->args[j];
6391 IRExpr* (*specHelper) (const HChar*, IRExpr**, IRStmt**, Int),
6534 IRExpr* arg = d->args[j];
6562 - IRExpr/IRStmt trees should be treated as immutable, as they
6570 IRExpr* (*specHelper) (const HChar*, IRExpr**, IRStmt**, Int),