mirror of
https://github.com/RPCSX/llvm.git
synced 2025-01-23 20:57:21 +00:00
setcc of booleans should always be eliminated
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3284 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
f8e2cf9221
commit
22fae29835
@ -51,3 +51,30 @@ bool "test8"(uint %A) {
|
||||
%B = setlt uint %A, 0 ; false
|
||||
ret bool %B
|
||||
}
|
||||
|
||||
;; test operations on boolean values these should all be eliminated$a
|
||||
bool %test9(bool %A) {
|
||||
%B = setlt bool %A, false ; false
|
||||
ret bool %B
|
||||
}
|
||||
bool %test10(bool %A) {
|
||||
%B = setgt bool %A, true ; false
|
||||
ret bool %B
|
||||
}
|
||||
bool %test11(bool %A) {
|
||||
%B = setle bool %A, true ; true
|
||||
ret bool %B
|
||||
}
|
||||
bool %test12(bool %A) {
|
||||
%B = setge bool %A, false ; true
|
||||
ret bool %B
|
||||
}
|
||||
bool %test13(bool %A, bool %B) {
|
||||
%C = setge bool %A, %B ; A | ~B
|
||||
ret bool %C
|
||||
}
|
||||
bool %test14(bool %A, bool %B) {
|
||||
%C = seteq bool %A, %B ; ~(A ^ B)
|
||||
ret bool %C
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user