llvm-6502/lib/Transforms
Jingyue Wu 020938f3ee [TTI] BasicTTIImpl assumes no vector registers
Summary:
Following the discussion on r241884, it's more reasonable to assume that a
target has no vector registers by default instead of letting every such
target overrides getNumberOfRegisters.

Therefore, this patch modifies BasicTTIImpl::getNumberOfRegisters to
return 0 when Vector is true, and partially reverts r241884 which
modifies NVPTXTTIImpl::getNumberOfRegisters.

It also fixes a performance bug in LoopVectorizer. Even if a target has
no vector registers, vectorization may still help ILP. So, we need both
checks to be false before disabling loop vectorization all together.

Reviewers: hfinkel

Subscribers: llvm-commits, jholewinski

Differential Revision: http://reviews.llvm.org/D11108

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@241942 91177308-0d34-0410-b5e6-96231b3b80d8
2015-07-10 21:14:54 +00:00
..
Hello Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
InstCombine [InstSimplify] Fold away ord/uno fcmps when nnan is present. 2015-07-10 14:02:02 +00:00
Instrumentation Revert the new EH instructions 2015-07-10 07:15:17 +00:00
IPO Disable loop re-rotation for -Oz (patch by Andrey Turetsky) 2015-07-10 10:37:09 +00:00
ObjCARC Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Scalar [LoopDist/LoopVer] Move LoopVersioning to a new module, NFC 2015-07-10 18:55:13 +00:00
Utils [LoopDist/LoopVer] Move LoopVersioning to a new module, NFC 2015-07-10 18:55:13 +00:00
Vectorize [TTI] BasicTTIImpl assumes no vector registers 2015-07-10 21:14:54 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile