[Bug tree-optimization/32533] [4.1/4.2 regression] miscompilation at -O3 -ffast-math -ftree-vectorize -march=native
uros at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Mon Jul 2 14:26:00 GMT 2007
------- Comment #11 from uros at gcc dot gnu dot org 2007-07-02 14:26 -------
Subject: Bug 32533
Author: uros
Date: Mon Jul 2 14:26:11 2007
New Revision: 126206
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=126206
Log:
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.
Added:
trunk/gcc/testsuite/gcc.dg/tree-ssa/pr31966.c
trunk/gcc/testsuite/gfortran.dg/pr32533.f90
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-if-conv.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32533
More information about the Gcc-bugs
mailing list