From 1b07c728305a32a8d1fa1bb5da9d428e34dddf4e Mon Sep 17 00:00:00 2001 From: fche Date: Tue, 25 Apr 2006 17:40:53 +0000 Subject: 2006-04-25 Frank Ch. Eigler 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. --- stap.1.in | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'stap.1.in') 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 -- cgit