This is the mail archive of the 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]

[RFC] [modulo-sched] Change the ddg's construction


This patch addresses the following argument which appeared in the
article "Changes to RTL Dataflow Analysis"
by Danny Berlin and Kenneth Zadeck (2006 GCC summit).

Currently SMS asks the data-flow analyzer to solve four
types of problems for the construction of the ddg's
inter-loop dependencies:

- Reaching defs
- Reaching uses
- Def-use chain
- Use-def chain

In the article it was claimed that asking to solve the reaching uses
is expensive due to the possible large number of uses in a function and
avoiding this problem should speed up the SMS pass.
In this new implementation the data-flow analyzer is been asked
to solve only two problems -
reaching defs and def-use chain.
(the use-def chain problem was also redundant)

I intend to post some statistics on the time consumed by the SMS pass
compared to the old implementation.

I would like to thank Kenneth Zadeck for his help.

Comments are welcome.


(See attached file: sms_patch)

Attachment: sms_patch
Description: Binary data

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