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] WHOPR - A whole program optimizer framework for GCC

Over the last few weeks we (Google) have been discussing ideas on how to leverage the LTO work to implement a whole program optimizer that is both fast and scalable.

While we do not have everything thought out in detail, we think we have
enough to start doing some implementation work. I tried attaching the document, but the mailing list rejected it. I've uploaded it to

The most important goal we have with this project is the ability to
handle Really Large programs (millions of functions, millions of
call-graph edges) with some grace. So, the design tries pretty hard to
make use of concurrency and clusters to partition the work.

At this point we are interested in getting feedback on the general idea.
There is some refactoring that will be needed inside the call-graph
manager and some aspects of the design may not even need a lot of
changes in GCC. But in general, it will require very efficient IR streaming.

In terms of implementation, we will likely use the LTO branch as a
basis. Many of the features we will need are already being implemented
in the branch, so we will keep helping with that implementation.

Thanks. Diego.

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