diff options
author | James Molloy <james.molloy@arm.com> | 2014-08-21 00:02:51 +0000 |
---|---|---|
committer | James Molloy <james.molloy@arm.com> | 2014-08-21 00:02:51 +0000 |
commit | a88896b5c042399a83e434cc39cd3cc098737381 (patch) | |
tree | 6e938350efe1dbff2097d6df1c8c02498572ba8e /llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp | |
parent | 82c995d4507c71e23651c6ffd932427555a41b2d (diff) | |
download | bcm5719-llvm-a88896b5c042399a83e434cc39cd3cc098737381.tar.gz bcm5719-llvm-a88896b5c042399a83e434cc39cd3cc098737381.zip |
[LoopVectorize] Up the maximum unroll factor to 4 for AArch64
Only for Cortex-A57 and Cyclone for now, where it has shown wins.
llvm-svn: 216141
Diffstat (limited to 'llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp')
-rw-r--r-- | llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp b/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp index 2058dd06b21..24cb129b0b7 100644 --- a/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp +++ b/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp @@ -104,7 +104,7 @@ public: return 64; } - unsigned getMaximumUnrollFactor() const override { return 2; } + unsigned getMaximumUnrollFactor() const override; unsigned getCastInstrCost(unsigned Opcode, Type *Dst, Type *Src) const override; @@ -513,3 +513,9 @@ unsigned AArch64TTI::getCostOfKeepingLiveOverCall(ArrayRef<Type*> Tys) const { } return Cost; } + +unsigned AArch64TTI::getMaximumUnrollFactor() const { + if (ST->isCortexA57() || ST->isCyclone()) + return 4; + return 2; +} |