<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    FYI - This is way more work than is appropriate for a single
    summer.  Bringing up a new frontend and getting good performance out
    of it is general several man years of work.  I strongly suggest you
    identify a subproject of a more reasonable scope and propose that.<br>
    <br>
    p.s. Also, I'm not sure that porting an external open source project
    is really appropriate for an LLVM GSoC project.  Have you considered
    proposing something to the Bigloo project?  They might be better
    able to provide mentoring for what you're interested in.  Or
    alternatively, you might do well to seek an active mentor from both
    projects.  <br>
    <br>
    Philip<br>
    <br>
    <div class="moz-cite-prefix">On 03/17/2016 09:57 PM, Zhengyang Liu
      via llvm-dev wrote:<br>
    </div>
    <blockquote
cite="mid:SG2PR06MB04276545C523825165DF47D4FD8C0@SG2PR06MB0427.apcprd06.prod.outlook.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
      <div id="divtagdefaultwrapper" style="font-size:12pt;
        color:#000000; background-color:#FFFFFF;
        font-family:Calibri,Arial,Helvetica,sans-serif">
        <div><span style="font-size: 12pt;">Hi, everyone</span><br>
        </div>
        <div><span style="font-size: 12pt;"><br>
          </span></div>
        <div>This proposal covers the OpenProjects idea ‘Port the Bigloo
          Scheme compiler, from Manuel Serrano at INRIA
          Sophia-Antipolis, to output LLVM bytecode.’  There is not a
          popular functional language frontend yet on LLVM. To my
          knowledge, this is mostly because LLVM is lack of runtime
          support for the functional language needs, and C foreign
          function interface calls are relatively hard since LLVM leaves
          memory management to be handled by program. Bigloo is a high
          performance(according to [1] ) scheme implementation and it
          designed to be mostly R5RS compatible. It uses Boehm GC(also
          used in llvm-gcc) to manage C FFI calls memory. Therefore
          bigloo is a proper choice for the scheme frontend of LLVM. On
          the other hand, compile scheme to LLVM IR will make use of
          LLVM’s optimization techniques. The LLVM backend will boost
          the performance of bigloo.  In this summer, I would like to
          build a robust, high-performance scheme frontend for LLVM.</div>
        <div><br>
        </div>
        <div>About Me:</div>
        <div>I am Zhengyang, a M.S. candidate at Beijing University of
          Posts and Telecomunications working in the area of static
          program analysis. My CV can be found in [2] . Most of my works
          are based on Clang.  I have contributed to Static Analysis
          Suite(SAS) from CERN PH-SFT as Google Summer of Code 2015
          project. About the preparation for this proposal, I have
          studied the source codes, serveral research papers and user
          manual of bigloo. I am interested in working with LLVM
          community, and hoping to contribute to LLVM. </div>
        <div><br>
        </div>
        <div>Proposed Work:</div>
        <div>(Before GSoC’16 start) Add support for calling LLVM IR API
          on bigloo.</div>
        <div>(Week 1-3) Create a new LLVM backend for bigloo scheme to
          make bigloo produce LLVM IR.</div>
        <div>(Week 4-6) Integrate Boehm garbage collector to the
          runtime.</div>
        <div>(Week 7) Create project build/test infrastructure. </div>
        <div>(Week 8-9) Run benchmarks and analysis the performance on
          the new scheme compiler.</div>
        <div><br>
        </div>
        <div>I have some questions for this idea:</div>
        <div>1) Is this a good idea for a GSoC project ?</div>
        <div>2) If any one is available to mentor me for this ?</div>
        <div><br>
        </div>
        <div>Please let me know your comments on this proposal as a GSoC
          project. Any comments on how to refine this proposal are
          welcome. I will be very grateful if someone puts me in the
          right direction for the project.</div>
        <div><br>
        </div>
        <div><br>
        </div>
        <div>Thanks,</div>
        <div>Zhengyang Liu,</div>
        <div>Beijing University of Posts and Telecommunications,</div>
        <div><a class="moz-txt-link-abbreviated" href="mailto:zhengyang-liu@hotmail.com">zhengyang-liu@hotmail.com</a>.</div>
        <div><br>
        </div>
        <div>
          <div style="font-family: Calibri, Arial, Helvetica,
            sans-serif; font-size: 16px;">
            [1]
<a class="moz-txt-link-freetext" href="http://www.cs.utah.edu/~mflatt/benchmarks-20100126/log1/Gambit_20benchmarks.html">http://www.cs.utah.edu/~mflatt/benchmarks-20100126/log1/Gambit_20benchmarks.html</a></div>
          <div style="font-family: Calibri, Arial, Helvetica,
            sans-serif; font-size: 16px;">
            [2] <a class="moz-txt-link-freetext" href="http://zhengyangl.com/cv.pdf">http://zhengyangl.com/cv.pdf</a></div>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
LLVM Developers mailing list
<a class="moz-txt-link-abbreviated" href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>
<a class="moz-txt-link-freetext" href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>