[llvm-dev] Full restrict support - status update

Alexey Zhikhartsev via llvm-dev llvm-dev at lists.llvm.org
Thu Oct 31 08:20:40 PDT 2019

Hi Jeroen,

Thank you very much for the great work, it is much appreciated.

> - For now, there is still no llvm-ir bitcode support for the load/store
noalias_sidechannel argument.

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?


On Mon., Oct. 28, 2019, 9:12 p.m. Jeroen Dobbelaere via llvm-dev, <
llvm-dev at lists.llvm.org> wrote:

> Hi all,
> ## Status:
> During the past weeks I have updated the restrict patches with various
> improvements:
> - the ScopedNoAliasAA now also works together with the new pass manager
> - the SLPVectorizer now works nice with the noalias support.
> - there were some issues with some of the options enabling/disabling full
> restrict.  These have been fixed.
> - various smaller enhancements.
> Today, I rebased the patches. [1]
> Based on the feedback at the 'full restrict' roundtable, I also created a
> single patch containing all changes. [2]
> ## Request for testing and feedback:
> Extra help with the code review would be great [1].
> This includes feedback on the design decisions and naming.
> It would also be great if you could just try it out and check the effect
> on your benchmarks and testcases.
> The single patch[2] should make it more convenient to try it out:
> - If the full restrict support triggers a problem, I would like to hear
> about it.
> - But, if it works and improves your benchmarks, I also would like to hear
> about it, either through
>   phabricator, the llvm mailing list or in private.
> ## Known issues:
> - For now, there is still no llvm-ir bitcode support for the load/store
> noalias_sidechannel argument.
> - the
> 'SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-pr38212.test'
> in the 'test-suite' fails:
> -- the test is wrong as it triggers undefined behavior: it reads and
> writes the same object through 2 different
>     restrict pointers which have been declared in the same scope.
> ## Future changes
> - Another request that came up during the round table, is to split up the
> documentation in two parts:
>    a separate document describing the noalias architecture, and the
> LangRef, describing the intrinsics.
>   I'll be working on that in the coming days.
> Thanks,
> Jeroen Dobbelaere
> [1] https://reviews.llvm.org/D68484  [PATCH 01/38] [noalias] LangRef:
> noalias intrinsics and noalias_sidechannel documentation.
> [2] https://reviews.llvm.org/D69542 Full Restrict Support - single patch
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20191031/2a5bbd68/attachment-0001.html>

More information about the llvm-dev mailing list