[llvm-dev] Full restrict support - status update
Finkel, Hal J. via llvm-dev
llvm-dev at lists.llvm.org
Mon Oct 28 21:06:13 PDT 2019
On 10/28/19 8:12 PM, Jeroen Dobbelaere via llvm-dev 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. 
> Based on the feedback at the 'full restrict' roundtable, I also created a single patch containing all changes. 
> ## Request for testing and feedback:
> Extra help with the code review would be great .
> 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 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.
This, we can fix now independent of anything else. We should either fix
the test, if there's a reasonable way to fix it, or we should remove it.
If you can post a patch with an explanation of the problem, that would
> ## 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.
> Jeroen Dobbelaere
>  https://reviews.llvm.org/D68484 [PATCH 01/38] [noalias] LangRef: noalias intrinsics and noalias_sidechannel documentation.
>  https://reviews.llvm.org/D69542 Full Restrict Support - single patch
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
Lead, Compiler Technology and Programming Languages
Leadership Computing Facility
Argonne National Laboratory
More information about the llvm-dev