diff options
author | Josh Stone <joshua.i.stone@intel.com> | 2008-06-18 17:07:15 -0700 |
---|---|---|
committer | Josh Stone <joshua.i.stone@intel.com> | 2008-06-18 17:07:15 -0700 |
commit | bea72737344238d12c4b4bcd197d7e6606780e45 (patch) | |
tree | 34b9507c7fa2147fcd9b601b162cf25fd90f691d /testsuite/systemtap.base/optim_arridx.stp | |
parent | 7bbd87f91f4cc45394be5f7f0ca1bfea99bad066 (diff) | |
download | systemtap-steved-bea72737344238d12c4b4bcd197d7e6606780e45.tar.gz systemtap-steved-bea72737344238d12c4b4bcd197d7e6606780e45.tar.xz systemtap-steved-bea72737344238d12c4b4bcd197d7e6606780e45.zip |
New optimization to break up statements in void contexts.
PR 6644
* elaborate.cxx (dead_stmtexpr_remover::visit_block): Flatten nested
block statements into a single block.
(dead_stmtexpr_remover::visit_if_statement): Remove the possibility
of if_statements with a null thenblock. When an if lacks both then
and else, either remove it completely or reduce it to a simple
statment evaluating the condition. With an else and no then, invert
the condition and else becomes then.
(void_statement_reducer): New optimization visitor that breaks
statements in void context into smaller pieces, to expose more
optimization opportunities.
(semantic_pass_opt5, semantic_pass_opt6): Bump opt5 to opt6, and
create a new opt5 that runs through void_statement_reducer.
Diffstat (limited to 'testsuite/systemtap.base/optim_arridx.stp')
0 files changed, 0 insertions, 0 deletions