diff options
Diffstat (limited to 'lib/Target/README.txt')
-rw-r--r-- | lib/Target/README.txt | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/lib/Target/README.txt b/lib/Target/README.txt index 5aa29782af..c6f384cd6e 100644 --- a/lib/Target/README.txt +++ b/lib/Target/README.txt @@ -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 (); +} + +//===---------------------------------------------------------------------===// + |