[llvm-commits] [llvm-gcc] llvm-gcc patch for PR1373 (review only)

Chris Lattner clattner at apple.com
Mon Jun 25 22:51:19 PDT 2007

On Jun 25, 2007, at 8:57 AM, Zhou Sheng wrote:

> Hi All,
> Here is the llvm-gcc patch for PR1373. It makes llvm-gcc to emit  
> noalias parameter attribute as well as noalias intrinsic. Note this  
> patch is just for review. Please give me some suggestion to improve  
> it. Thanks.

The patch looks good.  I'd suggest splitting it into two changes though:

First, introduce the parameter attribute.  Your code to do this looks  
good, but please add support for REFERENCE_TYPE as well (for c++  
restrict references).  When this goes in, basicaa can be enhanced to  
use this info and we can get some idea how well this works.

As a second step, the noalias intrinsic can be added.  This is more  
likely to disrupt code, and we'll have to closely monitor it when it  
goes it (we don't want it to block mem2reg etc).  In practice, we'll  
want to add the intrinsic to llvm, then start updating important  
optimizations to see through it (e.g. mem2reg and scalarrepl), then  
turn it on in the front-end.

If you send a patch for just adding restrict support for arguments,  
that handles pointers and references, I'd be happy to check it in.   
Nice work!

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20070625/4963a286/attachment.html>

More information about the llvm-commits mailing list