2006-02-07 Jeff Law <law@redhat.com>
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 7 Feb 2006 18:31:27 +0000 (18:31 +0000)
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 7 Feb 2006 18:31:27 +0000 (18:31 +0000)
commit62b180e16e920847e3d10e105989de12bcbf7843
treef40ff9efe37c223c42c8db07c3380701f619612c
parent1c1a6437ca1a7b5bd3219ef5dab8a891faceaa56
2006-02-07  Jeff Law  <law@redhat.com>

* tree-vrp.c (find_conditional_asserts): Update comments.
(simplify_stmt_for_jump_threading): New.
(identify_jump_threads, finalize_jump_threads): New.
(vrp_finalize): Call identify_jump_threads.
(execute_vrp): Call finalize_jump_threads.
* tree-ssa-dom.c (struct opt_stats_d): Remove num_iterations field.
(vrp_element, vrp_data, vrp_element_p): Remove.
(vrp_hash_elt, vrp_variables_stack): Remove.
(vrp_hash, vrp_eq, record_range): Remove.
(simplify_cond_and_lookup_avail_expr): Remove.
(extract_range_from_cond): Remove.
(thread_across_edge): Relocated into tree-ssa-threadedge.c.
(simplify_stmt_for_jump_threading): New.
(dom_thread_across_edge): New wrapper.
(tree_ssa_dominator_optimize): No longer initialize or
finalize any of the VRP datastructures.  Remove iteration
step and simplify as a result of removal of iteration step.
(pass_dominator): Perform a cfg cleanup after DOM.
(dom_opt_finalize_block): Use the new common routines
for threading jumps.  Simplify stack management slightly.
No longer need to unwind VRP state.
(record_equivalences_from_incoming_edge): No longer record
VRP information.
(eliminate_redundant_computations): No longer call
simplify_cond_and_lookup_avail_expr.
* tree-flow.h (potentially_threadable_block): Prototype.
(thread_across_edge): Likewise.
* Makefile.in (OBJS-common):  Add tree-ssa-threadedge.o
(tree-ssa-threadedge.o): Add dependencies.
* tree-ssa-threadedge.c: New file.
* passes.c (init_optimization_passes): Merge PHIs before
calling VRP.  Run VRP again late in the SSA optimization pipeline.

