Eric Christopher
cee313d288
Revert "Temporarily Revert "Add basic loop fusion pass.""
...
The reversion apparently deleted the test/Transforms directory.
Will be re-reverting again.
llvm-svn: 358552
2019-04-17 04:52:47 +00:00
Eric Christopher
a863435128
Temporarily Revert "Add basic loop fusion pass."
...
As it's causing some bot failures (and per request from kbarton).
This reverts commit r358543/ab70da07286e618016e78247e4a24fcb84077fda.
llvm-svn: 358546
2019-04-17 02:12:23 +00:00
Roman Lebedev
1b7fc87020
[InstCombine] Inefficient pattern for high-bits checking 3 (PR38708)
...
Summary:
It is sometimes important to check that some newly-computed value
is non-negative and only n bits wide (where n is a variable.)
There are many ways to check that:
https://godbolt.org/z/o4RB8D
The last variant seems best?
(I'm sure there are some other variations i haven't thought of..)
The last (as far i know?) pattern, non-canonical due to the extra use.
https://godbolt.org/z/aCMsPk
https://rise4fun.com/Alive/I6f
https://bugs.llvm.org/show_bug.cgi?id=38708
Reviewers: spatel, craig.topper, RKSimon
Reviewed By: spatel
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D52062
llvm-svn: 342321
2018-09-15 12:04:13 +00:00
Roman Lebedev
d2316d756e
[NFC][InstCombine] PR38708 - inefficient pattern for high-bits checking 3.
...
The last, non-canonical variant:
https://godbolt.org/z/aCMsPk
https://rise4fun.com/Alive/I6f
It can only happen due to the extra use on the inner shift.
But here it is ok.
https://bugs.llvm.org/show_bug.cgi?id=38708
llvm-svn: 342184
2018-09-13 21:34:47 +00:00