New testcase, an automatized version of Vikrams ggcollapse.c file
[oota-llvm.git] / test / Analysis / DSGraph / incompletenode.ll
1 ; This test was failing because the globals X and Y are marked incomplete
2 ; in the TD graph for %test
3
4 ; RUN: as < %s | opt -no-aa -ds-aa -load-vn -gcse -instcombine | dis | not grep seteq
5
6 %X = internal global int 20
7 %Y = internal global int* null
8
9 implementation
10
11 internal bool %test(int** %P) { 
12   %A = load int** %P              ;; We know P == Y!
13   %B = load int** %Y              ;; B = A
14   %c = seteq int* %A, %B          ;; Always true
15   ret bool %c
16 }
17
18 int %main() {
19         store int* %X, int** %Y
20         call bool %test(int** %Y)
21         ret int 0
22 }
23