summaryrefslogtreecommitdiffstats
path: root/stap.1.in
diff options
context:
space:
mode:
authorfche <fche>2006-04-25 17:40:53 +0000
committerfche <fche>2006-04-25 17:40:53 +0000
commit1b07c728305a32a8d1fa1bb5da9d428e34dddf4e (patch)
treef86471e86673dbd7ce49f755f7d980aec43a5a58 /stap.1.in
parentfe7e582fac54df14452fa017529bf642f2047e5f (diff)
downloadsystemtap-steved-1b07c728305a32a8d1fa1bb5da9d428e34dddf4e.tar.gz
systemtap-steved-1b07c728305a32a8d1fa1bb5da9d428e34dddf4e.tar.xz
systemtap-steved-1b07c728305a32a8d1fa1bb5da9d428e34dddf4e.zip
2006-04-25 Frank Ch. Eigler <fche@elastic.org>
PR 2427. * staptree.cxx (varuse_collecting_visitor::visit_embeddedcode): Support /* pure */ declaration. Stop using __tvar_ naming hack. (v_c_u::visit_print_format): Mark sprint and sprintf as side-effect-free. (deep_copy_visitor::visit_print_format): Propagate raw_components. * stap.1.in: Document declaration. * elaborate.cxx (semantic_pass_opt2): Verbose message tweak. (dead_stmtexpr_remover): Extend for more aggressive optimization. * tapsets.cxx (dwarf,mark_var_expanding_copy_visotor): Add /* pure */ declaration to rvalue expansions. * tapset/*.stp: Added /* pure */ declarations to many functions. * testsuite/parseok/unparsers.stp: Propagate guru mode flag. * testsuite/buildok/twentyfour.stp: New test.
Diffstat (limited to 'stap.1.in')
-rw-r--r--stap.1.in11
1 files changed, 7 insertions, 4 deletions
diff --git a/stap.1.in b/stap.1.in
index c3ce0725..387fe640 100644
--- a/stap.1.in
+++ b/stap.1.in
@@ -646,10 +646,13 @@ with "$") are found and have their run-time locations decoded.
.PP
Next, all probes and functions are analyzed for optimization
opportunities, in order to remove variables, expressions, and
-functions that have no useful value and no side-effect. Since this
-process can hide latent code errors such as type mismatches or invalid
-$target variables, it sometimes may be useful to disable the
-optimizations with the
+functions that have no useful value and no side-effect. Embedded-C
+functions are assumed to have side-effects unless they include the
+magic string
+.BR /*\ pure\ */ .
+Since this optimization can hide latent code errors such as type
+mismatches or invalid $target variables, it sometimes may be useful
+to disable the optimizations with the
.BR \-u
option.
.PP