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!
-Chris
_______________________________________________
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits