[llvm-commits] [llvm-gcc-4.2] r65774 - /llvm-gcc-4.2/trunk/gcc/llvm-types.cpp

Duncan Sands baldrick at free.fr
Sun Mar 1 08:18:50 PST 2009


Author: baldrick
Date: Sun Mar  1 10:18:50 2009
New Revision: 65774

URL: http://llvm.org/viewvc/llvm-project?rev=65774&view=rev
Log:
The return value of a function marked with the malloc
attribute does not alias anything - make it noalias.

Modified:
    llvm-gcc-4.2/trunk/gcc/llvm-types.cpp

Modified: llvm-gcc-4.2/trunk/gcc/llvm-types.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/llvm-types.cpp?rev=65774&r1=65773&r2=65774&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/llvm-types.cpp (original)
+++ llvm-gcc-4.2/trunk/gcc/llvm-types.cpp Sun Mar  1 10:18:50 2009
@@ -1167,6 +1167,10 @@
   TARGET_ADJUST_LLVM_RETATTR(RAttributes, type);
 #endif
 
+  // The value returned by a 'malloc' function does not alias anything.
+  if (flags & ECF_MALLOC)
+    RAttributes |= Attribute::NoAlias;
+
   if (RAttributes != Attribute::None)
     Attrs.push_back(AttributeWithIndex::get(0, RAttributes));
 





More information about the llvm-commits mailing list