<div dir="ltr"><div>So Mehdi,<br></div>you're not in favour of providing this functionality then? Or just not in favour of that use case?<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Feb 8, 2017 at 10:18 AM, Mehdi Amini <span dir="ltr"><<a href="mailto:mehdi.amini@apple.com" target="_blank">mehdi.amini@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
> On Feb 7, 2017, at 5:44 PM, Timothy Arceri via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>> wrote:<br>
><br>
> On Wed, 2017-02-08 at 00:12 +0100, Nemanja Ivanovic wrote:<br>
>> I am certainly willing to write up a patch to do this. I was hoping<br>
>> to get a few more responses/buy-in from the community.<br>
>> And honestly, I'd be interested to know if this can be back-ported to<br>
>> at least 4.0 if it gets accepted.<br>
><br>
> My *possible* use case is for identifying the version of llvm used to<br>
> compile shaders for AMD gpus. This information would be used with an<br>
> on-disk cache of compiled shaders allowing old cache items to be<br>
> ignored if llvm is upgraded.<br>
><br>
> One downside of this is there is no way to know if distros backport<br>
> fixes to llvm. If the version is not bumped then the a buggy cached<br>
> shader would continue to be used even after the distro makes the fix.<br>
<br>
</span>This is exactly why we don’t use this kind of versioning: it is fragile/unreliable.<br>
<br>
—<br>
<span class="HOEnZb"><font color="#888888">Mehdi<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
<br>
><br>
><br>
>><br>
>> Now that I see that there's more interest in this than just my own,<br>
>> I'll put up a patch on Phabricator.<br>
><br>
> Cool, thanks!<br>
><br>
>><br>
>> On Wed, Feb 8, 2017 at 12:04 AM, Timothy Arceri via llvm-dev <llvm-de<br>
>> <a href="mailto:v@lists.llvm.org">v@lists.llvm.org</a>> wrote:<br>
>>> On 01/26/2017 12:45 AM, Nemanja Ivanovic via llvm-dev wrote:<br>
>>>> This has actually come up in the context of a JIT, but I think<br>
>>> that<br>
>>>> having the functionality in general could be useful.<br>
>>>><br>
>>>> Currently, there does not appear to be an API in LLVM to query<br>
>>> for<br>
>>>> LLVM version information. In the particular context where this<br>
>>> came<br>
>>>> up, LLVM is used as a shared library and various functionality<br>
>>> (and<br>
>>>> bug fixes) used by the JIT is available in various LLVM versions.<br>
>>> So<br>
>>>> it would be quite convenient to be able to dynamically determine<br>
>>> the<br>
>>>> version that happens to be loaded.<br>
>>>><br>
>>>> Honestly, I am not completely clear on what the best place for<br>
>>>> something like this would be, but it appears that the following<br>
>>> seems<br>
>>>> like a natural choice:<br>
>>>><br>
>>>> llvm::VersionPrinter in lib/Support/CommandLine.cpp already<br>
>>> queries<br>
>>>> this data so it might make sense for it to expose the following<br>
>>> API's<br>
>>>> (as part of VersionPrinter, accessed through the instance):<br>
>>>> llvm::cl::getVersionMajor()<br>
>>>> llvm::cl::getVersionMinor()<br>
>>>> llvm::cl::getVersionPatch()<br>
>>><br>
>>> Hi,<br>
>>><br>
>>> I'm also interested in querying this at runtime. Has there been any<br>
>>> patches submitted for this yet?<br>
>>><br>
>>> Thanks,<br>
>>> Tim<br>
>>> ______________________________<wbr>_________________<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/<wbr>mailman/listinfo/llvm-dev</a><br>
>>><br>
>><br>
>><br>
> ______________________________<wbr>_________________<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/<wbr>mailman/listinfo/llvm-dev</a><br>
<br>
</div></div></blockquote></div><br></div>