aboutsummaryrefslogtreecommitdiff
path: root/test/Transforms/DeadStoreElimination/2008-11-28-MemDepUpdate.ll
blob: 5d4c1c157bb094a282d4a45eef04e5eba1b854aa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
; RUN: opt %s -dse | llvm-dis
; PR3141
	%struct.ada__tags__dispatch_table = type { [1 x i32] }
	%struct.f393a00_1__object = type { %struct.ada__tags__dispatch_table*, i8 }
	%struct.f393a00_2__windmill = type { %struct.f393a00_1__object, i16 }

define void @f393a00_2__swap(%struct.f393a00_2__windmill* %a, %struct.f393a00_2__windmill* %b) {
entry:
	%t = alloca %struct.f393a00_2__windmill		; <%struct.f393a00_2__windmill*> [#uses=1]
	%0 = getelementptr %struct.f393a00_2__windmill* %t, i32 0, i32 0, i32 0		; <%struct.ada__tags__dispatch_table**> [#uses=1]
	%1 = load %struct.ada__tags__dispatch_table** null, align 4		; <%struct.ada__tags__dispatch_table*> [#uses=1]
	%2 = load %struct.ada__tags__dispatch_table** %0, align 8		; <%struct.ada__tags__dispatch_table*> [#uses=1]
	store %struct.ada__tags__dispatch_table* %2, %struct.ada__tags__dispatch_table** null, align 4
	store %struct.ada__tags__dispatch_table* %1, %struct.ada__tags__dispatch_table** null, align 4
	ret void
}