public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* GSoC Project Ideas
@ 2019-03-03 23:06 Patrick Palka
  2019-03-03 23:16 ` Jeff Law
                   ` (2 more replies)
  0 siblings, 3 replies; 16+ messages in thread
From: Patrick Palka @ 2019-03-03 23:06 UTC (permalink / raw)
  To: gcc

Hi everyone,

I am very interested in working on GCC as part of GSoC this year.  A few years
ago I was a somewhat active code contributor[1] and unfortunately my
contributing waned once I went back to school, but I'm excited to potentially
have the opportunity to work on GCC again this summer.  My contributions were
mainly to the C++ frontend and to the middle end, and I've been thinking about
potential projects in these areas of the compiler.  Here are some project ideas
related to parts of the compiler that I've worked on in the past:

  * Extend VRP to track unions of intervals
    (inspired by comment #2 of PR72443 [2])
      Value ranges tracked by VRP currently are represented as an interval or
      its complement: [a,b] and ~[a,b].  A natural extension of this is
      to support unions of intervals, e.g. [a,b]U[c,d].  Such an extension
      would make VRP more powerful and at the same time would subsume
      anti-ranges, potentially making the code less complex overall.

  * Make TREE_NO_WARNING more fine-grained
    (inspired by comment #7 of PR74762 [3])
      TREE_NO_WARNING is currently used as a catch-all marker that inhibits all
      warnings related to the marked expression.  The problem with this is that
      if some warning routine sets the flag for its own purpose,
      then that later may inhibit another unrelated warning from firing, see for
      example PR74762.  Implementing a more fine-grained mechanism for
      inhibiting particular warnings would eliminate such issues.

  * Make -Wmaybe-uninitialized more robust
      (Inspired by the recent thread to move -Wmaybe-uninitialized to
-Wextra [4])
      Right now the pass generates too many false-positives, and hopefully that
      can be fixed somewhat.
      I think a distinction could be made between the following two scenarios in
      which a false-positive warning is emitted:
        1. the pass incorrectly proves that there exists an execution path that
           results in VAR being used uninitialized due to a deficiency in the
           implementation, or
        2. the pass gives up on exhaustively verifying that all execution paths
           use VAR initialized (e.g. because there are too many paths to check).
           The MAX_NUM_CHAINS, MAX_CHAIN_LEN, etc constants currently control
           when this happens.
      I'd guess that a significant fraction of false-positives occur due to the
      second case, so maybe it would be worthwhile to allow the user to suppress
      warnings of this second type by specifying a warning level argument, e.g.
      -Wmaybe-uninitialized=1|2.
      Still, false-positives are generated in the first case too, see e.g.
      PR61112.  These can be fixed by improving the pass to understand such
      control flow.

  * Bug fixing in the C++ frontend / general C++ frontend improvements
      There are 100s of open PRs about the C++ frontend, and the goal here
      would just be to resolve as many as one can over the summer.

Would any of these ideas work as a GSoC project?

Regards,
Patrick Palka

[1]: https://gcc.gnu.org/git/?p=gcc.git;a=search;s=ppalka;st=author
[2]: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72443#c2
[3]: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=74762#c7
[4]: https://gcc.gnu.org/ml/gcc-patches/2019-02/msg00020.html

^ permalink raw reply	[flat|nested] 16+ messages in thread
* GSoC project ideas
@ 2014-02-17  2:49 Maxim Kuvyrkov
  0 siblings, 0 replies; 16+ messages in thread
From: Maxim Kuvyrkov @ 2014-02-17  2:49 UTC (permalink / raw)
  To: gcc

Hi,

GCC has applied as a mentoring organization to GSoC 2014, and we need to update Project Ideas page: http://gcc.gnu.org/wiki/SummerOfCode .  Ideas is where GSoC starts, and this is what captures attention and imagination of prospective students (and future developers!) of GCC.

If you have an idea for a student project -- post it at http://gcc.gnu.org/wiki/SummerOfCode .  If you can't easily edit the wiki directly, feel free to send your ideas to me directly or as a reply to this thread, I will add them to the wiki.

You don't have to commit to be a mentor for an idea that you post.  We will worry about finding mentors once a student expresses interest in a particular idea.

You don't have to be an active GCC developer to post an idea.  If you are an experienced GCC user and you wanted all your life a feature X in GCC -- post an idea about it.

If you are a prospective GSoC student -- then we definitely want to hear your ideas.

We need the ideas page all updated and ready by the end of February (couple of weeks left).  Student applications period opens on March 10th, and keep in mind that students would need to meditate on the various projects/ideas/choices for a week or so.

For GSoC 2014 timeline see https://www.google-melange.com/gsoc/events/google/gsoc2014 .

Thank you,

--
Maxim Kuvyrkov
www.linaro.org



^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2019-04-17 18:33 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-03 23:06 GSoC Project Ideas Patrick Palka
2019-03-03 23:16 ` Jeff Law
2019-03-04 12:13   ` Richard Biener
2019-03-04 12:23     ` Jakub Jelinek
2019-03-04 13:17       ` Richard Biener
2019-03-07 18:20         ` Martin Sebor
2019-03-08 10:35           ` Richard Biener
2019-04-01 23:43             ` Patrick Palka
2019-04-03 12:08               ` Richard Biener
2019-04-17 14:57               ` Joseph Myers
2019-04-17 18:33                 ` Martin Sebor
2019-04-02  0:41   ` Patrick Palka
2019-04-09 15:42     ` Jeff Law
2019-03-04 10:57 ` P J P
2019-03-05 15:43 ` Eric Gallager
  -- strict thread matches above, loose matches on Subject: below --
2014-02-17  2:49 GSoC project ideas Maxim Kuvyrkov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).