5958c6c508008ce69585e66d245102b08cdb8f5e
[oota-llvm.git] / test / Transforms / DeadStoreElimination / 2008-11-28-MemDepUpdate.ll
1 ; RUN: opt < %s -dse | llvm-dis
2 ; PR3141
3         %struct.ada__tags__dispatch_table = type { [1 x i32] }
4         %struct.f393a00_1__object = type { %struct.ada__tags__dispatch_table*, i8 }
5         %struct.f393a00_2__windmill = type { %struct.f393a00_1__object, i16 }
6
7 define void @f393a00_2__swap(%struct.f393a00_2__windmill* %a, %struct.f393a00_2__windmill* %b) {
8 entry:
9         %t = alloca %struct.f393a00_2__windmill         ; <%struct.f393a00_2__windmill*> [#uses=1]
10         %0 = getelementptr %struct.f393a00_2__windmill* %t, i32 0, i32 0, i32 0         ; <%struct.ada__tags__dispatch_table**> [#uses=1]
11         %1 = load %struct.ada__tags__dispatch_table** null, align 4             ; <%struct.ada__tags__dispatch_table*> [#uses=1]
12         %2 = load %struct.ada__tags__dispatch_table** %0, align 8               ; <%struct.ada__tags__dispatch_table*> [#uses=1]
13         store %struct.ada__tags__dispatch_table* %2, %struct.ada__tags__dispatch_table** null, align 4
14         store %struct.ada__tags__dispatch_table* %1, %struct.ada__tags__dispatch_table** null, align 4
15         ret void
16 }