From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 103059 invoked by alias); 19 Feb 2018 08:30:33 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 102793 invoked by uid 89); 19 Feb 2018 08:30:05 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.9 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,HTML_FONT_LOW_CONTRAST,HTML_MESSAGE,KAM_SHORT,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.2 spammy=Prime, psychology, publications, slides X-HELO: mail-oi0-f66.google.com Received: from mail-oi0-f66.google.com (HELO mail-oi0-f66.google.com) (209.85.218.66) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 19 Feb 2018 08:30:03 +0000 Received: by mail-oi0-f66.google.com with SMTP id t185so1458971oif.6 for ; Mon, 19 Feb 2018 00:30:03 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=1sriY/KNt6JAh6t2/oxMHAT2MBnbuQHzuxyvttnQoK8=; b=hJOWxoUctGr21SmNMkhq78O31cnouXFYGcU2iQIFg1wWdIUneGrNNOKX9f6Y+usc4i S4HXID3/Q4D7pxL573EFCsahqSVNrYUSBKIJaULgVLG3/KasADz7BNwBYf7+8k027YXi ZuWV2bSq8xw+YIDFFyGg4SwFmRjQUrhemD+Y8IXozxobr7H2SuCw2O74BgH0oc/iswHg CsLOY7KEqYUml+rN3BjFVX02UgU00Orz9ty7nL1BOvuhfiJbLLnSHXzHcY1h9+SMq/k7 Wlp+A6ivF+RRmNw8Kqge9nDsmt5ArC54fQsfIix2TP4BvA7dTU0qPHCJwPRWCWTeQ9DP JKvQ== X-Gm-Message-State: APf1xPCG9VsRa4ZooX1//oCtIZ5K3/OaiZrbTv/OOtf8Ds7pAJtWp1Kv DdFJ1KjCEKEkV3OAimtt2tIjtwURpYTSFLJiW6CNbQ== X-Google-Smtp-Source: AH8x224BekHj6E8g3T0UC9iL6/eHpqrh8ZngTqvAlS2UXsAEV6myBI19Qf1eg946yh1odnk9J7rHp0PcCfPnRyVDhEg= X-Received: by 10.202.217.137 with SMTP id q131mr9432876oig.138.1519029001631; Mon, 19 Feb 2018 00:30:01 -0800 (PST) MIME-Version: 1.0 Received: by 10.74.62.194 with HTTP; Mon, 19 Feb 2018 00:30:01 -0800 (PST) From: Hrishikesh Kulkarni Date: Mon, 19 Feb 2018 08:30:00 -0000 Message-ID: Subject: GSOC 2018 - Textual LTO dump tool project To: gcc@gcc.gnu.org Cc: mliska@suse.cz Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-IsSubscribed: yes X-SW-Source: 2018-02/txt/msg00143.txt.bz2 Hi, I am Hrishikesh Kulkarni currently studying as an undergrad student in Computer Engineering at Pune University, India. I find compilers quite interesting as a subject, and would like to apply to GSoC to gain some understanding of how real-world compilers work. So far, I have managed to build gcc and perform some simple tweaks to the codebase. In particular, I would like to apply to the Textual LTO dump tool project. As far as I understand, the motivation for LTO framework was to enable cross file interprocedural optimizations, and for this purpose an ipa pass is divided into following three stages: 1. LGEN: The pass does a local analysis of the function and generates a =E2=80=9Csummary=E2=80=9D, ie, the information relevant to the pass and = writes it to LTO object file. 2. WPA: The LTO object files are given as input to the linker, which then invokes the lto1 frontend to perform global ipa analysis over the call-graph and write optimized summaries to LTO object files (partitioning). The global ipa analysis is done over summary and not the actual function bodies. 3. LTRANS: The partitions are read back, and the function bodies are reconstructed from summary and are then compiled to produce real object files. If I understand correctly, the motivation for textual LTO dump tool is to easily analyze contents of LTO object file, similar to readelf or objdump ? Assume that LTO object file contains in pureconst section: 0b0110 (0b for binary prefix) corresponding to values of fs->pure_const_state and fs->state_previously_known. If I understand correctly, the output of dump tool should then be: pure_const pass: pure_const_state =3D IPA_PURE (enum value of pure_const_state_e correspondi= ng to 0b01) state_previously_known =3D IPA_NEITHER (enum value of pure_const_state_e corresponding to 0b10) Is this the expected output of the dump tool ? I am reasonably familiar working with C, C++ and python. My prior experience includes opportunities to work in areas of NLP. Some of my accomplishments in the area include presenting project VicharDhara- A thought Mapper that was selected among top five ideas in Accenture Innovation Challenge among 7000 nationwide entries. My paper on this topic won the best paper award in IEEE Conference ICCUBEA-2017. My previous work was focused on simple parsers, student psychology, thought process detection for team selection. In the interim, I have been through a few docs on GCC and LTO [1][2][3] and am trying to write a toy ipa pass to better understand LTO/IPA infrastructure. I would be grateful for feedback on the textual LTO dump tool. [1] http://www.ucw.cz/~hubicka/slides/labs2013.pdf [2] https://gcc.gnu.org/wiki/LinkTimeOptimizatio [3] https://gcc.gnu.org/onlinedocs/gccint/LTO-Overview.html My two recent publications are listed below: [A] Hrishikesh Kulkarni, "Contextual Data Representation Using Prime Number Route Mapping Method and Ontology" IEEE Conference, ICCUBEA, 2017 [B] Hrishikesh Kulkarni, =E2=80=9CMulti-Graph based Intent Hierarchy Genera= tion to Determine Action Sequence=E2=80=9D, Springer Conference, ICDECT, December 2= 017, Pune Thanks, Hrishikesh Kulkarni