[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