Simon Moll
d871ef4e6a
[instcombine] remove fsub to fneg hacks; only emit fneg
...
Summary: Rewrite the fsub-0.0 idiom to fneg and always emit fneg for fp
negation. This also extends the scalarization cost in instcombine for unary
operators to result in the same IR rewrites for fneg as for the idiom.
Reviewed By: cameron.mcinally
Differential Revision: https://reviews.llvm.org/D75467
2020-03-10 16:57:02 +01:00
Cameron McInally
17fdf1d383
[NFC][InstCombine] Add unary fneg tests to operand-complexity.ll.
...
llvm-svn: 361311
2019-05-21 21:07:46 +00: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
Chen Zheng
33a61d719c
fix comment typo - NFC
...
llvm-svn: 350587
2019-01-08 00:40:01 +00:00
Chen Zheng
4952e668f8
[InstCombine] canonicalize MUL with NEG operand
...
-X * Y --> -(X * Y)
X * -Y --> -(X * Y)
Differential Revision: https://reviews.llvm.org/D55961
llvm-svn: 350185
2019-01-01 01:09:20 +00:00
Sanjay Patel
47579b21e2
[InstCombine] fix complexity canonicalization with fake unary vector ops
...
This is a preliminary step to avoid regressions when we add
an actual 'fneg' instruction to IR. See D52934 and D53205.
llvm-svn: 344458
2018-10-13 16:15:37 +00:00
Sanjay Patel
3d22fbd785
[InstCombine] add tests for operand complexity canonicalization; NFC
...
The tests with undef vector elements demonstrate a hole in
the current pattern matching.
llvm-svn: 344456
2018-10-13 16:02:47 +00:00