Sanjay Patel
af4e59949c
[InstCombine] fix undef propagation for vector urem transform (PR44186)
...
As described here:
https://bugs.llvm.org/show_bug.cgi?id=44186
The match() code safely allows undef values, but we can't safely
propagate a vector constant that contains an undef to the new
compare instruction.
2019-12-02 12:17:38 -05:00
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
Sanjay Patel
f569578373
[PatternMatch] enhance m_One() to ignore undef elements in vectors
...
llvm-svn: 325437
2018-02-17 16:00:42 +00:00
Simon Pilgrim
1889f26b94
[InstCombine] Add m_Negative pattern matching
...
Allows us to add non-uniform constant vector support for "X urem C -> X < C ? X : X - C, where C >= signbit."
llvm-svn: 324631
2018-02-08 18:36:01 +00:00
Simon Pilgrim
11a02589c1
[InstCombine] Add vector urem tests.
...
Improve coverage of InstCombiner::visitURem for vector types
llvm-svn: 324629
2018-02-08 18:10:08 +00:00
Simon Pilgrim
9f2ae7e2d1
[InstCombine][ValueTracking] Match non-uniform constant power-of-two vectors
...
Generalize existing constant matching to work with non-uniform constant vectors as well.
Differential Revision: https://reviews.llvm.org/D42818
llvm-svn: 324369
2018-02-06 18:39:23 +00:00
Simon Pilgrim
e11c64162c
Regenerate vector-urem test. NFCI.
...
llvm-svn: 324357
2018-02-06 16:10:12 +00:00
Sanjay Patel
2b1f6f4b92
[InstSimplify] vector div/rem with any zero element in divisor is undef
...
This was suggested as a DAG simplification in the review for rL297026 :
http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20170306/435253.html
...but let's start with IR since we have actual docs for IR (LangRef).
Differential Revision:
https://reviews.llvm.org/D30665
llvm-svn: 297390
2017-03-09 16:20:52 +00:00
Simon Pilgrim
b2116d9b94
[InstCombine] Add vector urem tests
...
Demonstrate missed opportunity for urem -> and combine for powerof2 or zero non-uniform constant dividers
llvm-svn: 288510
2016-12-02 17:16:21 +00:00