<div dir="auto">Hi Jeroen,<div dir="auto"><br></div><div dir="auto">Thank you very much for the great work, it is much appreciated.</div><div dir="auto"><br></div><div dir="auto">> - For now, there is still no llvm-ir bitcode support for the load/store noalias_sidechannel argument<span style="font-family:sans-serif;font-size:12.8px">.</span></div><div dir="auto"><span style="font-family:sans-serif;font-size:12.8px"><br></span></div><div dir="auto">Do you have plans to work on this in the near future? Do you know how much work it is and if there are significant hurdles?</div><div dir="auto"><br></div><div dir="auto">Thanks,</div><div dir="auto">Alexey</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon., Oct. 28, 2019, 9:12 p.m. Jeroen Dobbelaere via llvm-dev, <<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi all,<br>
<br>
## Status:<br>
<br>
During the past weeks I have updated the restrict patches with various improvements:<br>
- the ScopedNoAliasAA now also works together with the new pass manager<br>
- the SLPVectorizer now works nice with the noalias support.<br>
- there were some issues with some of the options enabling/disabling full restrict. These have been fixed.<br>
- various smaller enhancements.<br>
<br>
Today, I rebased the patches. [1]<br>
Based on the feedback at the 'full restrict' roundtable, I also created a single patch containing all changes. [2]<br>
<br>
## Request for testing and feedback:<br>
<br>
Extra help with the code review would be great [1].<br>
This includes feedback on the design decisions and naming.<br>
<br>
It would also be great if you could just try it out and check the effect on your benchmarks and testcases.<br>
The single patch[2] should make it more convenient to try it out:<br>
- If the full restrict support triggers a problem, I would like to hear about it.<br>
- But, if it works and improves your benchmarks, I also would like to hear about it, either through<br>
phabricator, the llvm mailing list or in private. <br>
<br>
## Known issues:<br>
<br>
- For now, there is still no llvm-ir bitcode support for the load/store noalias_sidechannel argument.<br>
- the 'SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-pr38212.test' in the 'test-suite' fails:<br>
-- the test is wrong as it triggers undefined behavior: it reads and writes the same object through 2 different<br>
restrict pointers which have been declared in the same scope.<br>
<br>
## Future changes<br>
- Another request that came up during the round table, is to split up the documentation in two parts:<br>
a separate document describing the noalias architecture, and the LangRef, describing the intrinsics.<br>
I'll be working on that in the coming days.<br>
<br>
Thanks,<br>
<br>
Jeroen Dobbelaere<br>
<br>
[1] <a href="https://reviews.llvm.org/D68484" rel="noreferrer noreferrer" target="_blank">https://reviews.llvm.org/D68484</a> [PATCH 01/38] [noalias] LangRef: noalias intrinsics and noalias_sidechannel documentation.<br>
[2] <a href="https://reviews.llvm.org/D69542" rel="noreferrer noreferrer" target="_blank">https://reviews.llvm.org/D69542</a> Full Restrict Support - single patch<br>
<br>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank" rel="noreferrer">llvm-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote></div>