diff test/Analysis/BasicAA/2007-08-01-NoAliasAndGEP.ll @ 0:95c75e76d11b LLVM3.4

LLVM 3.4
author Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
date Thu, 12 Dec 2013 13:56:28 +0900
parents
children 60c9769439b8
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/Analysis/BasicAA/2007-08-01-NoAliasAndGEP.ll	Thu Dec 12 13:56:28 2013 +0900
@@ -0,0 +1,20 @@
+; RUN: opt < %s -basicaa -aa-eval -print-all-alias-modref-info -disable-output 2>&1 | FileCheck %s
+
+; CHECK: Function: foo
+; CHECK:   MayAlias: i32* %Ipointer, i32* %Jpointer
+; CHECK: 9 no alias responses
+; CHECK: 6 may alias responses
+
+define void @foo(i32* noalias %p, i32* noalias %q, i32 %i, i32 %j) {
+  %Ipointer = getelementptr i32* %p, i32 %i
+  %qi = getelementptr i32* %q, i32 %i
+  %Jpointer = getelementptr i32* %p, i32 %j
+  %qj = getelementptr i32* %q, i32 %j
+  store i32 0, i32* %p
+  store i32 0, i32* %Ipointer
+  store i32 0, i32* %Jpointer
+  store i32 0, i32* %q
+  store i32 0, i32* %qi
+  store i32 0, i32* %qj
+  ret void
+}