<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hello,<div><br></div><div>We have a tool which reads in bitcode, processes it, and re-emits it. We use this tool as a flexible way to integrate our tool into the Xcode, Android NDK, Chromium, and Linux build process. </div><div><br></div><div>The problem we face is that bitcode changes, and when it does… future versions can read it, but past versions are left in the lurch. For instance LLVM 3.2svn can BitcodeReader from LLVM 3.1, but LLVM 3.1 can't BitcodeReader LLVM 3.2 (after r165739.) There was an element of this patch which would have helped enable bitcode compatibility (use-abs-operands), but alas it was not committed. </div><div><br></div><div>This patch is essentially those missing lines, but with a new purpose of providing a vehicle for bitcode compatibility. With this patch, I aim to enable clang-3.2 or beyond to produce a bitcode that llc 3.1 code read. Or when LLVM-3.5 creates a new encoding… LLVM-3.3 might have a chance of still reading it by disabling that feature.</div><div><br></div><div>There's only two options right now:</div><div>0 ) which basically means absolute ids</div><div>1) which basically means relative ids.</div><div><br></div><div>I'm more than happy to document and maintain this actively, as we've been far too long passively monitoring and shifting with the changes. </div><div><br></div><div>So there's a bunch missing, and I'm trying to figure out how to create a clang option which would configure the CurrentVersion. </div><div><br></div><div>Traditional testing will be a challenge, since it requires the use of an older llvm to verify, but I'm also willing to brainstorm on this. Perhaps I can create a custom build-slave on my buildbots to verify this on an on-going basis.</div><div><br></div><div>Cheers,</div><div><br></div><div>Joe</div><div><div apple-content-edited="true">
<span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px; "><div><span class="Apple-style-span" style="-webkit-text-decorations-in-effect: underline; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><font class="Apple-style-span" face="Verdana" size="2" color="#052090"><b>______________________________</b></font></div><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><font class="Apple-style-span" face="Verdana" size="2" color="#052090"><b>Joe Abbey</b></font></div><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><font class="Apple-style-span" face="Verdana" size="2" color="#052090">Director of Software Development</font></div><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><font class="Apple-style-span" face="Verdana" size="2" color="#052090">Arxan Technologies</font></div></span></div></span></div></span></div></span></div></span></span><font class="Apple-style-span"><a href="mailto:jabbey@arxan.com" style="color: blue; text-decoration: underline; "><font class="Apple-style-span" face="Verdana" size="2" color="#0433ff">jabbey@arxan.com</font></a><font class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: Calibri, sans-serif; font-size: 15px; font-weight: normal; font-style: normal; "> </font></font><span class="Apple-style-span" style="color: rgb(169, 169, 169); border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; "><span class="Apple-style-span" style="font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; -webkit-text-decorations-in-effect: underline; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; "><font class="Apple-style-span" face="Verdana"><a href="http://www.arxan.com/" style="color: rgb(0, 0, 0); text-decoration: underline; font-weight: normal; font-style: normal; "><font class="Apple-style-span" color="#ff9324" size="2">www.arxan.com</font></a></font></span></span></span></span></div><div><br></div></span><br class="Apple-interchange-newline">
</div>
</div></body></html>