From cf9ff341332d68b367e47830eddbc962ab0a74e3 Mon Sep 17 00:00:00 2001 From: fche Date: Wed, 30 May 2007 14:56:21 +0000 Subject: 2007-05-30 Frank Ch. Eigler PR 4567. * staptree.cxx (varuse_collecting_visitor): Add side-effect result query functions. * elaborate.cxx (dead_stmtexpr_remover::visit_expr_statement): Switch to it. (dead_assignment_remover::visit_assignment): Skip elision of lvalues with side-effects in index exprs. * staptree.h: Corresponding changes. 2007-05-30 Frank Ch. Eigler PR 4567. * systemtap.base/optim.stp, optim.exp: New test. --- staptree.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'staptree.h') diff --git a/staptree.h b/staptree.h index b63c6c33..0ba8c657 100644 --- a/staptree.h +++ b/staptree.h @@ -723,8 +723,10 @@ struct varuse_collecting_visitor: public functioncall_traversing_visitor void visit_pre_crement (pre_crement *e); void visit_post_crement (post_crement *e); void visit_foreach_loop (foreach_loop *s); -}; + bool side_effect_free (); + bool side_effect_free_wrt (const std::set& vars); +}; -- cgit