Home | History | Annotate | Download | only in priv

Lines Matching refs:Ist

1265                      s->Ist.IMark.addr, s->Ist.IMark.len,
1266 (UInt)s->Ist.IMark.delta);
1270 ppIRExpr(s->Ist.AbiHint.base);
1271 vex_printf(", %d, ", s->Ist.AbiHint.len);
1272 ppIRExpr(s->Ist.AbiHint.nia);
1276 vex_printf( "PUT(%d) = ", s->Ist.Put.offset);
1277 ppIRExpr(s->Ist.Put.data);
1280 ppIRPutI(s->Ist.PutI.details);
1283 ppIRTemp(s->Ist.WrTmp.tmp);
1285 ppIRExpr(s->Ist.WrTmp.data);
1288 vex_printf( "ST%s(", s->Ist.Store.end==Iend_LE ? "le" : "be" );
1289 ppIRExpr(s->Ist.Store.addr);
1291 ppIRExpr(s->Ist.Store.data);
1294 ppIRCAS(s->Ist.CAS.details);
1297 if (s->Ist.LLSC.storedata == NULL) {
1298 ppIRTemp(s->Ist.LLSC.result);
1300 s->Ist.LLSC.end==Iend_LE ? "le" : "be");
1301 ppIRExpr(s->Ist.LLSC.addr);
1304 ppIRTemp(s->Ist.LLSC.result);
1306 s->Ist.LLSC.end==Iend_LE ? "le" : "be");
1307 ppIRExpr(s->Ist.LLSC.addr);
1309 ppIRExpr(s->Ist.LLSC.storedata);
1314 ppIRDirty(s->Ist.Dirty.details);
1318 ppIRMBusEvent(s->Ist.MBE.event);
1322 ppIRExpr(s->Ist.Exit.guard);
1323 vex_printf( ") { PUT(%d) = ", s->Ist.Exit.offsIP);
1324 ppIRConst(s->Ist.Exit.dst);
1326 ppIRJumpKind(s->Ist.Exit.jk);
1745 s->Ist.IMark.addr = addr;
1746 s->Ist.IMark.len = len;
1747 s->Ist.IMark.delta = delta;
1753 s->Ist.AbiHint.base = base;
1754 s->Ist.AbiHint.len = len;
1755 s->Ist.AbiHint.nia = nia;
1761 s->Ist.Put.offset = off;
1762 s->Ist.Put.data = data;
1768 s->Ist.PutI.details = details;
1774 s->Ist.WrTmp.tmp = tmp;
1775 s->Ist.WrTmp.data = data;
1781 s->Ist.Store.end = end;
1782 s->Ist.Store.addr = addr;
1783 s->Ist.Store.data = data;
1790 s->Ist.CAS.details = cas;
1797 s->Ist.LLSC.end = end;
1798 s->Ist.LLSC.result = result;
1799 s->Ist.LLSC.addr = addr;
1800 s->Ist.LLSC.storedata = storedata;
1807 s->Ist.Dirty.details = d;
1814 s->Ist.MBE.event = event;
1821 s->Ist.Exit.guard = guard;
1822 s->Ist.Exit.jk = jk;
1823 s->Ist.Exit.dst = dst;
1824 s->Ist.Exit.offsIP = offsIP;
2019 return IRStmt_AbiHint(deepCopyIRExpr(s->Ist.AbiHint.base),
2020 s->Ist.AbiHint.len,
2021 deepCopyIRExpr(s->Ist.AbiHint.nia));
2023 return IRStmt_IMark(s->Ist.IMark.addr,
2024 s->Ist.IMark.len,
2025 s->Ist.IMark.delta);
2027 return IRStmt_Put(s->Ist.Put.offset,
2028 deepCopyIRExpr(s->Ist.Put.data));
2030 return IRStmt_PutI(deepCopyIRPutI(s->Ist.PutI.details));
2032 return IRStmt_WrTmp(s->Ist.WrTmp.tmp,
2033 deepCopyIRExpr(s->Ist.WrTmp.data));
2035 return IRStmt_Store(s->Ist.Store.end,
2036 deepCopyIRExpr(s->Ist.Store.addr),
2037 deepCopyIRExpr(s->Ist.Store.data));
2039 return IRStmt_CAS(deepCopyIRCAS(s->Ist.CAS.details));
2041 return IRStmt_LLSC(s->Ist.LLSC.end,
2042 s->Ist.LLSC.result,
2043 Ist.LLSC.addr),
2044 s->Ist.LLSC.storedata
2045 ? deepCopyIRExpr(s->Ist.LLSC.storedata)
2048 return IRStmt_Dirty(deepCopyIRDirty(s->Ist.Dirty.details));
2050 return IRStmt_MBE(s->Ist.MBE.event);
2052 return IRStmt_Exit(deepCopyIRExpr(s->Ist.Exit.guard),
2053 s->Ist.Exit.jk,
2054 deepCopyIRConst(s->Ist.Exit.dst),
2055 s->Ist.Exit.offsIP);
3027 return isIRAtom(st->Ist.AbiHint.base)
3028 && isIRAtom(st->Ist.AbiHint.nia);
3030 return isIRAtom(st->Ist.Put.data);
3032 puti = st->Ist.PutI.details;
3039 e = st->Ist.WrTmp.data;
3075 return toBool( isIRAtom(st->Ist.Store.addr)
3076 && isIRAtom(st->Ist.Store.data) );
3078 cas = st->Ist.CAS.details;
3085 return toBool( isIRAtom(st->Ist.LLSC.addr)
3086 && (st->Ist.LLSC.storedata
3087 ? isIRAtom(st->Ist.LLSC.storedata) : True) );
3089 di = st->Ist.Dirty.details;
3103 return isIRAtom(st->Ist.Exit.guard);
3257 useBeforeDef_Expr(bb,stmt,stmt->Ist.AbiHint.base,def_counts);
3258 useBeforeDef_Expr(bb,stmt,stmt->Ist.AbiHint.nia,def_counts);
3261 useBeforeDef_Expr(bb,stmt,stmt->Ist.Put.data,def_counts);
3264 puti = stmt->Ist.PutI.details;
3269 useBeforeDef_Expr(bb,stmt,stmt->Ist.WrTmp.data,def_counts);
3272 useBeforeDef_Expr(bb,stmt,stmt->Ist.Store.addr,def_counts);
3273 useBeforeDef_Expr(bb,stmt,stmt->Ist.Store.data,def_counts);
3276 cas = stmt->Ist.CAS.details;
3286 useBeforeDef_Expr(bb,stmt,stmt->Ist.LLSC.addr,def_counts);
3287 if (stmt->Ist.LLSC.storedata != NULL)
3288 useBeforeDef_Expr(bb,stmt,stmt->Ist.LLSC.storedata,def_counts);
3291 d = stmt->Ist.Dirty.details;
3301 useBeforeDef_Expr(bb,stmt,stmt->Ist.Exit.guard,def_counts);
3526 if (stmt->Ist.IMark.len < 0 || stmt->Ist.IMark.len > 20)
3528 if (stmt->Ist.IMark.delta > 1)
3532 if (typeOfIRExpr(tyenv, stmt->Ist.AbiHint.base) != gWordTy)
3535 if (typeOfIRExpr(tyenv, stmt->Ist.AbiHint.nia) != gWordTy)
3540 tcExpr( bb, stmt, stmt->Ist.Put.data, gWordTy );
3541 if (typeOfIRExpr(tyenv,stmt->Ist.Put.data) == Ity_I1)
3545 puti = stmt->Ist.PutI.details;
3559 tcExpr( bb, stmt, stmt->Ist.WrTmp.data, gWordTy );
3560 if (typeOfIRTemp(tyenv, stmt->Ist.WrTmp.tmp)
3561 != typeOfIRExpr(tyenv, stmt->Ist.WrTmp.data))
3565 tcExpr( bb, stmt, stmt->Ist.Store.addr, gWordTy );
3566 tcExpr( bb, stmt, stmt->Ist.Store.data, gWordTy );
3567 if (typeOfIRExpr(tyenv, stmt->Ist.Store.addr) != gWordTy)
3569 if (typeOfIRExpr(tyenv, stmt->Ist.Store.data) == Ity_I1)
3571 if (stmt->Ist.Store.end != Iend_LE && stmt->Ist.Store.end != Iend_BE)
3572 sanityCheckFail(bb,stmt,"Ist.Store.end: bogus endianness");
3575 cas = stmt->Ist.CAS.details;
3626 if (typeOfIRExpr(tyenv, stmt->Ist.LLSC.addr) != gWordTy)
3628 if (stmt->Ist.LLSC.end != Iend_LE && stmt->Ist.LLSC.end != Iend_BE)
3629 sanityCheckFail(bb,stmt,"Ist.LLSC.end: bogus endianness");
3630 tyRes = typeOfIRTemp(tyenv, stmt->Ist.LLSC.result);
3631 if (stmt->Ist.LLSC.storedata == NULL) {
3635 sanityCheckFail(bb,stmt,"Ist.LLSC(LL).result :: bogus");
3639 sanityCheckFail(bb,stmt,"Ist.LLSC(SC).result: not :: Ity_I1");
3640 tyData = typeOfIRExpr(tyenv, stmt->Ist.LLSC.storedata);
3644 "Ist.LLSC(SC).result :: storedata bogus");
3650 d = stmt->Ist.Dirty.details;
3709 switch (stmt->Ist.MBE.event) {
3717 tcExpr( bb, stmt, stmt->Ist.Exit.guard, gWordTy );
3718 if (typeOfIRExpr(tyenv,stmt->Ist.Exit.guard) != Ity_I1)
3720 if (!saneIRConst(stmt->Ist.Exit.dst))
3722 if (typeOfIRConst(stmt->Ist.Exit.dst) != gWordTy)
3725 if (stmt->Ist.Exit.offsIP < 16)
3791 if (stmt->Ist.WrTmp.tmp < 0 || stmt->Ist.WrTmp.tmp >= n_temps)
3794 def_counts[stmt->Ist.WrTmp.tmp]++;
3795 if (def_counts[stmt->Ist.WrTmp.tmp] > 1)
3802 if (stmt->Ist.Dirty.details->tmp != IRTemp_INVALID) {
3803 d = stmt->Ist.Dirty.details;
3814 cas = stmt->Ist.CAS.details;
3833 if (stmt->Ist.LLSC.result < 0 || stmt->Ist.LLSC.result >= n_temps)
3836 def_counts[stmt->Ist.LLSC.result]++;
3837 if (def_counts[stmt->Ist.LLSC.result] > 1)