[cfe-dev] GSoc Proposal

Vassil Vassilev via cfe-dev cfe-dev at lists.llvm.org
Wed Apr 6 14:56:26 PDT 2016


On 06/04/16 23:47, Richard Smith via cfe-dev wrote:
> This seems like a great project. Just a couple of concerns: who will 
> provide hosting infrastructure for this buildbot, and who will 
> maintain it once the project ends?
I thought we can host it at lab.llvm.org. Would that be possible?

About the maintenance: maintaining the buildbot is almost zero cost. 
Maintaining its green status is challenging ;) USCMS/FNAL/CERN are 
interested (mainly because of the ROOT analysis framework) in modules 
stability and after the project ends it'd be probably me taking care of it.

>
> On Tue, Mar 22, 2016 at 1:58 AM, Bianca-Cristina Cristescu via cfe-dev 
> <cfe-dev at lists.llvm.org <mailto:cfe-dev at lists.llvm.org>> wrote:
>
>     Enabling llvm’s self-hosted modules builds using libstdc++
>
>
>     Bianca-Cristina Cristescu, MSc Computer Science, ETH Zurich
>
>
>     Problem description
>
>     Nowadays, the software projects are growing in size and
>     functionality, and in order to avoid reinventing the wheel they
>     use many software libraries. Including libraries adds complexity
>     and can cause fragility, problems with compile-time scalability
>     and tool confusion [1].
>
>     Clang [2] is a C, C++, Objective C and Objective C++ front-end for
>     the LLVM [3] compiler.  To solve the above mentioned issues LLVM
>     and Clang propose to use Modules [1] as an alternative to include
>     libraries. Modules give a access to the API of the software
>     libraries using a more efficient semantic model [1].
>
>     A buildbot [4] for building llvm with modules exists when using
>     libc++ (usually available by default on MacOS), but there is no
>     support to using modules when having libstdc++. Given that a large
>     amount of software projects are developed on Unix operating
>     systems, the necessity of modules to support libstdc++ emerges.
>     The problem is that there is a different merging model for the
>     modules when using libstdc++ compared to libc++ given by the fact
>     that libc++ has a module aware implementation whereas libstdc++
>     does not.
>
>     The project aims to enable the building of llvm’s self-hosted
>     modules using libstdc++ by reporting issues, submitting bug
>     reports, proposing fixes and creating a buildbot.
>
>
>
>     Deliverables
>
>      *
>
>         A buildbot to build llvm using libstdc++.
>
>      *
>
>         Bug reports submitted to the LLVM Bug Tracking System [5]for
>         the encountered issues.
>
>      *
>
>         Minimalistic reproducers for the bugs in the order of priority.
>
>      *
>
>         Fixes of the bugs which I can fix with my experience.
>
>
>     Timeline
>
>     22nd April - 22nd May (Before the official coding time)
>
>      *
>
>         Background literature on modules;
>
>      *
>
>         Familiarization with the architecture of the modules;
>
>      *
>
>         Update on the current state of the modules.
>
>
>     23rd May - 29th May (Official coding time starts)
>
>      *
>
>         Set up the working environment and check synchronisation with
>         the clang/llvm community.
>
>
>     30th May - 12th June
>
>      *
>
>         Attempt to build llvm with modules.
>
>      *
>
>         Create a report of the existing issues at the time of the
>         build with the current version of clang and llvm.
>
>
>     13th June - 26th June
>
>      *
>
>         In the order of the priority list previously created reduce
>         the issues to minimalistic examples.
>
>      *
>
>         Possibly use tools such as C-reduce [6] to help and accelerate
>         the minimization of the reproducers.
>
>      *
>
>         File bug reports for the minimised issues to clang.
>
>      *
>
>         Provide fixes for the trivial issues (such as missing
>         includes) encountered in the process.
>
>
>     27th June - 17th July (Midterm evaluation)
>
>      *
>
>         Prioritise the existing issues in close contact with the
>         clang/llvm community.
>
>      *
>
>         Propose fixes for a feasible amount of the reported issues.
>
>      *
>
>         Provide the fixes in patches on Phabricator for review by the
>         clang/llvm community.
>
>
>     18th July - 7th of August
>
>      *
>
>         Implement a buildbot in which clang builds llvm using modules.
>
>
>     8th August - 23rd of August Week 12
>
>      *
>
>         Review and evaluate results.
>
>      *
>
>         Buffer time for unpredictable delay.
>
>
>
>     Background
>
>      *
>
>         Bachelors in Computer Science from The University of Manchester
>
>      *
>
>         Improved my C++ knowledge by working on ROOT’s [7]
>         interpreter, Cling which is built on top of Clang and LLVM.
>
>      *
>
>         Isolated and submitted minimal issue reproducers for Clang
>         Modules in 2014. For instance:
>         https://llvm.org/bugs/show_bug.cgi?id=20475
>
>     https://llvm.org/bugs/show_bug.cgi?id=20674
>
>     https://llvm.org/bugs/show_bug.cgi?id=20399
>
>      *
>
>         Enrolled in a Computer Science MSc at ETH Zurich.
>
>
>     References
>
>     [1] Modules, http://clang.llvm.org/docs/Modules.html
>
>     [2] Clang, http://clang.llvm.org/
>
>     [3] LLVM, http://llvm.org/
>
>     [4] Buildbot,
>     http://lab.llvm.org:8011/builders/clang-x86_64-linux-selfhost-modules
>
>     [5] LLVM Bug Tracking System, http://llvm.org/bugs/enter_bug.cgi
>
>     [6] C-reduce, https://embed.cs.utah.edu/creduce/
>
>     [7] ROOT, https://root.cern.ch/
>
>
>
>     _______________________________________________
>     cfe-dev mailing list
>     cfe-dev at lists.llvm.org <mailto:cfe-dev at lists.llvm.org>
>     http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>
>
>
>
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20160406/771cc168/attachment.html>


More information about the cfe-dev mailing list