GSoC

2018-03-14 Thread Maria Kalikas
Hello anyone this concerns,

My name is Maria Kalikas and I am a senior majoring in Computer Science at
The University of Akron.

My familiarity and continuous reading of the C++ Standard has encouraged me
to extend the previously developed support for concepts in GCC. I want to
modify the implementation to conform with the current specification in the
C++ Standard. I am curious to know if this would be a good project to
propose for Google Summer of Code and am interested in finding a mentor.

 I took a Compiler Design course in Spring 2017 where I designed a compiler
for a C-like programming language. My implementation is written in C++.
Since completing the course, I became familiar with Clang and LLVM and am
currently completing a capstone project where I am creating a virtual
machine to implement the C++ abstract machine using LLVM instructions and
rewriting the conversions, expressions and declarations specified in the
C++ Standard as three address code instructions.

I look forward to any responses and feedback.

Thank you,

Maria Kalikas


Re: GSOC 2018 - Textual LTO dump tool project

2018-03-14 Thread Richard Biener
On Tue, Mar 13, 2018 at 5:30 AM, Hrishikesh Kulkarni
 wrote:
> Hi,
>
> Thanks. I have tried to incorporate suggestions and prepared a revised draft
> of proposal for GSOC. Please find the same attached herewith. Your
> suggestions in regard with this draft would definitely help me to improve it
> further for submission.

Thanks, it looks very good now.  You have essentially duplicated items
in 1. and 2., namely --summary= and Dumping of IPA summaries.
I would move some of the 1. items over to 2., apart from --summary I'd also
move --cgraph-dot.

Richard.

>
> Drive link to Draft Proposal:
>
> https://docs.google.com/document/d/1-jYwwDWsHQwMaxVsHFBrJ9EiCAev7ljTDLS1xMwvK5w/edit
>
>
> Regards,
>
> Hrishikesh
>
>
>
>
> On Mon, Mar 12, 2018 at 4:45 PM, Richard Biener 
> wrote:
>>
>> On Sun, Mar 11, 2018 at 8:23 PM, Hrishikesh Kulkarni
>>  wrote:
>> > Hi,
>> >
>> > Greetings! Please find my draft proposal for GSOC attached herewith. I
>> > am
>> > very grateful to all of you for your inputs, suggestions and directions.
>> > I
>> > have tried to assimilate these inputs received from you to convert it
>> > into a
>> > proposal. Your suggestions in regard with this draft would definitely
>> > help
>> > me to convert it into final proposal for submission. In addition, could
>> > you
>> > please suggest the possible extensions those can be added to dump tool?
>> >
>> >
>> > Drive link to Draft Proposal:
>> >
>> >
>> > https://docs.google.com/document/d/1-jYwwDWsHQwMaxVsHFBrJ9EiCAev7ljTDLS1xMwvK5w/edit
>>
>> The proposal looks a bit sparse when giving details about the actual
>> project.
>> I'd suggest to clarify at least the deliverables.  I suggest for 1. add a
>> 1 c)
>> that specifies what should be working, for example
>>
>>  lto-dump -l
>>
>> should dump a list of variables and functions contained in the IL
>>
>>  lto-sump -s 
>>
>> should dump detailed info about the symbol  (using the symtab dump
>> infrastructure)
>>
>>  lto-dump -f 
>>
>> should dump the function body of the function with  (using the gimple
>> dump infrastructure)
>>
>> the lto-dump tool should be verified to work on both WPA-time and
>> LTRANS-time
>> objects.
>>
>> Thus your 2) a) should be possible with 1) already.  2) would then contain
>> dumping of IPA summaries as major part apart from visualizing the
>> callgraph.
>> For visualizing the (full) callgraph you need to handle multiple LTO
>> IL input files.
>> Those two pieces should be enough for 2) unless usability issues spill
>> over
>> from 1).
>>
>> In the introduction I miss some general words about the LTO IL, like that
>> it
>> is non-self-describing bytecode which is documented only by the code
>> reading/writing it and thus hard to debug.  It also misses to lay out the
>> overall structure of a LTO IL file (you are already going into detail with
>> IPA passes so this missing stands out).
>>
>> Richard.
>>
>> >
>> > Regards,
>> >
>> > Hrishikesh
>> >
>> >
>> >
>> > On Tue, Mar 6, 2018 at 8:59 PM, Jan Hubicka  wrote:
>> >>
>> >> > On Tue, Mar 6, 2018 at 4:02 PM, Jan Hubicka  wrote:
>> >> > >> On Tue, Mar 6, 2018 at 2:30 PM, Hrishikesh Kulkarni
>> >> > >>  wrote:
>> >> > >> > Hi,
>> >> > >> >
>> >> > >> > Thank you Richard and Honza for the suggestions. If I understand
>> >> > >> > correctly,
>> >> > >> > the issue is that LTO file format keeps changing per compiler
>> >> > >> > versions, so
>> >> > >> > we need a more “stable” representation and the first step for
>> >> > >> > that
>> >> > >> > would be
>> >> > >> > to “stabilize” representations for lto-cgraph and symbol table ?
>> >> > >>
>> >> > >> Yes.  Note the issue is that the current format is a 1:1
>> >> > >> representation of
>> >> > >> the internal representation -- which means it is the internal
>> >> > >> representation
>> >> > >> that changes frequently across releases.  I'm not sure how Honza
>> >> > >> wants
>> >> > >> to deal with those changes in the context of a "stable" IL format.
>> >> > >> Given
>> >> > >> we haven't been able to provide a stable API to plugins I think
>> >> > >> it's
>> >> > >> much
>> >> > >> harder to provide a stable streaming format for all the IL
>> >> > >> details
>> >> > >>
>> >> > >> > Could you
>> >> > >> > please elaborate on what initial steps need to be taken in this
>> >> > >> > regard, and
>> >> > >> > if it’s feasible within GSoC timeframe ?
>> >> > >>
>> >> > >> I don't think it is feasible in the GSoC timeframe (nor do I think
>> >> > >> it's feasible
>> >> > >> at all ...)
>> >> > >
>> >> > > I skipped this, with GSoC timeframe I fully agree.  With
>> >> > > feasibility
>> >> > > at all not so
>> >> > > much - LLVM documents its bitcode to reasonable extend
>> >> > > https://llvm.org/docs/BitCodeFormat.html
>> >> > >
>> >> > > Reason why i mentioned it is that I would like to use this as an
>> >> > > excuse to get
>> >> > > things incrementally cleaned up and it would be nice to keep it in
>> >> > > mind while
>> >> > > working on this.
>> >> >
>> >> > Ok.  It's proba

