blob: b9940db157f75bfec7a7eb98cb214a38f6c0ecf1 [file] [log] [blame]
Chris Lattnerdbb6cd12003-06-29 01:09:07 +00001; This test was failing because the globals X and Y are marked incomplete
Chris Lattner4fe77cd2003-06-29 01:03:53 +00002; in the TD graph for %test
Tanya Lattner12ff9682004-11-06 20:38:27 +00003; XFAIL: *
Misha Brukman14285c82003-09-15 20:02:53 +00004; RUN: llvm-as < %s | opt -no-aa -ds-aa -load-vn -gcse -instcombine | llvm-dis | not grep seteq
Chris Lattner4fe77cd2003-06-29 01:03:53 +00005
6%X = internal global int 20
7%Y = internal global int* null
8
9implementation
10
Chris Lattnerdbb6cd12003-06-29 01:09:07 +000011internal bool %test(int** %P) {
Chris Lattner4fe77cd2003-06-29 01:03:53 +000012 %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
18int %main() {
19 store int* %X, int** %Y
20 call bool %test(int** %Y)
21 ret int 0
22}
23