summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/InstCombine/fpcast.ll
Commit message (Collapse)AuthorAgeFilesLines
* [InstCombine] Update fptrunc (fneg x)) -> (fneg (fptrunc x) for unary FNegCameron McInally2019-06-111-9/+6
| | | | | | Differential Revision: https://reviews.llvm.org/D62629 llvm-svn: 363080
* [NFC][InstCombine] Add unary FNeg tests to fpcast.ll and fpextend.llCameron McInally2019-05-291-0/+36
| | | | llvm-svn: 361973
* Revert "Temporarily Revert "Add basic loop fusion pass.""Eric Christopher2019-04-171-0/+125
| | | | | | | | 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-125/+0
| | | | | | | | As it's causing some bot failures (and per request from kbarton). This reverts commit r358543/ab70da07286e618016e78247e4a24fcb84077fda. llvm-svn: 358546
* [FPEnv] Last BinaryOperator::isFNeg(...) to m_FNeg(...) changesCameron McInally2018-10-251-2/+2
| | | | | | | | | Replacing BinaryOperator::isFNeg(...) to avoid regressions when we separate FNeg from the FSub IR instruction. Differential Revision: https://reviews.llvm.org/D53650 llvm-svn: 345295
* [InstCombine] add test for fptrunc with vector with undef elt; NFCSanjay Patel2018-10-241-2/+13
| | | | | | This should be fixed with D53650. llvm-svn: 345206
* [InstCombine] don't change the size of a select if it would mismatch its ↵Sanjay Patel2018-05-311-2/+2
| | | | | | | | | | | | | | | | | | | | | condition operands' sizes Don't always: cast (select (cmp x, y), z, C) --> select (cmp x, y), (cast z), C' This is something that came up as far back as D26556, and I lost track of it. I suspect that this transform is part of the underlying problem that is inspiring some of the recent proposals that seek to match larger patterns that include a cast op. Even if that's not true, this transform causes problems for codegen (particularly with vector types). A transform to actively match the size of cmp and select operand sizes should follow. This patch just removes the harmful canonicalization in the other direction. Differential Revision: https://reviews.llvm.org/D47163 llvm-svn: 333611
* [InstCombine] regenerate checks; NFCSanjay Patel2018-05-211-35/+54
| | | | llvm-svn: 332894
* [IR] fptrunc-of-fptrunc isn't an EliminableCastPair.Ahmed Bougacha2015-05-291-0/+8
| | | | | | | Double and single rounding can produce different results. This is the IR counterpart to r228911. llvm-svn: 238531
* Fix another infinite loop in InstCombineSteven Wu2014-12-121-0/+12
| | | | | | | | | | | | | | | Summary: InstCombine infinite-loops for the testcase added It is because InstCombine is generating instructions that can be optimized by itself. Fix by not optimizing frem if the optimized type is the same as original type. rdar://problem/19150820 Reviewers: majnemer Differential Revision: http://reviews.llvm.org/D6634 llvm-svn: 224097
* InstCombine: Fix another infinite loop caused by visitFPTruncDavid Majnemer2014-11-181-0/+10
| | | | | | | | | | We would attempt to replace an frem's operand with the same operand. This would cause InstCombine to think real work was done, causing InstCombine to enter an infinite loop. This fixes the second part of PR21576. llvm-svn: 222265
* Revert "Revert r222040 because of bot failure."David Majnemer2014-11-181-0/+10
| | | | | | | This reverts commit r222203, reverting r222040 didn't end up turning the bot green. llvm-svn: 222261
* Revert r222040 because of bot failure.Manman Ren2014-11-181-10/+0
| | | | | | | http://lab.llvm.org:8080/green/job/clang-Rlto_master/298/ Hopefully, bot will be green. llvm-svn: 222203
* InstCombine: Fix infinite loop caused by visitFPTruncDavid Majnemer2014-11-141-0/+10
| | | | | | | | | | | We would attempt to replace a fptrunc of an frem with an identical fptrunc. This would cause the new fptrunc to be added to the worklist. Of course, this results in an infinite loop because we will keep visiting the newly created fptruncs. This fixes PR21576. llvm-svn: 222040
* Fix more instances of dropped fast math flags when optimizing FADD ↵Owen Anderson2014-01-181-0/+9
| | | | | | instructions. All found by inspection (aka grep). llvm-svn: 199528
* Pull fptrunc's upwards through selects when one of the select's selectands ↵Owen Anderson2013-10-031-0/+12
| | | | | | was a constant. This has a number of benefits, including producing small immediates (easier to materialize, smaller constant pools) as well as being more likely to allow the fptrunc to fuse with a preceding instruction (truncating selects are unusual). llvm-svn: 191929
* Teach InstCombine to hoist FABS and FNEG through FPTRUNC instructions. The ↵Owen Anderson2013-01-101-0/+19
| | | | | | application of these operations commutes with the truncation, so we should prefer to do them in the smallest size we can, to save register space, use smaller constant pool entries, etc. llvm-svn: 172117
* Convert the rest of the InstCombine tests from notcast to FileCheck.Edward O'Callaghan2009-10-121-3/+3
| | | | llvm-svn: 83828
* Eliminate more uses of llvm-as and llvm-dis.Dan Gohman2009-09-091-2/+2
| | | | llvm-svn: 81293
* Use opt -S instead of piping bitcode output through llvm-dis.Dan Gohman2009-09-081-2/+2
| | | | llvm-svn: 81257
* Remove llvm-upgrade and update tests.Tanya Lattner2008-03-091-8/+9
| | | | llvm-svn: 48103
* This test needs to use egrep.Reid Spencer2007-04-141-1/+1
| | | | llvm-svn: 36012
* Regression is gone, don't try to find it on clean target.Reid Spencer2007-01-171-0/+14
llvm-svn: 33296
OpenPOWER on IntegriCloud