Re: GSOC

2018-03-14 Thread Martin Jambor
Hello Prashant,

On Thu, Mar 08 2018, prashant kumar wrote:
> Hello sir my self *Prashant kumar *second year B.TECH student and i am
> interesting in *"GCC plugin Api" *project .i have a good hand in c,c++
> languages .Can u tell me what the further process i have to do and what
> kind of thing i have to do

first and foremost, please discuss any GSoC idea or topic, use the
gcc@gcc.gnu.org mailing list (CCed), this way other people may also
participate in the discussion which will eventually help you as well.
Moreover, in your particular case, you sent me your message while I was
on vacation and so it took quite some time before I got to replying.
Other members of the GCC community might have done that meanwhile.

The aim of the gcc API project would be to start building a real GCC API
for plugins, so that simple but already useful plugins (operating on
GIMPLE level) could be written that use only this API (as opposed to the
current state where they can - actually they have to - use any normal
public symbol there is in GCC.  I do not think it is reasonable to
attempt make the API really entirely compiler agnostic but whenever
practical, the interface should be built on top of generic compiler
constructs (e.g. statements and operands as opposed to gimple and
trees), for many reasons.

In the first half of the project one would aim to build various dumping
plugins... that would simply dump CFG, statements and perhaps also some
information about types queried through the new interface.  In the
second half, you should try to rewrite some existing simple plugins
using this API (such as https://pagure.io/funcp-encrypt that is
described at
https://developers.redhat.com/blog/2017/03/17/diagnosing-function-pointer-security-flaws-with-a-gcc-plugin/
or perhaps the structleak_plugin.c kernel GCC plugin or
https://rwmj.wordpress.com/2016/02/24/playing-with-gcc-plugins/ though I
have not had a very close look any of those).

If you are interested, make sure you can check out the GCC trunk source
code, can build GCC from it.  The following links should help you:

 - How to check out our sources using svn and git is described at
   https://gcc.gnu.org/svn.html and https://gcc.gnu.org/wiki/GitMirror
   respectively.

 - Steps linked from https://gcc.gnu.org/install/ show you how to
   configure, build and test GCC is described in (look for
   --disable-bootstrap, among other things).

 - Also make sure you also look at https://gcc.gnu.org/wiki/InstallingGCC and
   https://gcc.gnu.org/wiki/GettingStarted wiki pages.

And while you are at it, try also to look at the source.  But you have
gone through all of the above and still find a little bit intimidating
or difficult to see where to start looking, do not despair.  That is
something the mentors and the community at large are willing to help
you with.

Regarding plugins, I'd suggest reading one ore more tutorials on their
current implementation
(e.g. http://thinkingeek.com/2015/08/16/a-simple-plugin-for-gcc-part-1/)
and then look at some real plugins to get the sense of what would need
to be APIzied.

Good luck,

Martin


Re: Queries on GSoC project on OMPD interface

2018-03-14 Thread Martin Jambor
Hello Siyuan,

On Mon, Mar 12 2018, LIU SIYUAN wrote:
> Dear all,
>
> Hi, my name is Siyuan and this is my first time using the GCC mailing list!

Welcome!

>
> I’m a senior CS student from Nanyang Technological University, Singapore who 
> is interested in the GSOC project related to OMPD.
>
> I personally have experience in C/C++ (development and performance 
> optimization). I have also taken compiler course and implemented a 
> mini-compiler (https://github.com/koallen/mini-go).
>
> I participated in student cluster competitions so I also have experience in 
> parallel computing (OpenMP, CUDA, MPI, etc.). And that’s why I’m particularly 
> interested in the OMPD project.
>
> Could you give me further information if I’m intending to apply for GSoC for 
> this project?

We can, but what kind of information are you looking for?

First and foremost, please get GCC sources and make sure you can build
GCC from them and then run the testsuite.  If you need it, the following
links should help you:

  - How to check out our sources using svn and git is described at
https://gcc.gnu.org/svn.html and https://gcc.gnu.org/wiki/GitMirror
respectively.

  - Steps linked from https://gcc.gnu.org/install/ show you how to
configure, build and test GCC is described in (look for
--disable-bootstrap, among other things).

  - You may also want to look at https://gcc.gnu.org/wiki/InstallingGCC
and https://gcc.gnu.org/wiki/GettingStarted wiki pages.

For the OMPD task, you will primarily want to look at the OMP run-time
that is in the libgomp subdirectory (and on the libgomp.exp part of the
testsuite).  You will probably also want to have a look at how to build
GDB.

The OMPD itself is described in the latest TR of the upcoming version of
the OpenMP standard:
http://www.openmp.org/wp-content/uploads/openmp-TR6.pdf

I assume that once you familiarize with the standard and look at how the
OpenMP run-time is organized (at least roughly), you will want to reach
out to Jakub (CCed) to figure out how to structure your work.

Good luck!

Martin



Re: GSoC (Improvements to GCC on Windows)

2018-03-14 Thread Martin Jambor
Hello,

On Tue, Mar 13 2018, Ko Phyo wrote:
> Hello
>
> I want to apply the project "Improvements to GCC on Windows" of GCC
> foundation. As a student, I have some theorectical knowledges about C/C++
> and compiler technologies. And I am sure that the Windows platform has
> steps that are little behind than other open source platforms in pure C/C++
> technology. So I decided to work on GSoC 2018 with your "Windows
> Improvement program". Please let me know if I am selected as a mentored
> student in yours great project. I will be waiting for your kind reply.

Well, please note that you still need to apply formally through the GSoC
website to stand a chance to be selected, that does not happen here.
We want students to contact us prior to applying so that their proposals
and goals make sense.

As far as improving GCC on Windows is concerned, we may find it
challenging to find you a mentor (I am CCing Jonathan Yong, the cygwin
and mingw-w64 maintainer, maybe he has an idea what could be done in
this area as a GSoC project and who might mentor it?).

Meanwhile, make sure you can build GCC from sources on Windows (I admit
I would not know how to do it myself!) and run the testsuite.

Good luck,

Martin


Re: GSoC (Making C++ concepts conform to the current standard)

2018-03-14 Thread Martin Jambor
Hello Maria,

On Wed, Mar 14 2018, Maria Kalikas wrote:
> Hello anyone this concerns,
>
> My name is Maria Kalikas and I am a senior majoring in Computer Science at
> The University of Akron.
>
> My familiarity and continuous reading of the C++ Standard has encouraged me
> to extend the previously developed support for concepts in GCC. I want to
> modify the implementation to conform with the current specification in the
> C++ Standard. I am curious to know if this would be a good project to
> propose for Google Summer of Code and am interested in finding a mentor.

I personally do not know what the status of C++ concept implementation
is, how much it differs from the current standard is or whether making
it more up to date would make a good GSoC project.  Jason, Nathan, what
do you think?  (And if so, would you be willing to be a mentor?  Can you
think of someone else?)

Martin

>
>  I took a Compiler Design course in Spring 2017 where I designed a compiler
> for a C-like programming language. My implementation is written in C++.
> Since completing the course, I became familiar with Clang and LLVM and am
> currently completing a capstone project where I am creating a virtual
> machine to implement the C++ abstract machine using LLVM instructions and
> rewriting the conversions, expressions and declarations specified in the
> C++ Standard as three address code instructions.
>
> I look forward to any responses and feedback.
>
> Thank you,
>
> Maria Kalikas


Re: GSoC (Making C++ concepts conform to the current standard)

2018-03-14 Thread Nathan Sidwell

On 03/14/2018 01:23 PM, Martin Jambor wrote:


My familiarity and continuous reading of the C++ Standard has encouraged me
to extend the previously developed support for concepts in GCC. I want to
modify the implementation to conform with the current specification in the
C++ Standard. I am curious to know if this would be a good project to
propose for Google Summer of Code and am interested in finding a mentor.


I personally do not know what the status of C++ concept implementation
is, how much it differs from the current standard is or whether making
it more up to date would make a good GSoC project.  Jason, Nathan, what
do you think?  (And if so, would you be willing to be a mentor?  Can you
think of someone else?)


Jason and I have been discussing this.  Updating the concepts code would 
be a good thing.  It happens to be one of the C++ standardization 
meetings this week.


nathan

--
Nathan Sidwell


Re: GSOC 2018 - Textual LTO dump tool project

2018-03-14 Thread Hrishikesh Kulkarni
Hi,

Thanks a lot for inputs and guidance. I have incorporated all the changes
in the document. Shall I go ahead and submit the proposal formally on GSOC
website?

Drive link to Proposal:
https://docs.google.com/document/d/1-jYwwDWsHQwMaxVsHFBrJ9EiCAev7lj
TDLS1xMwvK5w/edit

Regards,

Hrishikesh

On Wed, Mar 14, 2018 at 8:28 PM, Richard Biener 
wrote:

> On Tue, Mar 13, 2018 at 5:30 AM, Hrishikesh Kulkarni
>  wrote:
> > Hi,
> >
> > Thanks. I have tried to incorporate suggestions and prepared a revised
> draft
> > of proposal for GSOC. Please find the same attached herewith. Your
> > suggestions in regard with this draft would definitely help me to
> improve it
> > further for submission.
>
> Thanks, it looks very good now.  You have essentially duplicated items
> in 1. and 2., namely --summary= and Dumping of IPA summaries.
> I would move some of the 1. items over to 2., apart from --summary I'd also
> move --cgraph-dot.
>
> Richard.
>
> >
> > Drive link to Draft Proposal:
> >
> > https://docs.google.com/document/d/1-jYwwDWsHQwMaxVsHFBrJ9EiCAev7lj
> TDLS1xMwvK5w/edit
> >
> >
> > Regards,
> >
> > Hrishikesh
> >
> >
> >
> >
> > On Mon, Mar 12, 2018 at 4:45 PM, Richard Biener <
> richard.guent...@gmail.com>
> > wrote:
> >>
> >> On Sun, Mar 11, 2018 at 8:23 PM, Hrishikesh Kulkarni
> >>  wrote:
> >> > Hi,
> >> >
> >> > Greetings! Please find my draft proposal for GSOC attached herewith. I
> >> > am
> >> > very grateful to all of you for your inputs, suggestions and
> directions.
> >> > I
> >> > have tried to assimilate these inputs received from you to convert it
> >> > into a
> >> > proposal. Your suggestions in regard with this draft would definitely
> >> > help
> >> > me to convert it into final proposal for submission. In addition,
> could
> >> > you
> >> > please suggest the possible extensions those can be added to dump
> tool?
> >> >
> >> >
> >> > Drive link to Draft Proposal:
> >> >
> >> >
> >> > https://docs.google.com/document/d/1-jYwwDWsHQwMaxVsHFBrJ9EiCAev7lj
> TDLS1xMwvK5w/edit
> >>
> >> The proposal looks a bit sparse when giving details about the actual
> >> project.
> >> I'd suggest to clarify at least the deliverables.  I suggest for 1. add
> a
> >> 1 c)
> >> that specifies what should be working, for example
> >>
> >>  lto-dump -l
> >>
> >> should dump a list of variables and functions contained in the IL
> >>
> >>  lto-sump -s 
> >>
> >> should dump detailed info about the symbol  (using the symtab dump
> >> infrastructure)
> >>
> >>  lto-dump -f 
> >>
> >> should dump the function body of the function with  (using the
> gimple
> >> dump infrastructure)
> >>
> >> the lto-dump tool should be verified to work on both WPA-time and
> >> LTRANS-time
> >> objects.
> >>
> >> Thus your 2) a) should be possible with 1) already.  2) would then
> contain
> >> dumping of IPA summaries as major part apart from visualizing the
> >> callgraph.
> >> For visualizing the (full) callgraph you need to handle multiple LTO
> >> IL input files.
> >> Those two pieces should be enough for 2) unless usability issues spill
> >> over
> >> from 1).
> >>
> >> In the introduction I miss some general words about the LTO IL, like
> that
> >> it
> >> is non-self-describing bytecode which is documented only by the code
> >> reading/writing it and thus hard to debug.  It also misses to lay out
> the
> >> overall structure of a LTO IL file (you are already going into detail
> with
> >> IPA passes so this missing stands out).
> >>
> >> Richard.
> >>
> >> >
> >> > Regards,
> >> >
> >> > Hrishikesh
> >> >
> >> >
> >> >
> >> > On Tue, Mar 6, 2018 at 8:59 PM, Jan Hubicka  wrote:
> >> >>
> >> >> > On Tue, Mar 6, 2018 at 4:02 PM, Jan Hubicka 
> wrote:
> >> >> > >> On Tue, Mar 6, 2018 at 2:30 PM, Hrishikesh Kulkarni
> >> >> > >>  wrote:
> >> >> > >> > Hi,
> >> >> > >> >
> >> >> > >> > Thank you Richard and Honza for the suggestions. If I
> understand
> >> >> > >> > correctly,
> >> >> > >> > the issue is that LTO file format keeps changing per compiler
> >> >> > >> > versions, so
> >> >> > >> > we need a more “stable” representation and the first step for
> >> >> > >> > that
> >> >> > >> > would be
> >> >> > >> > to “stabilize” representations for lto-cgraph and symbol
> table ?
> >> >> > >>
> >> >> > >> Yes.  Note the issue is that the current format is a 1:1
> >> >> > >> representation of
> >> >> > >> the internal representation -- which means it is the internal
> >> >> > >> representation
> >> >> > >> that changes frequently across releases.  I'm not sure how Honza
> >> >> > >> wants
> >> >> > >> to deal with those changes in the context of a "stable" IL
> format.
> >> >> > >> Given
> >> >> > >> we haven't been able to provide a stable API to plugins I think
> >> >> > >> it's
> >> >> > >> much
> >> >> > >> harder to provide a stable streaming format for all the IL
> >> >> > >> details
> >> >> > >>
> >> >> > >> > Could you
> >> >> > >> > please elaborate on what initial steps need to be taken in
> this
> >> >> > >> > regard, and
> >

gcc-6-20180314 is now available

2018-03-14 Thread gccadmin
Snapshot gcc-6-20180314 is now available on
  ftp://gcc.gnu.org/pub/gcc/snapshots/6-20180314/
and on various mirrors, see http://gcc.gnu.org/mirrors.html for details.

This snapshot has been generated from the GCC 6 SVN branch
with the following options: svn://gcc.gnu.org/svn/gcc/branches/gcc-6-branch 
revision 258537

You'll find:

 gcc-6-20180314.tar.xzComplete GCC

  SHA256=20dbf9f029b16e4420920b44b81da760fd624c5295f88ff1b3193518fdc8ae1c
  SHA1=cb6e0ffa83d99696dbe49a698fe19293d7b3cdf4

Diffs from 6-20180307 are available in the diffs/ subdirectory.

When a particular snapshot is ready for public consumption the LATEST-6
link is updated and a message is sent to the gcc list.  Please do not use
a snapshot before it has been announced that way.


GSoC

2018-03-14 Thread Gaurav Ahuja
I had a query, while choosing project for GSoC. Actually I'm
contributing to GCC for the first time, and I am not sure about what
is expected of me.

So, can you please explain me about , what GCC organisation expects me
to do, like detect bugs, or add a new feature ,etc.?