Zhengyang Liu via llvm-dev
2016-Mar-18 04:57 UTC
[llvm-dev] [GSoC'16] Add a Scheme Frontend for LLVM
Hi, everyone 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. About Me: 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. Proposed Work: (Before GSoC'16 start) Add support for calling LLVM IR API on bigloo. (Week 1-3) Create a new LLVM backend for bigloo scheme to make bigloo produce LLVM IR. (Week 4-6) Integrate Boehm garbage collector to the runtime. (Week 7) Create project build/test infrastructure. (Week 8-9) Run benchmarks and analysis the performance on the new scheme compiler. I have some questions for this idea: 1) Is this a good idea for a GSoC project ? 2) If any one is available to mentor me for this ? 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. Thanks, Zhengyang Liu, Beijing University of Posts and Telecommunications, zhengyang-liu at hotmail.com. [1] http://www.cs.utah.edu/~mflatt/benchmarks-20100126/log1/Gambit_20benchmarks.html [2] http://zhengyangl.com/cv.pdf -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160318/0de9f449/attachment.html>
Philip Reames via llvm-dev
2016-Mar-22 20:55 UTC
[llvm-dev] [GSoC'16] Add a Scheme Frontend for LLVM
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. 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. Philip On 03/17/2016 09:57 PM, Zhengyang Liu via llvm-dev wrote:> Hi, everyone > > 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. > > About Me: > 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. > > Proposed Work: > (Before GSoC’16 start) Add support for calling LLVM IR API on bigloo. > (Week 1-3) Create a new LLVM backend for bigloo scheme to make bigloo > produce LLVM IR. > (Week 4-6) Integrate Boehm garbage collector to the runtime. > (Week 7) Create project build/test infrastructure. > (Week 8-9) Run benchmarks and analysis the performance on the new > scheme compiler. > > I have some questions for this idea: > 1) Is this a good idea for a GSoC project ? > 2) If any one is available to mentor me for this ? > > 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. > > > Thanks, > Zhengyang Liu, > Beijing University of Posts and Telecommunications, > zhengyang-liu at hotmail.com. > > [1] > http://www.cs.utah.edu/~mflatt/benchmarks-20100126/log1/Gambit_20benchmarks.html > [2] http://zhengyangl.com/cv.pdf > > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160322/1c5db789/attachment.html>
Apparently Analagous Threads
- [GSoC'16] Proposal for Enhance SAFECode’s Baggy Bounds Checking
- [GSoC'16] Weekly Status - June 27 - Zhengyang Liu
- [GSoC] Final Proposal 'Enhance SAFECode’s Baggy Bounds Checking'
- How can I make llvm intrinsic functions declarations survive from optimizations.
- How can I make llvm intrinsic functions declarations survive from optimizations.