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

Re: guidance for GSoC 2016 under GCC


On 01/03/2016 06:51 PM, vivek pandya wrote:
> Hello GCC developers,
> I would like to work on one of the following idea in GSoC 2016 for GCC.
> 
> Function Reordering (Improvement) with LTO
> Inter-procedural value range propagation pass
> Implement tree level section anchors to improve code generation at ARM/PPC.
> 
> I have done some reading for first and second topic. I would like your guidance.
> For first topic I have read Martin's master thesis and as far as I
> understand currently he has implemented function reordering with PGO
> support but this project would be using LTO support. Am I thinking it
> right ?

Hello Vivek.

Function reordering pass has been using LTO support, the pass basically works,
but to be honest, for large beasts (like Firefox) not perfectly. There are some
semi-known issues related to threading and forking which introduce small noise.
The enhancement is on my TODO list for this year, but help is of course welcomed.

> 
> For second project I have read the IPCP.c file in gcc source code
> which implements Inter-procedural constant propagation with call
> graphs and jump functions. According to Chapter 11, page 664 of
> Optimizing Compilers for Modern Architectures: A Dependence-based
> Approach book range propagation pass can be designed by extending
> IPCP. Here extensions to IPCP would be deciding ranges of variable
> from for loops, const assignment or if/else statement and modifying
> jump functions so that ranges can be calculated base on operations.
> Also we may use data structure for range as used in tree-vrp.c of gcc.
> 
> For third project I have not started studying about it. Please suggest
> some readings.
> 
> Apart from this I have learned how to write simple passes and plugins
> for gcc and its related data structures ( learned from Diego Novillo's
> slide ). I have also written some simple optimization passes with LLVM
> libs.
> 
> Please provide more information or experimental patches to study.
> 
> Sincerely,
> Vivek Pandya
> 
> P.S : Actually I tried to contact Mr. Jan Hubicka as mentioned on idea
> page but it seems that he is not reachable on his mail address
> jh@suse.cz that is why I have mail to gcc dev list.

As currently Honza hasn't been working for SUSE, please use following email:
hubicka@ucw.cz. He's quite busy, but he'll reply you.

Martin

> 


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