H A D | test_main.c | 529 static IRExpr* expr2vbits ( struct _MCEnv* mce, IRExpr* e ); 570 Shadow IRTemps are therefore allocated on demand. mce.tmpMap is a 589 static IRTemp findShadowTmp ( MCEnv* mce, IRTemp orig ) argument 591 tl_assert(orig < mce->n_originalTmps); 592 if (mce->tmpMap[orig] == IRTemp_INVALID) { 593 mce->tmpMap[orig] 594 = newIRTemp(mce->bb->tyenv, 595 shadowType(mce->bb->tyenv->types[orig])); 597 return mce->tmpMap[orig]; 606 static void newShadowTmp ( MCEnv* mce, IRTem argument 630 isOriginalAtom( MCEnv* mce, IRAtom* a1 ) argument 641 isShadowAtom( MCEnv* mce, IRAtom* a1 ) argument 727 assignNew( MCEnv* mce, IRType ty, IRExpr* e ) argument 740 mkDifD8( MCEnv* mce, IRAtom* a1, IRAtom* a2 ) argument 746 mkDifD16( MCEnv* mce, IRAtom* a1, IRAtom* a2 ) argument 752 mkDifD32( MCEnv* mce, IRAtom* a1, IRAtom* a2 ) argument 758 mkDifD64( MCEnv* mce, IRAtom* a1, IRAtom* a2 ) argument 764 mkDifDV128( MCEnv* mce, IRAtom* a1, IRAtom* a2 ) argument 772 mkUifU8( MCEnv* mce, IRAtom* a1, IRAtom* a2 ) argument 778 mkUifU16( MCEnv* mce, IRAtom* a1, IRAtom* a2 ) argument 784 mkUifU32( MCEnv* mce, IRAtom* a1, IRAtom* a2 ) argument 790 mkUifU64( MCEnv* mce, IRAtom* a1, IRAtom* a2 ) argument 796 mkUifUV128( MCEnv* mce, IRAtom* a1, IRAtom* a2 ) argument 802 mkUifU( MCEnv* mce, IRType vty, IRAtom* a1, IRAtom* a2 ) argument 817 mkLeft8( MCEnv* mce, IRAtom* a1 ) argument 827 mkLeft16( MCEnv* mce, IRAtom* a1 ) argument 837 mkLeft32( MCEnv* mce, IRAtom* a1 ) argument 852 mkImproveAND8( MCEnv* mce, IRAtom* data, IRAtom* vbits ) argument 860 mkImproveAND16( MCEnv* mce, IRAtom* data, IRAtom* vbits ) argument 868 mkImproveAND32( MCEnv* mce, IRAtom* data, IRAtom* vbits ) argument 876 mkImproveAND64( MCEnv* mce, IRAtom* data, IRAtom* vbits ) argument 884 mkImproveANDV128( MCEnv* mce, IRAtom* data, IRAtom* vbits ) argument 895 mkImproveOR8( MCEnv* mce, IRAtom* data, IRAtom* vbits ) argument 907 mkImproveOR16( MCEnv* mce, IRAtom* data, IRAtom* vbits ) argument 919 mkImproveOR32( MCEnv* mce, IRAtom* data, IRAtom* vbits ) argument 931 mkImproveOR64( MCEnv* mce, IRAtom* data, IRAtom* vbits ) argument 943 mkImproveORV128( MCEnv* mce, IRAtom* data, IRAtom* vbits ) argument 957 mkPCastTo( MCEnv* mce, IRType dst_ty, IRAtom* vbits ) argument 1018 setHelperAnns( MCEnv* mce, IRDirty* di ) argument 1039 complainIfUndefined( MCEnv* mce, IRAtom* atom ) argument 1121 isAlwaysDefd( MCEnv* mce, Int offset, Int size ) argument 1153 do_shadow_PUT( MCEnv* mce, Int offset, IRAtom* atom, IRAtom* vatom ) argument 1183 do_shadow_PUTI( MCEnv* mce, IRRegArray* descr, IRAtom* ix, Int bias, IRAtom* atom ) argument 1218 shadow_GET( MCEnv* mce, Int offset, IRType ty ) argument 1237 shadow_GETI( MCEnv* mce, IRRegArray* descr, IRAtom* ix, Int bias ) argument 1268 mkLazy2( MCEnv* mce, IRType finalVty, IRAtom* va1, IRAtom* va2 ) argument 1287 mkLazyN( MCEnv* mce, IRAtom** exprvec, IRType finalVtype, IRCallee* cee ) argument 1320 expensiveAdd32( MCEnv* mce, IRAtom* qaa, IRAtom* qbb, IRAtom* aa, IRAtom* bb ) argument 1378 mkPCast8x16( MCEnv* mce, IRAtom* at ) argument 1383 mkPCast16x8( MCEnv* mce, IRAtom* at ) argument 1388 mkPCast32x4( MCEnv* mce, IRAtom* at ) argument 1393 mkPCast64x2( MCEnv* mce, IRAtom* at ) argument 1436 binary32Fx4( MCEnv* mce, IRAtom* vatomX, IRAtom* vatomY ) argument 1447 unary32Fx4( MCEnv* mce, IRAtom* vatomX ) argument 1456 binary32F0x4( MCEnv* mce, IRAtom* vatomX, IRAtom* vatomY ) argument 1469 unary32F0x4( MCEnv* mce, IRAtom* vatomX ) argument 1482 binary64Fx2( MCEnv* mce, IRAtom* vatomX, IRAtom* vatomY ) argument 1493 unary64Fx2( MCEnv* mce, IRAtom* vatomX ) argument 1502 binary64F0x2( MCEnv* mce, IRAtom* vatomX, IRAtom* vatomY ) argument 1515 unary64F0x2( MCEnv* mce, IRAtom* vatomX ) argument 1554 vectorNarrowV128( MCEnv* mce, IROp narrow_op, IRAtom* vatom1, IRAtom* vatom2) argument 1578 binary8Ix16( MCEnv* mce, IRAtom* vatom1, IRAtom* vatom2 ) argument 1587 binary16Ix8( MCEnv* mce, IRAtom* vatom1, IRAtom* vatom2 ) argument 1596 binary32Ix4( MCEnv* mce, IRAtom* vatom1, IRAtom* vatom2 ) argument 1605 binary64Ix2( MCEnv* mce, IRAtom* vatom1, IRAtom* vatom2 ) argument 1619 expr2vbits_Binop( MCEnv* mce, IROp op, IRAtom* atom1, IRAtom* atom2 ) argument 1940 expr2vbits_Unop( MCEnv* mce, IROp op, IRAtom* atom ) argument 2030 expr2vbits_LDle_WRK( MCEnv* mce, IRType ty, IRAtom* addr, UInt bias ) argument 2091 expr2vbits_LDle( MCEnv* mce, IRType ty, IRAtom* addr, UInt bias ) argument 2113 expr2vbits_ITE( MCEnv* mce, IRAtom* cond, IRAtom* iftrue, IRAtom* iffalse ) argument 2140 expr2vbits( MCEnv* mce, IRExpr* e ) argument 2195 zwidenToHostWord( MCEnv* mce, IRAtom* vatom ) argument 2226 do_shadow_STle( MCEnv* mce, IRAtom* addr, UInt bias, IRAtom* data, IRAtom* vdata ) argument 2355 do_shadow_Dirty( MCEnv* mce, IRDirty* d ) argument 2604 MCEnv mce; local [all...] |
H A D | mc_translate.c | 134 static IRExpr* expr2vbits ( struct _MCEnv* mce, IRExpr* e ); 135 static IRTemp findShadowTmpB ( struct _MCEnv* mce, IRTemp orig ); 190 "typeOfIRExpr(mce->bb->tyenv, ...)" at various places in the 222 Shadow IRTemps are therefore allocated on demand. mce.tmpMap is a 240 both the table in mce->sb and to our auxiliary mapping. Note that 241 newTemp may cause mce->tmpMap to resize, hence previous results 242 from VG_(indexXA)(mce->tmpMap) are invalidated. */ 243 static IRTemp newTemp ( MCEnv* mce, IRType ty, TempKind kind ) argument 247 IRTemp tmp = newIRTemp(mce->sb->tyenv, ty); 251 newIx = VG_(addToXA)( mce 259 findShadowTmpV( MCEnv* mce, IRTemp orig ) argument 289 newShadowTmpV( MCEnv* mce, IRTemp orig ) argument 323 isOriginalAtom( MCEnv* mce, IRAtom* a1 ) argument 336 isShadowAtom( MCEnv* mce, IRAtom* a1 ) argument 412 stmt( HChar cat, MCEnv* mce, IRStmt* st ) argument 423 assign( HChar cat, MCEnv* mce, IRTemp tmp, IRExpr* expr ) argument 448 assignNew( HChar cat, MCEnv* mce, IRType ty, IRExpr* e ) argument 490 mkDifD8( MCEnv* mce, IRAtom* a1, IRAtom* a2 ) argument 496 mkDifD16( MCEnv* mce, IRAtom* a1, IRAtom* a2 ) argument 502 mkDifD32( MCEnv* mce, IRAtom* a1, IRAtom* a2 ) argument 508 mkDifD64( MCEnv* mce, IRAtom* a1, IRAtom* a2 ) argument 514 mkDifDV128( MCEnv* mce, IRAtom* a1, IRAtom* a2 ) argument 520 mkDifDV256( MCEnv* mce, IRAtom* a1, IRAtom* a2 ) argument 528 mkUifU8( MCEnv* mce, IRAtom* a1, IRAtom* a2 ) argument 534 mkUifU16( MCEnv* mce, IRAtom* a1, IRAtom* a2 ) argument 540 mkUifU32( MCEnv* mce, IRAtom* a1, IRAtom* a2 ) argument 546 mkUifU64( MCEnv* mce, IRAtom* a1, IRAtom* a2 ) argument 552 mkUifU128( MCEnv* mce, IRAtom* a1, IRAtom* a2 ) argument 566 mkUifUV128( MCEnv* mce, IRAtom* a1, IRAtom* a2 ) argument 572 mkUifUV256( MCEnv* mce, IRAtom* a1, IRAtom* a2 ) argument 578 mkUifU( MCEnv* mce, IRType vty, IRAtom* a1, IRAtom* a2 ) argument 595 mkLeft8( MCEnv* mce, IRAtom* a1 ) argument 600 mkLeft16( MCEnv* mce, IRAtom* a1 ) argument 605 mkLeft32( MCEnv* mce, IRAtom* a1 ) argument 610 mkLeft64( MCEnv* mce, IRAtom* a1 ) argument 620 mkImproveAND8( MCEnv* mce, IRAtom* data, IRAtom* vbits ) argument 628 mkImproveAND16( MCEnv* mce, IRAtom* data, IRAtom* vbits ) argument 636 mkImproveAND32( MCEnv* mce, IRAtom* data, IRAtom* vbits ) argument 644 mkImproveAND64( MCEnv* mce, IRAtom* data, IRAtom* vbits ) argument 652 mkImproveANDV128( MCEnv* mce, IRAtom* data, IRAtom* vbits ) argument 660 mkImproveANDV256( MCEnv* mce, IRAtom* data, IRAtom* vbits ) argument 671 mkImproveOR8( MCEnv* mce, IRAtom* data, IRAtom* vbits ) argument 683 mkImproveOR16( MCEnv* mce, IRAtom* data, IRAtom* vbits ) argument 695 mkImproveOR32( MCEnv* mce, IRAtom* data, IRAtom* vbits ) argument 707 mkImproveOR64( MCEnv* mce, IRAtom* data, IRAtom* vbits ) argument 719 mkImproveORV128( MCEnv* mce, IRAtom* data, IRAtom* vbits ) argument 731 mkImproveORV256( MCEnv* mce, IRAtom* data, IRAtom* vbits ) argument 749 mkPCastTo( MCEnv* mce, IRType dst_ty, IRAtom* vbits ) argument 903 expensiveCmpEQorNE( MCEnv* mce, IRType ty, IRAtom* vxx, IRAtom* vyy, IRAtom* xx, IRAtom* yy ) argument 1024 doCmpORD( MCEnv* mce, IROp cmp_op, IRAtom* xxhash, IRAtom* yyhash, IRAtom* xx, IRAtom* yy ) argument 1108 setHelperAnns( MCEnv* mce, IRDirty* di ) argument 1142 complainIfUndefined( MCEnv* mce, IRAtom* atom, IRExpr *guard ) argument 1329 isAlwaysDefd( MCEnv* mce, Int offset, Int size ) argument 1362 do_shadow_PUT( MCEnv* mce, Int offset, IRAtom* atom, IRAtom* vatom, IRExpr *guard ) argument 1410 do_shadow_PUTI( MCEnv* mce, IRPutI *puti) argument 1454 shadow_GET( MCEnv* mce, Int offset, IRType ty ) argument 1475 shadow_GETI( MCEnv* mce, IRRegArray* descr, IRAtom* ix, Int bias ) argument 1507 mkLazy2( MCEnv* mce, IRType finalVty, IRAtom* va1, IRAtom* va2 ) argument 1555 mkLazy3( MCEnv* mce, IRType finalVty, IRAtom* va1, IRAtom* va2, IRAtom* va3 ) argument 1689 mkLazy4( MCEnv* mce, IRType finalVty, IRAtom* va1, IRAtom* va2, IRAtom* va3, IRAtom* va4 ) argument 1761 mkLazyN( MCEnv* mce, IRAtom** exprvec, IRType finalVtype, IRCallee* cee ) argument 1813 expensiveAddSub( MCEnv* mce, Bool add, IRType ty, IRAtom* qaa, IRAtom* qbb, IRAtom* aa, IRAtom* bb ) argument 1900 expensiveCountTrailingZeroes( MCEnv* mce, IROp czop, IRAtom* atom, IRAtom* vatom ) argument 1976 scalarShift( MCEnv* mce, IRType ty, IROp original_op, IRAtom* qaa, IRAtom* qbb, IRAtom* aa, IRAtom* bb ) argument 2005 mkPCast8x16( MCEnv* mce, IRAtom* at ) argument 2010 mkPCast16x8( MCEnv* mce, IRAtom* at ) argument 2015 mkPCast32x4( MCEnv* mce, IRAtom* at ) argument 2020 mkPCast64x2( MCEnv* mce, IRAtom* at ) argument 2025 mkPCast64x4( MCEnv* mce, IRAtom* at ) argument 2030 mkPCast32x8( MCEnv* mce, IRAtom* at ) argument 2035 mkPCast32x2( MCEnv* mce, IRAtom* at ) argument 2040 mkPCast16x16( MCEnv* mce, IRAtom* at ) argument 2045 mkPCast16x4( MCEnv* mce, IRAtom* at ) argument 2050 mkPCast8x32( MCEnv* mce, IRAtom* at ) argument 2055 mkPCast8x8( MCEnv* mce, IRAtom* at ) argument 2060 mkPCast16x2( MCEnv* mce, IRAtom* at ) argument 2065 mkPCast8x4( MCEnv* mce, IRAtom* at ) argument 2108 binary32Fx4( MCEnv* mce, IRAtom* vatomX, IRAtom* vatomY ) argument 2119 unary32Fx4( MCEnv* mce, IRAtom* vatomX ) argument 2128 binary32F0x4( MCEnv* mce, IRAtom* vatomX, IRAtom* vatomY ) argument 2141 unary32F0x4( MCEnv* mce, IRAtom* vatomX ) argument 2154 binary64Fx2( MCEnv* mce, IRAtom* vatomX, IRAtom* vatomY ) argument 2165 unary64Fx2( MCEnv* mce, IRAtom* vatomX ) argument 2174 binary64F0x2( MCEnv* mce, IRAtom* vatomX, IRAtom* vatomY ) argument 2187 unary64F0x2( MCEnv* mce, IRAtom* vatomX ) argument 2200 binary32Fx2( MCEnv* mce, IRAtom* vatomX, IRAtom* vatomY ) argument 2211 unary32Fx2( MCEnv* mce, IRAtom* vatomX ) argument 2222 binary64Fx4( MCEnv* mce, IRAtom* vatomX, IRAtom* vatomY ) argument 2233 unary64Fx4( MCEnv* mce, IRAtom* vatomX ) argument 2244 binary32Fx8( MCEnv* mce, IRAtom* vatomX, IRAtom* vatomY ) argument 2255 unary32Fx8( MCEnv* mce, IRAtom* vatomX ) argument 2266 binary64Fx2_w_rm( MCEnv* mce, IRAtom* vRM, IRAtom* vatomX, IRAtom* vatomY ) argument 2286 binary32Fx4_w_rm( MCEnv* mce, IRAtom* vRM, IRAtom* vatomX, IRAtom* vatomY ) argument 2300 binary64Fx4_w_rm( MCEnv* mce, IRAtom* vRM, IRAtom* vatomX, IRAtom* vatomY ) argument 2314 binary32Fx8_w_rm( MCEnv* mce, IRAtom* vRM, IRAtom* vatomX, IRAtom* vatomY ) argument 2416 vectorNarrowBinV128( MCEnv* mce, IROp narrow_op, IRAtom* vatom1, IRAtom* vatom2) argument 2442 vectorNarrowBin64( MCEnv* mce, IROp narrow_op, IRAtom* vatom1, IRAtom* vatom2) argument 2463 vectorNarrowUnV128( MCEnv* mce, IROp narrow_op, IRAtom* vatom1) argument 2501 vectorWidenI64( MCEnv* mce, IROp longen_op, IRAtom* vatom1) argument 2529 binary8Ix32( MCEnv* mce, IRAtom* vatom1, IRAtom* vatom2 ) argument 2538 binary16Ix16( MCEnv* mce, IRAtom* vatom1, IRAtom* vatom2 ) argument 2547 binary32Ix8( MCEnv* mce, IRAtom* vatom1, IRAtom* vatom2 ) argument 2556 binary64Ix4( MCEnv* mce, IRAtom* vatom1, IRAtom* vatom2 ) argument 2567 binary8Ix16( MCEnv* mce, IRAtom* vatom1, IRAtom* vatom2 ) argument 2576 binary16Ix8( MCEnv* mce, IRAtom* vatom1, IRAtom* vatom2 ) argument 2585 binary32Ix4( MCEnv* mce, IRAtom* vatom1, IRAtom* vatom2 ) argument 2594 binary64Ix2( MCEnv* mce, IRAtom* vatom1, IRAtom* vatom2 ) argument 2605 binary8Ix8( MCEnv* mce, IRAtom* vatom1, IRAtom* vatom2 ) argument 2614 binary16Ix4( MCEnv* mce, IRAtom* vatom1, IRAtom* vatom2 ) argument 2623 binary32Ix2( MCEnv* mce, IRAtom* vatom1, IRAtom* vatom2 ) argument 2632 binary64Ix1( MCEnv* mce, IRAtom* vatom1, IRAtom* vatom2 ) argument 2643 binary8Ix4( MCEnv* mce, IRAtom* vatom1, IRAtom* vatom2 ) argument 2652 binary16Ix2( MCEnv* mce, IRAtom* vatom1, IRAtom* vatom2 ) argument 2666 expr2vbits_Qop( MCEnv* mce, IROp op, IRAtom* atom1, IRAtom* atom2, IRAtom* atom3, IRAtom* atom4 ) argument 2714 expr2vbits_Triop( MCEnv* mce, IROp op, IRAtom* atom1, IRAtom* atom2, IRAtom* atom3 ) argument 2830 expr2vbits_Binop( MCEnv* mce, IROp op, IRAtom* atom1, IRAtom* atom2 ) argument 3988 expr2vbits_Unop( MCEnv* mce, IROp op, IRAtom* atom ) argument 4340 expr2vbits_Load_WRK( MCEnv* mce, IREndness end, IRType ty, IRAtom* addr, UInt bias, IRAtom* guard ) argument 4474 expr2vbits_Load( MCEnv* mce, IREndness end, IRType ty, IRAtom* addr, UInt bias, IRAtom* guard ) argument 4507 expr2vbits_Load_guarded_General( MCEnv* mce, IREndness end, IRType ty, IRAtom* addr, UInt bias, IRAtom* guard, IROp vwiden, IRAtom* valt ) argument 4565 expr2vbits_Load_guarded_Simple( MCEnv* mce, IREndness end, IRType ty, IRAtom* addr, UInt bias, IRAtom *guard ) argument 4577 expr2vbits_ITE( MCEnv* mce, IRAtom* cond, IRAtom* iftrue, IRAtom* iffalse ) argument 4605 expr2vbits( MCEnv* mce, IRExpr* e ) argument 4678 zwidenToHostWord( MCEnv* mce, IRAtom* vatom ) argument 4734 do_shadow_Store( MCEnv* mce, IREndness end, IRAtom* addr, UInt bias, IRAtom* data, IRAtom* vdata, IRAtom* guard ) argument 5000 do_shadow_Dirty( MCEnv* mce, IRDirty* d ) argument 5228 do_AbiHint( MCEnv* mce, IRExpr* base, Int len, IRExpr* nia ) argument 5286 bind_shadow_tmp_to_orig( UChar how, MCEnv* mce, IRAtom* orig, IRAtom* shadow ) argument 5314 do_shadow_CAS( MCEnv* mce, IRCAS* cas ) argument 5447 do_shadow_CAS_single( MCEnv* mce, IRCAS* cas ) argument 5537 do_shadow_CAS_double( MCEnv* mce, IRCAS* cas ) argument 5701 do_shadow_LLSC( MCEnv* mce, IREndness stEnd, IRTemp stResult, IRExpr* stAddr, IRExpr* stStoredata ) argument 5764 do_shadow_StoreG( MCEnv* mce, IRStoreG* sg ) argument 5777 do_shadow_LoadG( MCEnv* mce, IRLoadG* lg ) argument 5975 MCEnv mce; local 6424 findShadowTmpB( MCEnv* mce, IRTemp orig ) argument 6444 gen_maxU32( MCEnv* mce, IRAtom* b1, IRAtom* b2 ) argument 6458 gen_guarded_load_b( MCEnv* mce, Int szB, IRAtom* baseaddr, Int offset, IRExpr* guard ) argument 6531 gen_load_b( MCEnv* mce, Int szB, IRAtom* baseaddr, Int offset ) argument 6546 expr2ori_Load_guarded_General( MCEnv* mce, IRType ty, IRAtom* addr, UInt bias, IRAtom* guard, IRAtom* balt ) argument 6574 gen_store_b( MCEnv* mce, Int szB, IRAtom* baseaddr, Int offset, IRAtom* dataB, IRAtom* guard ) argument 6628 narrowTo32( MCEnv* mce, IRAtom* e ) argument 6637 zWidenFrom32( MCEnv* mce, IRType dstTy, IRAtom* e ) argument 6646 schemeE( MCEnv* mce, IRExpr* e ) argument 6782 do_origins_Dirty( MCEnv* mce, IRDirty* d ) argument 6988 do_origins_Store_guarded( MCEnv* mce, IREndness stEnd, IRExpr* stAddr, IRExpr* stData, IRExpr* guard ) argument 7008 do_origins_Store_plain( MCEnv* mce, IREndness stEnd, IRExpr* stAddr, IRExpr* stData ) argument 7020 do_origins_StoreG( MCEnv* mce, IRStoreG* sg ) argument 7026 do_origins_LoadG( MCEnv* mce, IRLoadG* lg ) argument 7048 schemeS( MCEnv* mce, IRStmt* st ) argument [all...] |