<html>
<head>
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
I concur with Jeremy - it is mostly ok to consume older IR with
newer LLVM, but metadata has changed significantly in just about
every release since 3.2 (one of the issues with OpenCL SPIR 1.2
using the 3.2 IR is that all people implementing OpenCL drivers that
support SPIR have to have some funky code on the go to support the
older IR).<br>
<br>
I think it is wrong to assume the IR wouldn't change though - one of
the best things about LLVM is the utter disregard for backwards
compatibility if it allows the project to do something in a better
way - if that meant the IR had to be massively changed it would be
done and the community wouldn't even glance backwards ;)<br>
<br>
-Neil.<br>
<br>
<div class="moz-cite-prefix">On 15/03/15 00:45, Jeremy Lakeman
wrote:<br>
</div>
<blockquote
cite="mid:CAAjnzmA=6fxvhBdfJWpGVBoyWaOPovD8aQHqnJO7v4c-4QHzaA@mail.gmail.com"
type="cite">
<div dir="ltr">
<div>The general principle I've seen applied in mailing list
discussions;<br>
Textual IR could change significantly, the complexity of
preserving backwards compatibility in the parser is often too
high.<br>
</div>
Binary IR, is a much more structured format, backwards
compatibility is easier to support. IR Correctness should be
preserved, but some language features might be ignored. eg old
meta-data formats will be silently stripped out.<br>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Sun, Mar 15, 2015 at 3:13 AM, Hayden
Livingston <span dir="ltr"><<a moz-do-not-send="true"
href="mailto:halivingston@gmail.com" target="_blank">halivingston@gmail.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">Are you saying the textual form of IR can
change, but bitcode doesn't? I don't know what you mean by
assembly syntax.
<div><br>
</div>
<div>Is there a changlog entry when the textual IR
changes?</div>
</div>
<div class="HOEnZb">
<div class="h5">
<div class="gmail_extra"><br>
<div class="gmail_quote">On Sat, Mar 14, 2015 at 5:22
AM, Jeremy Lakeman <span dir="ltr"><<a
moz-do-not-send="true"
href="mailto:Jeremy.Lakeman@gmail.com"
target="_blank">Jeremy.Lakeman@gmail.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">Assembly syntax can and will break
between versions. But bitcode should generally
be upgradeable, or a bug should be filed.<br>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">
<div>
<div>On Sat, Mar 14, 2015 at 4:41 PM, Hayden
Livingston <span dir="ltr"><<a
moz-do-not-send="true"
href="mailto:halivingston@gmail.com"
target="_blank">halivingston@gmail.com</a>></span>
wrote:<br>
</div>
</div>
<blockquote class="gmail_quote"
style="margin:0 0 0 .8ex;border-left:1px
#ccc solid;padding-left:1ex">
<div>
<div>
<div dir="ltr">
<div>Is it safe to assume that LLVM IR
will live more-or-less the same for
most releases, and that significant
changes will be communicated?</div>
<div><br>
</div>
<div>Or is it something that can
change at any time and you must not
rely on it ever being same.</div>
<div><br>
</div>
<div>To me, it seems like the IR has
evolved slowly but no spectacularly
large changes were made in the 1-1.5
years I've been watching it, -- sure
some experimental patch point, gc
stuff, but not your day-to-day types
etc</div>
<div><br>
</div>
<div>I'm asking because I'm going to
take somewhat major dependencies in
my upcoming system on the IR, and
being able to store it across
multiple releases of my system.</div>
<div><br>
</div>
<div>I don't anticipate moving to
newer versions of LLVM every time I
release, but I do imagine wanting to
upgrade to let's say LLVM 3.7 or
whatever releases come by.</div>
<span><font color="#888888">
<div><br>
</div>
<div>Hayden</div>
</font></span></div>
<br>
</div>
</div>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a moz-do-not-send="true"
href="mailto:LLVMdev@cs.uiuc.edu"
target="_blank">LLVMdev@cs.uiuc.edu</a>
<a moz-do-not-send="true"
href="http://llvm.cs.uiuc.edu"
target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a moz-do-not-send="true"
href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev"
target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
<br>
</blockquote>
</div>
<br>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
LLVM Developers mailing list
<a class="moz-txt-link-abbreviated" href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a> <a class="moz-txt-link-freetext" href="http://llvm.cs.uiuc.edu">http://llvm.cs.uiuc.edu</a>
<a class="moz-txt-link-freetext" href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a>
</pre>
</blockquote>
<br>
</body>
</html>