mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-11-01 15:11:24 +00:00
Add a bunch of testcases for cast-of-casts that should be removed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3345 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
917d551969
commit
8decbcbbfe
@ -25,3 +25,35 @@ ulong %test3(ulong %A) { ; This function should just use bitwise AND
|
||||
%c2 = cast ubyte %c1 to ulong
|
||||
ret ulong %c2
|
||||
}
|
||||
|
||||
uint %test4(int %A, int %B) {
|
||||
%COND = setlt int %A, %B
|
||||
%c = cast bool %COND to ubyte ; Booleans are unsigned integrals
|
||||
%result = cast ubyte %c to uint ; for the cast elim purpose
|
||||
ret uint %result
|
||||
}
|
||||
|
||||
int %test5(bool %B) {
|
||||
%c = cast bool %B to ubyte ; This cast should get folded into
|
||||
%result = cast ubyte %c to int ; this cast
|
||||
ret int %result
|
||||
}
|
||||
|
||||
int %test6(ulong %A) {
|
||||
%c1 = cast ulong %A to uint
|
||||
%res = cast uint %c1 to int
|
||||
ret int %res
|
||||
}
|
||||
|
||||
long %test7(bool %A) {
|
||||
%c1 = cast bool %A to int
|
||||
%res = cast int %c1 to long
|
||||
ret long %res
|
||||
}
|
||||
|
||||
long %test8(sbyte %A) {
|
||||
%c1 = cast sbyte %A to ulong
|
||||
%res = cast ulong %c1 to long
|
||||
ret long %res
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user