summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/ARM/ParallelDSP/pr43073.ll
Commit message (Collapse)AuthorAgeFilesLines
* [ARM][ParallelDSP] Change smlad insertion orderSam Parker2019-10-161-8/+8
| | | | | | | | | | Instead of inserting everything after the 'root' of the reduction, insert all instructions as close to their operands as possible. This can help reduce register pressure. Differential Revision: https://reviews.llvm.org/D67392 llvm-svn: 374981
* [ARM][ParallelDSP] SExt mul for accumulationSam Parker2019-09-041-0/+149
| | | | | | | | | | For any unpaired muls, we accumulate them as an input to the reduction. Check the type of the mul and perform a sext if the existing accumlator input type is not the same. Differential Revision: https://reviews.llvm.org/D66993 llvm-svn: 370851
* [ARM][ParallelDSP] Change search for mulsSam Parker2019-08-281-0/+145
rL369567 reverted a couple of recent changes made to ARMParallelDSP because of a miscompilation error: PR43073. The issue stemmed from an underlying bug that was caused by adding muls into a reduction before it was proved that they could be executed in parallel with another mul. Most of the changes here are from the previously reverted commits. The additional changes have been made area: 1) The Search function now doesn't insert any muls into the Reduction object. That now happens once the search has successfully finished. 2) For any muls added into the reduction but that weren't paired, we accumulate their values as an input into the smlad. Differential Revision: https://reviews.llvm.org/D66660 llvm-svn: 370171
OpenPOWER on IntegriCloud