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 > j...@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: hubi...@ucw.cz. He's quite busy, but he'll reply you. Martin >