[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