diff options
author | fche <fche> | 2007-05-30 14:56:21 +0000 |
---|---|---|
committer | fche <fche> | 2007-05-30 14:56:21 +0000 |
commit | cf9ff341332d68b367e47830eddbc962ab0a74e3 (patch) | |
tree | 12360412c4dd694a6eed8c04da7c63d9b2c343f1 /staptree.h | |
parent | 79e80fedc4bcac4cd1d5a684537f20a4331efd4e (diff) | |
download | systemtap-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.h | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -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); +}; |