llvm-6502/test/Analysis/DSGraph/2003-06-29-NodeCollapsing.ll
Reid Spencer e5d4efa63e Promote GEP ubyte indices to uint. Backwards compatibility for 1.2 and
older features will be dropped soon and these test cases must not rely
on the upgrade capability.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31896 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-23 15:14:52 +00:00

25 lines
626 B
LLVM

; RUN: llvm-as < %s | opt -no-aa -ds-aa -load-vn -gcse | llvm-dis | not grep load
%T = type { int*, int* }
int %main() {
%A = alloca %T
%B = alloca { %T }
%C = alloca %T*
%Bp = getelementptr { %T }* %B, long 0, uint 0
%i0 = alloca int
%i1 = alloca int
%Ap0 = getelementptr %T* %A, long 0, uint 0
%Ap1 = getelementptr %T* %A, long 0, uint 1
store int* %i0, int** %Ap0
store int* %i1, int** %Ap1
store int 0, int* %i0
store int 1, int* %i1
%RetVal = load int* %i0 ; This load should be deletable
store %T* %A, %T** %C
store %T* %Bp, %T** %C ; This store was causing merging to happen!
ret int %RetVal
}