OSDN Git Service

PR tree-optimization/31966
authoruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 2 Jul 2007 14:26:11 +0000 (14:26 +0000)
committeruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 2 Jul 2007 14:26:11 +0000 (14:26 +0000)
commit58bc8309d5b60a741be3f24372cbf9fdbff79d8a
treee6256265d9ec807148d707395d47c9e9a81a175e
parentf22edc2d9eb75dca87bf3d2a8e4c12e23e42e01b
PR tree-optimization/31966
PR tree-optimization/32533
* tree-if-conv.c (add_to_dst_predicate_list): Use "edge", not
"basic_block" description as its third argument.  Update function
calls to get destination bb from "edge" argument.  Save "cond" into
aux field of the edge.  Update prototype for changed arguments.
(find_phi_replacement_condition): Operate on incoming edges, not
on predecessor blocks.  If there is a condition saved in the
incoming edge aux field, AND it with incoming bb predicate.
Return source bb of the first edge.
(clean_predicate_lists): Clean aux field of outgoing node edges.
(tree_if_conversion): Do not initialize cond variable. Move
variable declaration into the loop.
(replace_phi_with_cond_gimple_modify_stmt): Remove unneded
initializations of new_stmt, arg0 and arg1 variables.

testsuite/ChangeLog:

PR tree-optimization/31966
PR tree-optimization/32533
* gcc.dg/tree-ssa/pr31966.c: New runtime test.
* gfortran.dg/pr32533.f90: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@126206 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/tree-ssa/pr31966.c [new file with mode: 0644]
gcc/testsuite/gfortran.dg/pr32533.f90 [new file with mode: 0644]
gcc/tree-if-conv.c