mirror of
https://github.com/RPCSX/llvm.git
synced 2024-12-04 01:43:06 +00:00
Add a few missed xforms from GCC PR14753
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125681 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
a901129169
commit
5653f1f904
@ -2218,3 +2218,32 @@ llc time when it gets inlined, because we can use smaller transfers. This also
|
||||
avoids partial register stalls in some important cases.
|
||||
|
||||
//===---------------------------------------------------------------------===//
|
||||
|
||||
Some missed instcombine xforms (from GCC PR14753):
|
||||
|
||||
void bar (void);
|
||||
|
||||
void mask_gt (unsigned int a) {
|
||||
/* This is equivalent to a > 15. */
|
||||
if ((a & ~7) > 8)
|
||||
bar();
|
||||
}
|
||||
|
||||
void neg_eq_cst(unsigned int a) {
|
||||
if (-a == 123)
|
||||
bar();
|
||||
}
|
||||
|
||||
void minus_cst(unsigned int a) {
|
||||
if (20 - a == 5)
|
||||
bar();
|
||||
}
|
||||
|
||||
void rotate_cst (unsigned a) {
|
||||
a = (a << 10) | (a >> 22);
|
||||
if (a == 123)
|
||||
bar ();
|
||||
}
|
||||
|
||||
//===---------------------------------------------------------------------===//
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user