dojump.c (do_jump): Move below.
commit308216549297c41fb602dced560fa1ed8af0f8f6
authorPaolo Bonzini <bonzini@gnu.org>
Thu, 11 Sep 2008 14:45:05 +0000 (11 14:45 +0000)
committerPaolo Bonzini <bonzini@gcc.gnu.org>
Thu, 11 Sep 2008 14:45:05 +0000 (11 14:45 +0000)
tree92b409e6b2cc1567926f357bf36f519f4895571f
parentcf9757477e367cf9ab4e8dae6489dcd09178033e
dojump.c (do_jump): Move below.

2008-09-11  Paolo Bonzini  <bonzini@gnu.org>

* dojump.c (do_jump) [BIT_AND_EXPR]: Move below.  Fall through to
TRUTH_AND_EXPR for boolean (1-bit precision) expressions.
(do_jump) [BIT_IOR_EXPR]: Compile as TRUTH_OR_EXPR.

* tree-flow.h (simplify_stmt_using_ranges): Accept a GSI, return a bool.
* tree-ssa-propagate.c (substitute_and_fold): Pass a GSI to
VRP's simplify_stmt_using_ranges.  Do simplify_stmt_using_ranges
before finalizing the changes.
* tree-vrp.c (extract_range_from_binary_expr): Add limited support
for BIT_IOR_EXPR.
(simplify_truth_ops_using_ranges): New.
(simplify_div_or_mod_using_ranges, simplify_abs_using_ranges,
simplify_cond_using_ranges, simplify_switch_using_ranges): Return
whether a simplification was made.
(simplify_stmt_using_ranges): Ditto, and accept a GSI.  For GS_ASSIGN,
use a switch statement and also call simplify_truth_ops_using_ranges.

testsuite:
2008-09-11  Paolo Bonzini  <bonzini@gnu.org>

* gcc.dg/tree-ssa/vrp47.c: New.
* gcc.target/i386/andor-2.c: New.

From-SVN: r140288
gcc/ChangeLog
gcc/dojump.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/tree-ssa/vrp47.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/andor-2.c [new file with mode: 0644]
gcc/tree-flow.h
gcc/tree-ssa-propagate.c
gcc/tree-vrp.c