llvm-6502/test/Transforms/DSAnalysis/misctests.ll
John Criswell 4797826e17 Changed all of these tests to be TestRunner tests (or, at least they can be
TestRunner tests).
This makes creating the new test database class easier to implement.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8841 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-03 18:42:25 +00:00

68 lines
1.2 KiB
LLVM

;
; RUN: analyze %s -tddatastructure
int* %test1(int *%A) {
%R = getelementptr int* %A, long 1
ret int* %R
}
int* %test2(uint %Num) {
%A = malloc sbyte, uint %Num
%B = cast sbyte* %A to int*
ret int* %B
}
int* %test3(uint %Num) {
%A = malloc sbyte, uint %Num
%B = cast sbyte* %A to int*
%C = getelementptr int* %B, long 5
ret int* %C
}
int* %test4(bool %C, uint %Num) {
br bool %C, label %L1, label %L2
L1:
%A = malloc sbyte, uint %Num
%B = cast sbyte* %A to int*
br label %L3
L2:
%C = malloc int, uint %Num
br label %L3
L3:
%D = phi int* [%B, %L1], [%C, %L2]
%E = getelementptr int* %D, long 5
ret int* %E
}
int* %test5(bool %C, uint %Num) {
br bool %C, label %L1, label %L2
L1:
%C = malloc int, uint %Num
br label %L3
L2:
%A = malloc sbyte, uint %Num
%B = cast sbyte* %A to int*
br label %L3
L3:
%D = phi int* [%C, %L1], [%B, %L2]
%E = getelementptr int* %D, long 5
ret int* %E
}
int %test6({int, int}* %A) {
%B = getelementptr {int, int}* %A, long 0, ubyte 0
%b = load int* %B
%C = getelementptr {int, int}* %A, long 0, ubyte 1
%c = load int* %C
%d = add int %b, %c
ret int %d
}
sbyte* %test7(uint %Num) {
%X = malloc sbyte, uint %Num
%Y = getelementptr sbyte* %X, long 1
store sbyte 0, sbyte* %Y
ret sbyte* %X
}