• Home
  • Raw
  • Download

Lines Matching refs:addr_expr

312 static Bool is_stack_access(IRSB* const bb, IRExpr* const addr_expr)  in is_stack_access()  argument
316 if (addr_expr->tag == Iex_RdTmp) in is_stack_access()
323 && bb->stmts[i]->Ist.WrTmp.tmp == addr_expr->Iex.RdTmp.tmp) in is_stack_access()
350 static IRExpr* instr_trace_mem_load(IRSB* const bb, IRExpr* addr_expr, in instr_trace_mem_load() argument
356 tmp = newIRTemp(bb->tyenv, typeOfIRExpr(bb->tyenv, addr_expr)); in instr_trace_mem_load()
357 addStmtToIRSB(bb, IRStmt_WrTmp(tmp, addr_expr)); in instr_trace_mem_load()
358 addr_expr = IRExpr_RdTmp(tmp); in instr_trace_mem_load()
364 mkIRExprVec_2(addr_expr, mkIRExpr_HWord(size))); in instr_trace_mem_load()
368 return addr_expr; in instr_trace_mem_load()
374 static void instr_trace_mem_store(IRSB* const bb, IRExpr* const addr_expr, in instr_trace_mem_store() argument
466 mkIRExprVec_4(addr_expr, mkIRExpr_HWord(size), in instr_trace_mem_store()
473 static void instrument_load(IRSB* const bb, IRExpr* const addr_expr, in instrument_load() argument
481 if (!s_check_stack_accesses && is_stack_access(bb, addr_expr)) in instrument_load()
487 argv = mkIRExprVec_1(addr_expr); in instrument_load()
494 argv = mkIRExprVec_1(addr_expr); in instrument_load()
501 argv = mkIRExprVec_1(addr_expr); in instrument_load()
508 argv = mkIRExprVec_1(addr_expr); in instrument_load()
516 argv = mkIRExprVec_2(addr_expr, size_expr); in instrument_load()
527 static void instrument_store(IRSB* const bb, IRExpr* addr_expr, in instrument_store() argument
539 IRTemp tmp = newIRTemp(bb->tyenv, typeOfIRExpr(bb->tyenv, addr_expr)); in instrument_store()
540 addStmtToIRSB(bb, IRStmt_WrTmp(tmp, addr_expr)); in instrument_store()
541 addr_expr = IRExpr_RdTmp(tmp); in instrument_store()
542 instr_trace_mem_store(bb, addr_expr, NULL, data_expr, guard_expr); in instrument_store()
545 if (!s_check_stack_accesses && is_stack_access(bb, addr_expr)) in instrument_store()
551 argv = mkIRExprVec_1(addr_expr); in instrument_store()
558 argv = mkIRExprVec_1(addr_expr); in instrument_store()
565 argv = mkIRExprVec_1(addr_expr); in instrument_store()
572 argv = mkIRExprVec_1(addr_expr); in instrument_store()
580 argv = mkIRExprVec_2(addr_expr, size_expr); in instrument_store()
666 IRExpr* addr_expr = lg->addr; in DRD_() local
670 addr_expr = instr_trace_mem_load(bb, addr_expr, in DRD_()
682 IRExpr* addr_expr = data->Iex.Load.addr; in DRD_() local
685 addr_expr = instr_trace_mem_load(bb, addr_expr, in DRD_()
689 instrument_load(bb, addr_expr, sizeofIRType(data->Iex.Load.ty), in DRD_()
773 IRExpr* addr_expr = st->Ist.LLSC.addr; in DRD_() local
775 addr_expr = instr_trace_mem_load(bb, addr_expr, in DRD_()
779 instrument_load(bb, addr_expr, sizeofIRType(dataTy), in DRD_()