diff options
author | Nadav Rotem <nrotem@apple.com> | 2012-10-29 05:28:35 +0000 |
---|---|---|
committer | Nadav Rotem <nrotem@apple.com> | 2012-10-29 05:28:35 +0000 |
commit | e49816076ce4214f593212a7328de664619de54b (patch) | |
tree | 2a03f1b628a833a64ac25fdeba31ee3983b9c331 | |
parent | 8a5ec5d41590118c5d2d5a86213bef0a80255b2e (diff) |
Calling TLI->getNumRegisters creates a circular dependency when building LLVM using cmake.
Get the number of registers by calling getTypeLegalizationCost.
PR14199.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166911 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Target/TargetTransformImpl.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/Target/TargetTransformImpl.cpp b/lib/Target/TargetTransformImpl.cpp index d3ab105988..d3823a65fe 100644 --- a/lib/Target/TargetTransformImpl.cpp +++ b/lib/Target/TargetTransformImpl.cpp @@ -270,7 +270,7 @@ unsigned VectorTargetTransformImpl::getCmpSelInstrCost(unsigned Opcode, return getScalarizationOverhead(ValTy, true, false) + Num * Cost; } - // Unknown scalar opcode. + // Unknown scalar opcode. return 1; } @@ -300,6 +300,8 @@ VectorTargetTransformImpl::getMemoryOpCost(unsigned Opcode, Type *Src, unsigned VectorTargetTransformImpl::getNumberOfParts(Type *Tp) const { - return TLI->getNumRegisters(Tp->getContext(), TLI->getValueType(Tp)); + std::pair<unsigned, EVT> LT = + getTypeLegalizationCost(Tp->getContext(), TLI->getValueType(Tp)); + return LT.first; } |