This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[autovect] [patch] Compute self and read-read dependences if required





Ira Rosen/Haifa/IBM wrote on 11/04/2005 10:17:43:

> Daniel Berlin <dberlin@dberlin.org> wrote on 11/04/2005 01:24:41:
>
> > It looks like someone has broken the dataref stuff so that it no longer
> > tries to actually resolve the data dependence, even if you tell it to
do
> > "detailed analysis" (ie change the incorrect call in tree-loop-linear
> > that passes false as the "detailed_analysis" parameter to
> > compute_data_dependences).
> >

> The first problem is in function compute_all_dependences. I changed
> it to ignore dependences between the same data-ref, i.e., to avoid
> creation of DDR with same DRA and DRB, and to avoid read-read
> dependencies. As I understand, linear loop transform needs such
> DDRs. I'll fix this.
>

The attached patch fixes the above problem. After discussing it with
Sebastian, I added a new parameter compute_self_and_read_read_dependences
to function compute_all_dependences. If it's TRUE, self and read-read
dependences are computed.

Tested on ppc-darwin. I'll commit this patch to autovect branch after
bootstrapping.

Thanks,
Ira

Changelog:

      * tree-data-ref.c (compute_all_dependences): Add new
      parameter compute_self_and_read_read_dependences.
      Compute self and read-read dependences if it is true.
      (compute_data_dependences_for_loop): Add new parameter
      compute_self_and_read_read_dependences. Call
      compute_all_dependences with the new parameter.
      (analyze_all_data_dependences): Call
      compute_data_dependences_for_loop with additional
      parameter.
      * tree-data-ref.h (compute_all_dependences): Add new
      parameter compute_self_and_read_read_dependences.
      * tree-loop-linear (linear_transform_loops): Call
      compute_data_dependences_for_loop with new parameter
      compute_self_and_read_read_dependences.
      * tree-vect-analyze.c (vect_analyze_data_refs):
      Likewise.

Patch:

(See attached file: dep.patch)

Attachment: dep.patch
Description: Binary data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]