<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Nov 26, 2015 at 10:51 AM, Alex Bradbury via llvm-dev <span dir="ltr"><<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">On 26 November 2015 at 18:23, David Power via llvm-dev<br>
<span class=""><<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>> wrote:<br>
> Hello,<br>
><br>
> I am writing a compiler which outputs LLVM for my own custom language. Thanks to everybody who has contributed to the project it really is an impressive tool chain.<br>
><br>
> I downloaded the 3.7 release from the website and I noticed that there had been a change to getelementptr.<br>
><br>
> I can see the new syntax in the latest version of the Language Reference Manual but I could find no other reference to the change.<br>
><br>
> Is there a definitive list of language changes for each release of LLVM? Also, are there any more planned changes that are in the pipeline?<br></span></blockquote><div><br></div><div>As for further changes - yeah, there's probably at least one more change to the IR that'll happen (byval) and a lot of changes to internal APIs as the typeless pointer work comes along. For more details I gave a talk at the LLVM Dev meeting this year: <a href="https://www.youtube.com/watch?v=OWgWDx_gB1I">https://www.youtube.com/watch?v=OWgWDx_gB1I</a></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span class="">
<br>
</span>Hi David,<br>
<br>
The definitive list of changes is of course the commit log. The<br>
release notes usually do a pretty good job of summarising changes<br>
<a href="http://llvm.org/releases/3.7.0/docs/ReleaseNotes.html" rel="noreferrer" target="_blank">http://llvm.org/releases/3.7.0/docs/ReleaseNotes.html</a> and does include<br>
some info on the removal of pointer types:<br>
<br>
"""<br>
LLVM IR and APIs are in a period of transition to aid in the removal<br>
of pointer types (the end goal being that pointers are typeless/opaque<br>
- void*, if you will). Some APIs and IR constructs have been modified<br>
to take explicit types that are currently checked to match the target<br>
type of their pre-existing pointer type operands. Further changes are<br>
still needed, but the more you can avoid using<br>
PointerType::getPointeeType, the easier the migration will be.<br>
"""<br>
<br>
I do my best to point out changes that will effect out-of-tree targets<br>
or developers targeting LLVM in LLVM Weekly (<a href="http://llvmweekly.org/" rel="noreferrer" target="_blank">http://llvmweekly.org/</a>)<br>
and try to highlight mailing list discussions regarding future<br>
changes. e.g. many of these changes were discussed here<br>
<a href="http://article.gmane.org/gmane.comp.compilers.llvm.devel/81923" rel="noreferrer" target="_blank">http://article.gmane.org/gmane.comp.compilers.llvm.devel/81923</a><br>
<br>
Best,<br>
<br>
Alex<br>
<div class=""><div class="h5">_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</div></div></blockquote></div><br></div></div>