2 ; RUN: analyze %s -tddatastructure
5 %R = getelementptr int* %A, long 1
9 int* %test2(uint %Num) {
10 %A = malloc sbyte, uint %Num
11 %B = cast sbyte* %A to int*
15 int* %test3(uint %Num) {
16 %A = malloc sbyte, uint %Num
17 %B = cast sbyte* %A to int*
18 %C = getelementptr int* %B, long 5
22 int* %test4(bool %C, uint %Num) {
23 br bool %C, label %L1, label %L2
25 %A = malloc sbyte, uint %Num
26 %B = cast sbyte* %A to int*
29 %C = malloc int, uint %Num
32 %D = phi int* [%B, %L1], [%C, %L2]
33 %E = getelementptr int* %D, long 5
37 int* %test5(bool %C, uint %Num) {
38 br bool %C, label %L1, label %L2
40 %C = malloc int, uint %Num
43 %A = malloc sbyte, uint %Num
44 %B = cast sbyte* %A to int*
47 %D = phi int* [%C, %L1], [%B, %L2]
48 %E = getelementptr int* %D, long 5
52 int %test6({int, int}* %A) {
53 %B = getelementptr {int, int}* %A, long 0, ubyte 0
55 %C = getelementptr {int, int}* %A, long 0, ubyte 1
61 sbyte* %test7(uint %Num) {
62 %X = malloc sbyte, uint %Num
63 %Y = getelementptr sbyte* %X, long 1
64 store sbyte 0, sbyte* %Y