summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/InstCombine/fadd-fsub-factor.ll
Commit message (Collapse)AuthorAgeFilesLines
* [InstCombine] remove flop from lerp patternsSanjay Patel2019-07-261-32/+24
| | | | | | | | | | | | | | | | | (Y * (1.0 - Z)) + (X * Z) --> Y - (Y * Z) + (X * Z) --> Y + Z * (X - Y) This is part of solving: https://bugs.llvm.org/show_bug.cgi?id=42716 Factoring eliminates an instruction, so that should be a good canonicalization. The potential conversion to FMA would be handled by the backend based on target capabilities. Differential Revision: https://reviews.llvm.org/D65305 llvm-svn: 367101
* [InstCombine] add tests for lerp patterns (PR42716); NFCSanjay Patel2019-07-251-0/+170
| | | | llvm-svn: 367069
* Revert "Temporarily Revert "Add basic loop fusion pass.""Eric Christopher2019-04-171-0/+473
| | | | | | | | The reversion apparently deleted the test/Transforms directory. Will be re-reverting again. llvm-svn: 358552
* Temporarily Revert "Add basic loop fusion pass."Eric Christopher2019-04-171-473/+0
| | | | | | | | As it's causing some bot failures (and per request from kbarton). This reverts commit r358543/ab70da07286e618016e78247e4a24fcb84077fda. llvm-svn: 358546
* [InstCombine] fix/enhance fadd/fsub factorizationSanjay Patel2018-08-121-77/+53
| | | | | | | | | | | | | (X * Z) + (Y * Z) --> (X + Y) * Z (X * Z) - (Y * Z) --> (X - Y) * Z (X / Z) + (Y / Z) --> (X + Y) / Z (X / Z) - (Y / Z) --> (X - Y) / Z The existing code that implemented these folds failed to optimize vectors, and it transformed code with multiple uses when it should not have. llvm-svn: 339519
* [InstCombine] move/add tests for fadd/fsub factorization; NFCSanjay Patel2018-08-121-0/+497
llvm-svn: 339518
OpenPOWER on IntegriCloud