summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/InstCombine/trunc-binop-ext.ll
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Temporarily Revert "Add basic loop fusion pass.""Eric Christopher2019-04-171-0/+317
| | | | | | | | 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-317/+0
| | | | | | | | As it's causing some bot failures (and per request from kbarton). This reverts commit r358543/ab70da07286e618016e78247e4a24fcb84077fda. llvm-svn: 358546
* [InstCombine] include 'sub' in the list of narrow-able binopsSanjay Patel2017-11-161-12/+8
| | | | | | | | | | | | | | | | | | | | // trunc (binop X, C) --> binop (trunc X, C') // trunc (binop (ext X), Y) --> binop X, (trunc Y) I'm grouping sub with the other binops because that makes the code simpler and the transforms are valid: https://rise4fun.com/Alive/UeF ...so even though we don't expect a sub with constant Op1 or any of the other opcodes with constant Op0 due to canonicalization rules, we might as well handle those situations if non-canonical code somehow reaches this point (it should just make instcombine more efficient in reaching its end goal). This should solve the problem that later manifests in the vectorizers in PR35295: https://bugs.llvm.org/show_bug.cgi?id=35295 llvm-svn: 318404
* [InstCombine] add sub narrowing tests; NFCSanjay Patel2017-11-151-0/+56
| | | | | | | This might be the root cause of PR35295: https://bugs.llvm.org/show_bug.cgi?id=35295 llvm-svn: 318342
* [InstCombine] trunc (binop X, C) --> binop (trunc X, C')Sanjay Patel2017-11-151-61/+41
| | | | | | | | | Note that one-use and shouldChangeType() are checked ahead of the switch. Without the narrowing folds, we can produce inferior vector code as shown in PR35299: https://bugs.llvm.org/show_bug.cgi?id=35299 llvm-svn: 318323
* [InstCombine] add tests for missing trunc folds; NFCSanjay Patel2017-11-151-0/+285
As noted in PR35299: https://bugs.llvm.org/show_bug.cgi?id=35299 ...this is likely the root cause for a mis-vectorization transform. llvm-svn: 318319
OpenPOWER on IntegriCloud