<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head><body text="#000000" bgcolor="#FFFFFF" style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
Dear LLVM contributors,<br class="">
<br class="">
my name is Matthias, I am a graduate student majoring in computer
science at the Vienna University of Technology, and I am glad to be
one of this year's GSoC students who work for the Julia foundation. Julia is a relatively young programming language that uses LLVM for just-in-time
compilation and the goal of my project is to integrate Polly in this
environment to enable polyhedral optimizations for Julia programs.
On the one side this will require changing Julia's LLVM IR generator
to make the code more amenable for Polly, but on the other side it
will also require adaptions to Polly's analyses and transformations.<br class="">
<br class="">
If you are interested you may have a look at my proposal [1],
besides, I also plan to post interesting findings and results at my
blog [2].<br class="">
<br class="">
During the next four to five weeks, I plan to do the following:<br class="">
1. For my proposal, I've already built a very simplistic patch that
experimentally integrated Polly into Julia's execution environment
[4], but that was really only a proof-of-concept. Currently I am
working on improving this patch. Based on this, one of the first
milestones will be to introduce an annotation (namely @polly), which
enables to selectively run Polly for annotated parts of Julia
programs.<br class="">
2. Identify and analyze first Julia programs (or their corresponding
LLVM IR respectively) which currently cannot be optimized via Polly.<br class="">
3. Begin to correct Julia/Polly such that polyhedral optimizations
can be applied to these programs<br class="">
<br class="">
Essentially, points 2 and 3 will be a gradual process which will
also build the working process for the subsequent weeks then.<br class="">
<br class="">
I'll gladly accept any kind of input so feel free to comment on
this, post suggestions and give advice.<br class="">
<br class="">
[1]
<a class="moz-txt-link-freetext" href="https://docs.google.com/document/d/1s5mmSW965qmOEbHiM3O4XFz-Vd7cy9TxX9RQaTK_SQo/edit?usp=sharing">https://docs.google.com/document/d/1s5mmSW965qmOEbHiM3O4XFz-Vd7cy9TxX9RQaTK_SQo/edit?usp=sharing</a><br class="">
[2] <a class="moz-txt-link-freetext" href="http://www.mreisinger.com">http://www.mreisinger.com</a><br class="">
[3] <a class="moz-txt-link-freetext" href="https://groups.google.com/group/julia-dev">https://groups.google.com/group/julia-dev</a><br class="">
[4] <a class="moz-txt-link-freetext" href="https://gist.github.com/MatthiasJReisinger/18c08b18903d7729b5b3">https://gist.github.com/MatthiasJReisinger/18c08b18903d7729b5b3</a><br class="">
[5] <a class="moz-txt-link-freetext" href="https://github.com/JuliaLang/julia/issues">https://github.com/JuliaLang/julia/issues</a><br class="">
[6] <a class="moz-txt-link-freetext" href="https://github.com/JuliaLang/julia/pulls">https://github.com/JuliaLang/julia/pulls</a><br class="">
<br class="">
Best regards,<br class="">
Matthias
</body></html>