Home | History | Annotate | Download | only in priv

Lines Matching refs:ae

3479 static IRExpr* availExpr_to_IRExpr ( AvailExpr* ae ) 
3482 switch (ae->tag) {
3484 return IRExpr_Unop( ae->u.Ut.op, IRExpr_RdTmp(ae->u.Ut.arg) );
3486 return IRExpr_Binop( ae->u.Btt.op,
3487 IRExpr_RdTmp(ae->u.Btt.arg1),
3488 IRExpr_RdTmp(ae->u.Btt.arg2) );
3491 *con = ae->u.Btc.con2;
3492 return IRExpr_Binop( ae->u.Btc.op,
3493 IRExpr_RdTmp(ae->u.Btc.arg1),
3497 *con = ae->u.Bct.con1;
3498 return IRExpr_Binop( ae->u.Bct.op,
3500 IRExpr_RdTmp(ae->u.Bct.arg2) );
3502 return IRExpr_Const(IRConst_F64i(ae->u.Cf64i.f64i));
3504 return IRExpr_ITE(IRExpr_RdTmp(ae->u.Ittt.co),
3505 IRExpr_RdTmp(ae->u.Ittt.e1),
3506 IRExpr_RdTmp(ae->u.Ittt.e0));
3509 *con0 = ae->u.Ittc.con0;
3510 return IRExpr_ITE(IRExpr_RdTmp(ae->u.Ittc.co),
3511 IRExpr_RdTmp(ae->u.Ittc.e1),
3515 *con1 = ae->u.Itct.con1;
3516 return IRExpr_ITE(IRExpr_RdTmp(ae->u.Itct.co),
3518 IRExpr_RdTmp(ae->u.Itct.e0));
3523 *con0 = ae->u.Itcc.con0;
3524 *con1 = ae->u.Itcc.con1;
3525 return IRExpr_ITE(IRExpr_RdTmp(ae->u.Itcc.co),
3529 return IRExpr_GetI(ae->u.GetIt.descr,
3530 IRExpr_RdTmp(ae->u.GetIt.ix),
3531 ae->u.GetIt.bias);
3533 Int i, n = ae->u.CCall.nArgs;
3538 TmpOrConst* tc = &ae->u.CCall.args[i];
3547 return IRExpr_CCall(ae->u.CCall.cee,
3548 ae->u.CCall.retty,
3567 static void subst_AvailExpr ( HashHW* env, AvailExpr* ae )
3570 switch (ae->tag) {
3572 ae->u.Ut.arg = subst_AvailExpr_Temp( env, ae->u.Ut.arg );
3575 ae->u.Btt.arg1 = subst_AvailExpr_Temp( env, ae->u.Btt.arg1 );
3576 ae->u.Btt.arg2 = subst_AvailExpr_Temp( env, ae->u.Btt.arg2 );
3579 ae->u.Btc.arg1 = subst_AvailExpr_Temp( env, ae->u.Btc.arg1 );
3582 ae->u.Bct.arg2 = subst_AvailExpr_Temp( env, ae->u.Bct.arg2 );
3587 ae->u.Ittt.co = subst_AvailExpr_Temp( env, ae->u.Ittt.co );
3588 ae->u.Ittt.e1 = subst_AvailExpr_Temp( env, ae->u.Ittt.e1 );
3589 ae->u.Ittt.e0 = subst_AvailExpr_Temp( env, ae->u.Ittt.e0 );
3592 ae->u.Ittc.co = subst_AvailExpr_Temp( env, ae->u.Ittc.co );
3593 ae->u.Ittc.e1 = subst_AvailExpr_Temp( env, ae->u.Ittc.e1 );
3596 ae->u.Itct.co = subst_AvailExpr_Temp( env, ae->u.Itct.co );
3597 ae->u.Itct.e0 = subst_AvailExpr_Temp( env, ae->u.Itct.e0 );
3600 ae->u.Itcc.co = subst_AvailExpr_Temp( env, ae->u.Itcc.co );
3603 ae->u.GetIt.ix = subst_AvailExpr_Temp( env, ae->u.GetIt.ix );
3606 Int i, n = ae->u.CCall.nArgs;;
3608 TmpOrConst* tc = &ae->u.CCall.args[i];
3622 AvailExpr* ae;
3627 ae = LibVEX_Alloc(sizeof(AvailExpr));
3628 ae->tag = Ut;
3629 ae->u.Ut.op = e->Iex.Unop.op;
3630 ae->u.Ut.arg = e->Iex.Unop.arg->Iex.RdTmp.tmp;
3631 return ae;
3638 ae = LibVEX_Alloc(sizeof(AvailExpr));
3639 ae->tag = Btt;
3640 ae->u.Btt.op = e->Iex.Binop.op;
3641 ae->u.Btt.arg1 = e->Iex.Binop.arg1->Iex.RdTmp.tmp;
3642 ae->u.Btt.arg2 = e->Iex.Binop.arg2->Iex.RdTmp.tmp;
3643 return ae;
3646 ae = LibVEX_Alloc(sizeof(AvailExpr));
3647 ae->tag = Btc;
3648 ae->u.Btc.op = e->Iex.Binop.op;
3649 ae->u.Btc.arg1 = e->Iex.Binop.arg1->Iex.RdTmp.tmp;
3650 ae->u.Btc.con2 = *(e->Iex.Binop.arg2->Iex.Const.con);
3651 return ae;
3655 ae = LibVEX_Alloc(sizeof(AvailExpr));
3656 ae->tag = Bct;
3657 ae->u.Bct.op = e->Iex.Binop.op;
3658 ae->u.Bct.arg2 = e->Iex.Binop.arg2->Iex.RdTmp.tmp;
3659 ae->u.Bct.con1 = *(e->Iex.Binop.arg1->Iex.Const.con);
3660 return ae;
3666 ae = LibVEX_Alloc(sizeof(AvailExpr));
3667 ae->tag = Cf64i;
3668 ae->u.Cf64i.f64i = e->Iex.Const.con->Ico.F64i;
3669 return ae;
3677 ae = LibVEX_Alloc(sizeof(AvailExpr));
3678 ae->tag = Ittt;
3679 ae->u.Ittt.co = e->Iex.ITE.cond->Iex.RdTmp.tmp;
3680 ae->u.Ittt.e1 = e->Iex.ITE.iftrue->Iex.RdTmp.tmp;
3681 ae->u.Ittt.e0 = e->Iex.ITE.iffalse->Iex.RdTmp.tmp;
3682 return ae;
3685 ae = LibVEX_Alloc(sizeof(AvailExpr));
3686 ae->tag = Itct;
3687 ae->u.Itct.co = e->Iex.ITE.cond->Iex.RdTmp.tmp;
3688 ae->u.Itct.con1 = *(e->Iex.ITE.iftrue->Iex.Const.con);
3689 ae->u.Itct.e0 = e->Iex.ITE.iffalse->Iex.RdTmp.tmp;
3690 return ae;
3694 ae = LibVEX_Alloc(sizeof(AvailExpr));
3695 ae->tag = Ittc;
3696 ae->u.Ittc.co = e->Iex.ITE.cond->Iex.RdTmp.tmp;
3697 ae->u.Ittc.e1 = e->Iex.ITE.iftrue->Iex.RdTmp.tmp;
3698 ae->u.Ittc.con0 = *(e->Iex.ITE.iffalse->Iex.Const.con);
3699 return ae;
3702 ae = LibVEX_Alloc(sizeof(AvailExpr));
3703 ae->tag = Itcc;
3704 ae->u.Itcc.co = e->Iex.ITE.cond->Iex.RdTmp.tmp;
3705 ae->u.Itcc.con1 = *(e->Iex.ITE.iftrue->Iex.Const.con);
3706 ae->u.Itcc.con0 = *(e->Iex.ITE.iffalse->Iex.Const.con);
3707 return ae;
3715 ae = LibVEX_Alloc(sizeof(AvailExpr));
3716 ae->tag = GetIt;
3717 ae->u.GetIt.descr = e->Iex.GetI.descr;
3718 ae->u.GetIt.ix = e->Iex.GetI.ix->Iex.RdTmp.tmp;
3719 ae->u.GetIt.bias = e->Iex.GetI.bias;
3720 return ae;
3725 ae = LibVEX_Alloc(sizeof(AvailExpr));
3726 ae->tag = CCall;
3728 ae->u.CCall.cee = e->Iex.CCall.cee;
3729 ae->u.CCall.retty = e->Iex.CCall.retty;
3734 &ae->u.CCall.args, &ae->u.CCall.nArgs,
3737 return ae;
3756 AvailExpr* ae;
3813 ae = (AvailExpr*)aenv->key[j];
3814 if (ae->tag != GetIt)
3823 ae->u.GetIt.descr,
3824 IRExpr_RdTmp(ae->u.GetIt.ix),
3834 ae->u.GetIt.descr,
3835 IRExpr_RdTmp(ae->u.GetIt.ix),
3836 ae->u.GetIt.bias,