[Bug middle-end/38446] [graphite] The def for a var exists inside one of the scops bb's but an appropriate phi is not created to allow the phi to reach the use of that def ouside the scop.

spop at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Thu Dec 11 19:38:00 GMT 2008



------- Comment #6 from spop at gcc dot gnu dot org  2008-12-11 19:37 -------
Subject: Bug 38446

Author: spop
Date: Thu Dec 11 19:35:41 2008
New Revision: 142688

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=142688
Log:
2008-12-11  Harsha Jagasia  <harsha.jagasia@amd.com>

        PR tree-optimization/38446
        * graphite.c (register_bb_in_sese): New.
        (bb_in_sese_p): Check if bb belongs to sese region by explicitly
        looking at the bbs in the region.
        * graphite.h (sese): Add region_basic_blocks pointer set to
        structure and initialize at the time of defining new scop.

2008-12-11  Tobias Grosser  <grosser@fim.uni-passau.de>

        * graphite.c (new_graphite_bb): Initialize GBB_STATIC_SCHEDULE.
        (find_params_in_bb): Do not free data refs.
        (free_graphite_bb): Add FIXME on disabled free_data_refs.

2008-12-11  Sebastian Pop  <sebastian.pop@amd.com>

        * graphite.c (struct ivtype_map_elt): New.
        (debug_ivtype_elt, debug_ivtype_map_1, debug_ivtype_map,
        new_ivtype_map_elt, ivtype_map_elt_info, eq_ivtype_map_elts,
        gcc_type_for_cloog_iv): New.
        (loop_iv_stack_patch_for_consts): Use the type of the induction
        variable from the original loop, except for the automatically
        generated loops, i.e., in the case of a strip-mined loop, in
        which case there is no original loop: in that case just use
        integer_type_node.
        (new_graphite_bb): Initialize GBB_CLOOG_IV_TYPES.
        (free_graphite_bb): Free GBB_CLOOG_IV_TYPES.
        (clast_name_to_gcc): Accept params to be NULL.
        (clast_to_gcc_expression): Take an extra parameter for the type.
        Convert to that type all the expressions built by this function.
        (gcc_type_for_clast_expr, gcc_type_for_clast_eq): New.
        (graphite_translate_clast_equation): Compute the type of the
        clast_equation before translating its LHS and RHS.
        (clast_get_body_of_loop, gcc_type_for_iv_of_clast_loop): New.
        (graphite_create_new_loop): Compute the type of the induction
        variable before translating the lower and upper bounds and before
        creating the induction variable.
        (rename_variables_from_edge, rename_phis_end_scop): New.
        (copy_bb_and_scalar_dependences): Call rename_phis_end_scop.
        (sese_add_exit_phis_edge): Do not use integer_zero_node.
        (find_cloog_iv_in_expr, compute_cloog_iv_types_1,
        compute_cloog_iv_types): New.
        (gloog): Call compute_cloog_iv_types before starting the
        translation of the clast.

        * graphite.h (struct graphite_bb): New field cloog_iv_types.
        (GBB_CLOOG_IV_TYPES): New.
        (debug_ivtype_map): Declared.
        (oldiv_for_loop): New.

2008-12-10  Tobias Grosser  <grosser@fim.uni-passau.de>

        PR middle-end/38459
        * graphite.c (new_scop): Initialize SCOP_ADD_PARAMS.
        (param_index): Assert if parameter is not know after parameter
        detection.
        (find_params_in_bb): Detect params directly in GBB_CONDITIONS.
        (find_scop_parameters): Mark, that we have finished parameter
        detection.
        (graphite_transform_loops): Move condition detection before parameter
        detection.
        * graphite.h (struct scop): Add SCOP_ADD_PARAMS.

2008-12-11  Harsha Jagasia  <harsha.jagasia@amd.com>

        PR tree-optimization/38446
        * gcc.dg/graphite/pr38446.c: New.

2008-12-11  Sebastian Pop  <sebastian.pop@amd.com>

        * gcc.dg/graphite/scop-16.c: Test only scop specific info.
        * gcc.dg/graphite/scop-17.c: Same.
        * gcc.dg/graphite/block-5.c: New.
        * gcc.dg/graphite/block-6.c: New.
        * gcc.dg/graphite/pr37485.c: Clean dump file after.
        * gcc.dg/graphite/pr37684.c: Same.
        * gcc.dg/graphite/block-2.c: Same.

2008-12-10  Tobias Grosser  <grosser@fim.uni-passau.de>

        PR middle-end/38459
        * gfortran.dg/graphite/pr38459.f90: New.


Added:
    trunk/gcc/testsuite/gcc.dg/graphite/block-2.c
    trunk/gcc/testsuite/gcc.dg/graphite/block-5.c
    trunk/gcc/testsuite/gcc.dg/graphite/block-6.c
    trunk/gcc/testsuite/gcc.dg/graphite/pr38446.c
    trunk/gcc/testsuite/gfortran.dg/graphite/pr38459.f90
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/graphite.c
    trunk/gcc/graphite.h
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gcc.dg/graphite/pr37485.c
    trunk/gcc/testsuite/gcc.dg/graphite/pr37684.c
    trunk/gcc/testsuite/gcc.dg/graphite/scop-15.c
    trunk/gcc/testsuite/gcc.dg/graphite/scop-16.c
    trunk/gcc/testsuite/gcc.dg/graphite/scop-17.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38446



More information about the Gcc-bugs mailing list