[LLVMdev] GSoC project questions.

Hal Finkel hfinkel at anl.gov
Mon Apr 22 10:59:41 CDT 2013

----- Original Message -----
> From: "Dmitri Gribenko" <gribozavr at gmail.com>
> To: "Alex L" <arphaman at gmail.com>
> Cc: "LLVM Developers Mailing List" <llvmdev at cs.uiuc.edu>
> Sent: Monday, April 22, 2013 9:00:51 AM
> Subject: Re: [LLVMdev] GSoC project questions.
> On Mon, Apr 22, 2013 at 4:30 PM, Alex L <arphaman at gmail.com> wrote:
> > Thanks for your support.
> > I wrote my draft GSoC proposal, it can be viewed here -
> > https://gist.github.com/hyp/5434845
> > Please read it and tell me what you think. Any criticisms or
> > suggestions are
> > welcome!
> Hello Alex,
> > I plan to make flang a fully featured frontend which fully supports
> > Fortran 77
> I might be wrong (I'd love to be wrong here!) but I think this is a
> bit too ambitious.  Given that you have to write tests *as you
> implement the features*, handle corner cases (and one has to actually
> discover corner cases from the standard, if one is not familiar with
> Fortran) and produce diagnostics for invalid code, I don't think it
> is
> possible to implement all of the frontend + codegen within 12 weeks.

Alex, I agree with Dmitri, I think that the proposal sounds a little too ambitious. Maybe everything will go smoothly and you'll be able to accomplish everything that you'd like, but we should plan for less. I favor identifying a useful subset (such as that needed for BLAS) and focusing on doing a really good job on that subset rather than trying to get full feature coverage. In my experience, coding tests and high-quality warning/error messages takes more time than coding the feature itself. Also, in your proposal, it looks as though you're not writing tests until the end; tests need to be written as soon as the features are testable.

Regarding motivation, I would also like to bring the same kind of "tooling" (analysis and transformation) support available in Clang to Fortran. Not that this specifically impacts your project, but I think is an important part of the longer-term motivation for developing an LLVM Fortran frontend.

I am glad that you're excited about working on this project!


> Dmitri
> --
> main(i,j){for(i=2;;i++){for(j=2;j<i;j++){if(!(i%j)){j=0;break;}}if
> (j){printf("%d\n",i);}}} /*Dmitri Gribenko <gribozavr at gmail.com>*/
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev

More information about the LLVMdev mailing list