Full 'restrict' support in LLVM.

Hi all,

I am happy to announce that Synopsys wants to contribute its
implementation of 'C99 restrict' to the LLVM project. [1]

This implementation is based on Hal Finkel's local restrict patches
and on the 'RFC: Full 'restrict' support in LLVM' [2]

Any help with extra testing and code review is welcome.

To be generally useful, there are also some small gaps [1] that need to be filled:
IR bitcode support and the new pass manager support.
Any help with those is also welcome !


Jeroen Dobbelaere

[1] ⚙ D68484 [PATCH 01/27] [noalias] LangRef: noalias intrinsics and ptr_provenance documentation.
[2] https://lists.llvm.org/pipermail/llvm-dev/2019-March/131127.html

This is super exciting, and congratulations! Do you happen to have a design doc somewhere that is better formatted than the llvm-dev archive link?



I think we have found our champion to reboot

into a proposal for C++23 too. :slight_smile:

I reposted the RFC and a better formatted version is available now at:


Jeroen Dobbelaere

From: Chris Lattner <clattner@nondot.org>