[llvm-commits] [llvm] r107177 - /llvm/trunk/test/Analysis/BasicAA/interprocedural.ll

Dan Gohman gohman at apple.com
Tue Jun 29 11:17:11 PDT 2010


Author: djg
Date: Tue Jun 29 13:17:11 2010
New Revision: 107177

URL: http://llvm.org/viewvc/llvm-project?rev=107177&view=rev
Log:
Add a few more interesting testcases.

Modified:
    llvm/trunk/test/Analysis/BasicAA/interprocedural.ll

Modified: llvm/trunk/test/Analysis/BasicAA/interprocedural.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Analysis/BasicAA/interprocedural.ll?rev=107177&r1=107176&r2=107177&view=diff
==============================================================================
--- llvm/trunk/test/Analysis/BasicAA/interprocedural.ll (original)
+++ llvm/trunk/test/Analysis/BasicAA/interprocedural.ll Tue Jun 29 13:17:11 2010
@@ -40,3 +40,24 @@
   store i64 0, i64* %v
   ret i64* %t
 }
+
+; The noalias attribute is not necessarily safe in an interprocedural context even
+; in comparison to other noalias arguments in the same function.
+; CHECK: MayAlias: i8* %w, i8* %x
+
+define void @q0(i8* noalias %w, i8* noalias %x) {
+  store i8 0, i8* %w
+  store i8 0, i8* %x
+  call void @q0(i8* noalias %x, i8* noalias %w)
+  unreachable
+}
+
+; The noalias attribute is not necessarily safe in an interprocedural context.
+; CHECK: MayAlias: double* %y, double* @G
+
+ at G = external global double
+define void @p0(double* noalias %y) {
+  store double 0.0, double* %y
+  store double 0.0, double* @G
+  unreachable
+}





More information about the llvm-commits mailing list