summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/InstCombine/adjust-for-minmax.ll
Commit message (Collapse)AuthorAgeFilesLines
* [InstCombine][NFC] Autogenerate checks in adjust-for-minmax.llRoman Lebedev2019-08-141-82/+82
| | | | | | Being affected by WIP patch. llvm-svn: 368807
* Revert "Temporarily Revert "Add basic loop fusion pass.""Eric Christopher2019-04-171-0/+486
| | | | | | | | 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-486/+0
| | | | | | | | As it's causing some bot failures (and per request from kbarton). This reverts commit r358543/ab70da07286e618016e78247e4a24fcb84077fda. llvm-svn: 358546
* [InstCombine] canonicalize min/max constant to select's false valueSanjay Patel2016-11-211-74/+74
| | | | | | | | | | | | | | | | | | | | This is a first step towards canonicalization and improved folding/codegen for integer min/max as discussed here: http://lists.llvm.org/pipermail/llvm-dev/2016-November/106868.html Here, we're just matching the simplest min/max patterns and adjusting the icmp predicate while swapping the select operands. I've included FIXME tests in test/Transforms/InstCombine/select_meta.ll so it's easier to see how this might be extended (corresponds to the TODO comment in the code). That's also why I'm using matchSelectPattern() rather than a simpler check; once the backend is patched, we can just remove some of the restrictions to allow the obfuscated min/max patterns in the FIXME tests to be matched. Differential Revision: https://reviews.llvm.org/D26525 llvm-svn: 287585
* [InstCombine] allow splat vector folds in adjustMinMax() (retry r285732)Sanjay Patel2016-11-071-48/+45
| | | | | | | | This was reverted at r285866 because there was a crash handling a scalar select of vectors. I added a check for that pattern and a test case based on the example provided in the post-commit thread for r285732. llvm-svn: 286113
* Revert "[InstCombine] allow splat vector folds in adjustMinMax()"Greg Bedwell2016-11-021-32/+48
| | | | | | | | | | | | | | | | | This reverts commit r285732. This change introduced a new assertion failure in the following testcase at -O2: typedef short __v8hi __attribute__((__vector_size__(16))); __v8hi foo(__v8hi &V1, __v8hi &V2, unsigned mask) { __v8hi Result = V1; if (mask & 0x80) Result[0] = V2[0]; return Result; } llvm-svn: 285866
* [InstCombine] allow splat vector folds in adjustMinMax()Sanjay Patel2016-11-011-48/+32
| | | | llvm-svn: 285732
* [InstCombine] add vector tests for ext+adjust min/maxSanjay Patel2016-11-011-4/+116
| | | | llvm-svn: 285713
* [InstCombine] move/fix tests for adjusted min/maxSanjay Patel2016-11-011-0/+104
| | | | | | | I think the former 'test50' had a typo making it functionally equivalent to the former 'test49'; changed the predicate to provide more coverage. llvm-svn: 285706
* [InstCombine] fix tests for adjusted min/maxSanjay Patel2016-11-011-0/+273
1. Delete identical tests 2. Rename tests to reflect actual functionality 3. Add comments 4. Add unsigned variants 5. Add vector variants with FIXME comments 6. Rename test file llvm-svn: 285699
OpenPOWER on IntegriCloud