summaryrefslogtreecommitdiffstats
path: root/staptree.h
diff options
context:
space:
mode:
authorfche <fche>2007-05-30 14:56:21 +0000
committerfche <fche>2007-05-30 14:56:21 +0000
commitcf9ff341332d68b367e47830eddbc962ab0a74e3 (patch)
tree12360412c4dd694a6eed8c04da7c63d9b2c343f1 /staptree.h
parent79e80fedc4bcac4cd1d5a684537f20a4331efd4e (diff)
downloadsystemtap-steved-cf9ff341332d68b367e47830eddbc962ab0a74e3.tar.gz
systemtap-steved-cf9ff341332d68b367e47830eddbc962ab0a74e3.tar.xz
systemtap-steved-cf9ff341332d68b367e47830eddbc962ab0a74e3.zip
2007-05-30 Frank Ch. Eigler <fche@redhat.com>
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 <fche@redhat.com> PR 4567. * systemtap.base/optim.stp, optim.exp: New test.
Diffstat (limited to 'staptree.h')
-rw-r--r--staptree.h4
1 files changed, 3 insertions, 1 deletions
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<vardecl*>& vars);
+};