This is the mail archive of the
mailing list for the GCC project.
Re: guidance for GSoC 2016 under GCC
- From: Martin LiÅka <mliska at suse dot cz>
- To: gcc at gcc dot gnu dot org
- Date: Mon, 4 Jan 2016 12:07:37 +0100
- Subject: Re: guidance for GSoC 2016 under GCC
- Authentication-results: sourceware.org; auth=none
- References: <CAHYgpo+FYFnvYwtdWZSyLA2+78Tt5rqhfxSDGZiooL1YFAs2Qg at mail dot gmail dot com>
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 ?
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
> Please provide more information or experimental patches to study.
> 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
> firstname.lastname@example.org that is why I have mail to gcc dev list.
As currently Honza hasn't been working for SUSE, please use following email:
email@example.com. He's quite busy, but he'll reply you.