OSDN Git Service

The cost of splitting a large vector instruction is not being taken into account...
authorGraham Yiu <gyiu@ca.ibm.com>
Thu, 19 Oct 2017 18:16:31 +0000 (18:16 +0000)
committerGraham Yiu <gyiu@ca.ibm.com>
Thu, 19 Oct 2017 18:16:31 +0000 (18:16 +0000)
commit1f93c854d8e6ffbafaa165ee7c99133b8a3af953
treefe82a85ee48d5d8139b11d1a128824b92a07f561
parentcb5868c4b840781d846b1d1c09d8aa0fa15cc2dc
The cost of splitting a large vector instruction is not being taken into account by the getUserCost function. This was leading to some loops being over unrolled. The cost of a vector instruction is now being multiplied by the cost of the type legalization. This will return a more accurate cost.

Committing on behalf on Brad Nemanich (brad.nemanich@ibm.com)

Differential Revision: https://reviews.llvm.org/D38961

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@316174 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/PowerPC/PPCTargetTransformInfo.cpp
lib/Target/PowerPC/PPCTargetTransformInfo.h
test/Transforms/LoopUnroll/PowerPC/p8-unrolling-legalize-vectors.ll [new file with mode: 0644]