aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2003-06-29 01:03:53 +0000
committerChris Lattner <sabre@nondot.org>2003-06-29 01:03:53 +0000
commit4fe77cdcf2c79a6f31a7953675b438fbdb9ce94f (patch)
tree0d52555a304759a5e1fc4f4c4ef7f71c4f8ab8b0
parent1df3112042cdc47fd7250f0794f6080276004069 (diff)
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6975 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/Analysis/DSGraph/incompletenode.ll23
1 files changed, 23 insertions, 0 deletions
diff --git a/test/Analysis/DSGraph/incompletenode.ll b/test/Analysis/DSGraph/incompletenode.ll
new file mode 100644
index 0000000000..44934a2c1c
--- /dev/null
+++ b/test/Analysis/DSGraph/incompletenode.ll
@@ -0,0 +1,23 @@
+; This test is failing because the globals X and Y are marked incomplete
+; in the TD graph for %test
+
+; RUN: as < %s | opt -no-aa -ds-aa -load-vn -gcse | dis | not grep seteq
+
+%X = internal global int 20
+%Y = internal global int* null
+
+implementation
+
+bool %test(int** %P) {
+ %A = load int** %P ;; We know P == Y!
+ %B = load int** %Y ;; B = A
+ %c = seteq int* %A, %B ;; Always true
+ ret bool %c
+}
+
+int %main() {
+ store int* %X, int** %Y
+ call bool %test(int** %Y)
+ ret int 0
+}
+