* gcc.dg/tree-ssa/vrp01.c: Update dumpfile names now that we have
multiple VRP passes.
* gcc.dg/tree-ssa/vrp09.c: Likewise.
* gcc.dg/tree-ssa/vrp18.c: Likewise.
* gcc.dg/tree-ssa/pr21582.c: Likewise.
* gcc.dg/tree-ssa/pr20657.c: Likewise.
* gcc.dg/tree-ssa/pr21001.c: Likewise.
* gcc.dg/tree-ssa/vrp02.c: Likewise
* gcc.dg/tree-ssa/vrp11.c: Likewise
* gcc.dg/tree-ssa/pr14341.c: Likewise
* gcc.dg/tree-ssa/vrp19.c: Likewise
* gcc.dg/tree-ssa/vrp20.c: Likewise
* gcc.dg/tree-ssa/vrp03.c: Likewise
* gcc.dg/tree-ssa/pr21086.c: Likewise
* gcc.dg/tree-ssa/pr21959.c: Likewise
* gcc.dg/tree-ssa/vrp21.c: Likewise
* gcc.dg/tree-ssa/vrp04.c: Likewise
* gcc.dg/tree-ssa/pr25485.c: Likewise
* gcc.dg/tree-ssa/pr22026.c: Likewise
* gcc.dg/tree-ssa/vrp22.c: Likewise
* gcc.dg/tree-ssa/vrp05.c: Likewise
* gcc.dg/tree-ssa/20030807-10.c: Likewise
* gcc.dg/tree-ssa/pr20701.c: Likewise
* gcc.dg/tree-ssa/vrp23.c: Likewise
* gcc.dg/tree-ssa/vrp06.c: Likewise
* gcc.dg/tree-ssa/pr22117.c: Likewise
* gcc.dg/tree-ssa/pr20702.c: Likewise
* gcc.dg/tree-ssa/vrp15.c: Likewise
* gcc.dg/tree-ssa/pr21090.c: Likewise
* gcc.dg/tree-ssa/pr21294.c: Likewise
* gcc.dg/tree-ssa/vrp24.c: Likewise
* gcc.dg/tree-ssa/vrp07.c: Likewise
* gcc.dg/tree-ssa/pr21563.c: Likewise
* gcc.dg/tree-ssa/pr25382.c: Likewise
* gcc.dg/tree-ssa/vrp16.c: Likewise
* gcc.dg/tree-ssa/vrp25.c: Likewise
* gcc.dg/tree-ssa/vrp08.c: Likewise
* gcc.dg/tree-ssa/20030807-6.c: Likewise
* gcc.dg/tree-ssa/vrp17.c: Likewise
* gcc.dg/tree-ssa/pr21458.c: Likewise
* g++.dg/tree-ssa/pr18178.C: Likewise

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110705 138bc75d-0d04-0410-961f-82ee72b054a4
48 files changed:
gcc/ChangeLog
gcc/Makefile.in
gcc/passes.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/tree-ssa/pr18178.C
gcc/testsuite/gcc.dg/tree-ssa/20030807-10.c
gcc/testsuite/gcc.dg/tree-ssa/20030807-6.c
gcc/testsuite/gcc.dg/tree-ssa/pr14341.c
gcc/testsuite/gcc.dg/tree-ssa/pr20657.c
gcc/testsuite/gcc.dg/tree-ssa/pr20701.c
gcc/testsuite/gcc.dg/tree-ssa/pr20702.c
gcc/testsuite/gcc.dg/tree-ssa/pr21001.c
gcc/testsuite/gcc.dg/tree-ssa/pr21086.c
gcc/testsuite/gcc.dg/tree-ssa/pr21090.c
gcc/testsuite/gcc.dg/tree-ssa/pr21294.c
gcc/testsuite/gcc.dg/tree-ssa/pr21458.c
gcc/testsuite/gcc.dg/tree-ssa/pr21563.c
gcc/testsuite/gcc.dg/tree-ssa/pr21582.c
gcc/testsuite/gcc.dg/tree-ssa/pr21959.c
gcc/testsuite/gcc.dg/tree-ssa/pr22026.c
gcc/testsuite/gcc.dg/tree-ssa/pr22117.c
gcc/testsuite/gcc.dg/tree-ssa/pr25382.c
gcc/testsuite/gcc.dg/tree-ssa/pr25485.c
gcc/testsuite/gcc.dg/tree-ssa/vrp01.c
gcc/testsuite/gcc.dg/tree-ssa/vrp02.c
gcc/testsuite/gcc.dg/tree-ssa/vrp03.c
gcc/testsuite/gcc.dg/tree-ssa/vrp04.c
gcc/testsuite/gcc.dg/tree-ssa/vrp05.c
gcc/testsuite/gcc.dg/tree-ssa/vrp06.c
gcc/testsuite/gcc.dg/tree-ssa/vrp07.c
gcc/testsuite/gcc.dg/tree-ssa/vrp08.c
gcc/testsuite/gcc.dg/tree-ssa/vrp09.c
gcc/testsuite/gcc.dg/tree-ssa/vrp11.c
gcc/testsuite/gcc.dg/tree-ssa/vrp15.c
gcc/testsuite/gcc.dg/tree-ssa/vrp16.c
gcc/testsuite/gcc.dg/tree-ssa/vrp17.c
gcc/testsuite/gcc.dg/tree-ssa/vrp18.c
gcc/testsuite/gcc.dg/tree-ssa/vrp19.c
gcc/testsuite/gcc.dg/tree-ssa/vrp20.c
gcc/testsuite/gcc.dg/tree-ssa/vrp21.c
gcc/testsuite/gcc.dg/tree-ssa/vrp22.c
gcc/testsuite/gcc.dg/tree-ssa/vrp23.c
gcc/testsuite/gcc.dg/tree-ssa/vrp24.c
gcc/testsuite/gcc.dg/tree-ssa/vrp25.c
gcc/tree-flow.h
gcc/tree-ssa-dom.c
gcc/tree-ssa-threadedge.c [new file with mode: 0644]
gcc/tree-vrp.c