From: Nadav Rotem Date: Mon, 29 Oct 2012 05:28:35 +0000 (+0000) Subject: Calling TLI->getNumRegisters creates a circular dependency when building LLVM using... X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=e49816076ce4214f593212a7328de664619de54b;p=oota-llvm.git 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 --- diff --git a/lib/Target/TargetTransformImpl.cpp b/lib/Target/TargetTransformImpl.cpp index d3ab1059882..d3823a65fe3 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 LT = + getTypeLegalizationCost(Tp->getContext(), TLI->getValueType(Tp)); + return LT.first; }