mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-14 11:32:34 +00:00
Fix debug printing spacing.
Fix missing newlines, missing and extra spaces in printed messages. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191851 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
5c86f12969
commit
7b7294c534
@ -867,14 +867,14 @@ private:
|
||||
if (isPowerOf2_32(Val) && Val <= MaxVectorWidth)
|
||||
Width = Val;
|
||||
else
|
||||
DEBUG(dbgs() << "LV: ignoring invalid width hint metadata");
|
||||
DEBUG(dbgs() << "LV: ignoring invalid width hint metadata\n");
|
||||
} else if (Hint == "unroll") {
|
||||
if (isPowerOf2_32(Val) && Val <= MaxUnrollFactor)
|
||||
Unroll = Val;
|
||||
else
|
||||
DEBUG(dbgs() << "LV: ignoring invalid unroll hint metadata");
|
||||
DEBUG(dbgs() << "LV: ignoring invalid unroll hint metadata\n");
|
||||
} else {
|
||||
DEBUG(dbgs() << "LV: ignoring unknown hint " << Hint);
|
||||
DEBUG(dbgs() << "LV: ignoring unknown hint " << Hint << '\n');
|
||||
}
|
||||
}
|
||||
};
|
||||
@ -915,7 +915,7 @@ struct LoopVectorize : public LoopPass {
|
||||
return false;
|
||||
|
||||
if (DL == NULL) {
|
||||
DEBUG(dbgs() << "LV: Not vectorizing because of missing data layout");
|
||||
DEBUG(dbgs() << "LV: Not vectorizing because of missing data layout\n");
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -966,8 +966,8 @@ struct LoopVectorize : public LoopPass {
|
||||
}
|
||||
|
||||
DEBUG(dbgs() << "LV: Found a vectorizable loop ("<< VF.Width << ") in "<<
|
||||
F->getParent()->getModuleIdentifier()<<"\n");
|
||||
DEBUG(dbgs() << "LV: Unroll Factor is " << UF << "\n");
|
||||
F->getParent()->getModuleIdentifier() << '\n');
|
||||
DEBUG(dbgs() << "LV: Unroll Factor is " << UF << '\n');
|
||||
|
||||
if (VF.Width == 1) {
|
||||
if (UF == 1)
|
||||
@ -1400,7 +1400,7 @@ InnerLoopVectorizer::addRuntimeCheck(LoopVectorizationLegality *Legal,
|
||||
Starts.push_back(Ptr);
|
||||
Ends.push_back(Ptr);
|
||||
} else {
|
||||
DEBUG(dbgs() << "LV: Adding RT check for range:" << *Ptr <<"\n");
|
||||
DEBUG(dbgs() << "LV: Adding RT check for range:" << *Ptr << '\n');
|
||||
|
||||
Value *Start = Exp.expandCodeFor(PtrRtCheck->Starts[i], PtrArithTy, Loc);
|
||||
Value *End = Exp.expandCodeFor(PtrRtCheck->Ends[i], PtrArithTy, Loc);
|
||||
@ -2745,7 +2745,7 @@ bool LoopVectorizationLegality::canVectorize() {
|
||||
// We need to have a loop header.
|
||||
BasicBlock *Latch = TheLoop->getLoopLatch();
|
||||
DEBUG(dbgs() << "LV: Found a loop: " <<
|
||||
TheLoop->getHeader()->getName() << "\n");
|
||||
TheLoop->getHeader()->getName() << '\n');
|
||||
|
||||
// ScalarEvolution needs to be able to find the exit count.
|
||||
const SCEV *ExitCount = SE->getBackedgeTakenCount(TheLoop);
|
||||
@ -2815,7 +2815,7 @@ static bool hasOutsideLoopUser(const Loop *TheLoop, Instruction *Inst,
|
||||
Instruction *U = cast<Instruction>(*I);
|
||||
// This user may be a reduction exit value.
|
||||
if (!TheLoop->contains(U)) {
|
||||
DEBUG(dbgs() << "LV: Found an outside user for : "<< *U << "\n");
|
||||
DEBUG(dbgs() << "LV: Found an outside user for : " << *U << '\n');
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@ -2953,7 +2953,7 @@ bool LoopVectorizationLegality::canVectorizeInstrs() {
|
||||
// Check that the instruction return type is vectorizable.
|
||||
if (!VectorType::isValidElementType(it->getType()) &&
|
||||
!it->getType()->isVoidTy()) {
|
||||
DEBUG(dbgs() << "LV: Found unvectorizable type." << "\n");
|
||||
DEBUG(dbgs() << "LV: Found unvectorizable type.\n");
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -3158,7 +3158,7 @@ bool AccessAnalysis::canCheckPtrAtRT(
|
||||
|
||||
RtCheck.insert(SE, TheLoop, Ptr, IsWrite, DepId);
|
||||
|
||||
DEBUG(dbgs() << "LV: Found a runtime check ptr:" << *Ptr <<"\n");
|
||||
DEBUG(dbgs() << "LV: Found a runtime check ptr:" << *Ptr << '\n');
|
||||
} else {
|
||||
CanDoRT = false;
|
||||
}
|
||||
@ -3223,7 +3223,7 @@ void AccessAnalysis::processMemAccesses(bool UseDeferred) {
|
||||
!isa<Argument>(UnderlyingObj)) &&
|
||||
!isIdentifiedObject(UnderlyingObj))) {
|
||||
DEBUG(dbgs() << "LV: Found an unidentified " <<
|
||||
(IsWrite ? "write" : "read" ) << " ptr:" << *UnderlyingObj <<
|
||||
(IsWrite ? "write" : "read" ) << " ptr: " << *UnderlyingObj <<
|
||||
"\n");
|
||||
IsRTCheckNeeded = (IsRTCheckNeeded ||
|
||||
!isIdentifiedObject(UnderlyingObj) ||
|
||||
@ -3567,7 +3567,7 @@ bool MemoryDepChecker::isDependent(const MemAccessInfo &A, unsigned AIdx,
|
||||
if (Val == 0) {
|
||||
if (ATy == BTy)
|
||||
return false;
|
||||
DEBUG(dbgs() << "LV: Zero dependence difference but different types");
|
||||
DEBUG(dbgs() << "LV: Zero dependence difference but different types\n");
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -3576,7 +3576,7 @@ bool MemoryDepChecker::isDependent(const MemAccessInfo &A, unsigned AIdx,
|
||||
// Positive distance bigger than max vectorization factor.
|
||||
if (ATy != BTy) {
|
||||
DEBUG(dbgs() <<
|
||||
"LV: ReadWrite-Write positive dependency with different types");
|
||||
"LV: ReadWrite-Write positive dependency with different types\n");
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -3593,7 +3593,7 @@ bool MemoryDepChecker::isDependent(const MemAccessInfo &A, unsigned AIdx,
|
||||
2*TypeByteSize > MaxSafeDepDistBytes ||
|
||||
Distance < TypeByteSize * ForcedUnroll * ForcedFactor) {
|
||||
DEBUG(dbgs() << "LV: Failure because of Positive distance "
|
||||
<< Val.getSExtValue() << "\n");
|
||||
<< Val.getSExtValue() << '\n');
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -3606,7 +3606,7 @@ bool MemoryDepChecker::isDependent(const MemAccessInfo &A, unsigned AIdx,
|
||||
return true;
|
||||
|
||||
DEBUG(dbgs() << "LV: Positive distance " << Val.getSExtValue() <<
|
||||
" with max VF=" << MaxSafeDepDistBytes/TypeByteSize << "\n");
|
||||
" with max VF = " << MaxSafeDepDistBytes / TypeByteSize << '\n');
|
||||
|
||||
return false;
|
||||
}
|
||||
@ -3833,7 +3833,7 @@ bool LoopVectorizationLegality::canVectorizeMemory() {
|
||||
MaxSafeDepDistBytes = DepChecker.getMaxSafeDepDistBytes();
|
||||
}
|
||||
|
||||
DEBUG(dbgs() << "LV: We "<< (NeedRTCheck ? "" : "don't") <<
|
||||
DEBUG(dbgs() << "LV: We" << (NeedRTCheck ? "" : " don't") <<
|
||||
" need a runtime memory check.\n");
|
||||
|
||||
return CanVecMem;
|
||||
@ -4209,7 +4209,7 @@ LoopVectorizationCostModel::selectVectorizationFactor(bool OptForSize,
|
||||
|
||||
// Find the trip count.
|
||||
unsigned TC = SE->getSmallConstantTripCount(TheLoop, TheLoop->getLoopLatch());
|
||||
DEBUG(dbgs() << "LV: Found trip count:"<<TC<<"\n");
|
||||
DEBUG(dbgs() << "LV: Found trip count: " << TC << '\n');
|
||||
|
||||
unsigned WidestType = getWidestType();
|
||||
unsigned WidestRegister = TTI.getRegisterBitWidth(true);
|
||||
@ -4220,7 +4220,8 @@ LoopVectorizationCostModel::selectVectorizationFactor(bool OptForSize,
|
||||
WidestRegister : MaxSafeDepDist);
|
||||
unsigned MaxVectorSize = WidestRegister / WidestType;
|
||||
DEBUG(dbgs() << "LV: The Widest type: " << WidestType << " bits.\n");
|
||||
DEBUG(dbgs() << "LV: The Widest register is:" << WidestRegister << "bits.\n");
|
||||
DEBUG(dbgs() << "LV: The Widest register is: "
|
||||
<< WidestRegister << " bits.\n");
|
||||
|
||||
if (MaxVectorSize == 0) {
|
||||
DEBUG(dbgs() << "LV: The target has no vector registers.\n");
|
||||
@ -4256,7 +4257,7 @@ LoopVectorizationCostModel::selectVectorizationFactor(bool OptForSize,
|
||||
|
||||
if (UserVF != 0) {
|
||||
assert(isPowerOf2_32(UserVF) && "VF needs to be a power of two");
|
||||
DEBUG(dbgs() << "LV: Using user VF "<<UserVF<<".\n");
|
||||
DEBUG(dbgs() << "LV: Using user VF " << UserVF << ".\n");
|
||||
|
||||
Factor.Width = UserVF;
|
||||
return Factor;
|
||||
@ -4264,13 +4265,13 @@ LoopVectorizationCostModel::selectVectorizationFactor(bool OptForSize,
|
||||
|
||||
float Cost = expectedCost(1);
|
||||
unsigned Width = 1;
|
||||
DEBUG(dbgs() << "LV: Scalar loop costs: "<< (int)Cost << ".\n");
|
||||
DEBUG(dbgs() << "LV: Scalar loop costs: " << (int)Cost << ".\n");
|
||||
for (unsigned i=2; i <= VF; i*=2) {
|
||||
// Notice that the vector loop needs to be executed less times, so
|
||||
// we need to divide the cost of the vector loops by the width of
|
||||
// the vector elements.
|
||||
float VectorCost = expectedCost(i) / (float)i;
|
||||
DEBUG(dbgs() << "LV: Vector loop of width "<< i << " costs: " <<
|
||||
DEBUG(dbgs() << "LV: Vector loop of width " << i << " costs: " <<
|
||||
(int)VectorCost << ".\n");
|
||||
if (VectorCost < Cost) {
|
||||
Cost = VectorCost;
|
||||
@ -4407,7 +4408,7 @@ LoopVectorizationCostModel::selectUnrollFactor(bool OptForSize,
|
||||
}
|
||||
|
||||
if (HasReductions) {
|
||||
DEBUG(dbgs() << "LV: Unrolling because of reductions. \n");
|
||||
DEBUG(dbgs() << "LV: Unrolling because of reductions.\n");
|
||||
return UF;
|
||||
}
|
||||
|
||||
@ -4415,14 +4416,14 @@ LoopVectorizationCostModel::selectUnrollFactor(bool OptForSize,
|
||||
// We assume that the cost overhead is 1 and we use the cost model
|
||||
// to estimate the cost of the loop and unroll until the cost of the
|
||||
// loop overhead is about 5% of the cost of the loop.
|
||||
DEBUG(dbgs() << "LV: Loop cost is "<< LoopCost <<" \n");
|
||||
DEBUG(dbgs() << "LV: Loop cost is " << LoopCost << '\n');
|
||||
if (LoopCost < SmallLoopCost) {
|
||||
DEBUG(dbgs() << "LV: Unrolling to reduce branch cost. \n");
|
||||
DEBUG(dbgs() << "LV: Unrolling to reduce branch cost.\n");
|
||||
unsigned NewUF = SmallLoopCost / (LoopCost + 1);
|
||||
return std::min(NewUF, UF);
|
||||
}
|
||||
|
||||
DEBUG(dbgs() << "LV: Not Unrolling. \n");
|
||||
DEBUG(dbgs() << "LV: Not Unrolling.\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
@ -4523,16 +4524,16 @@ LoopVectorizationCostModel::calculateRegisterUsage() {
|
||||
MaxUsage = std::max(MaxUsage, OpenIntervals.size());
|
||||
|
||||
DEBUG(dbgs() << "LV(REG): At #" << i << " Interval # " <<
|
||||
OpenIntervals.size() <<"\n");
|
||||
OpenIntervals.size() << '\n');
|
||||
|
||||
// Add the current instruction to the list of open intervals.
|
||||
OpenIntervals.insert(I);
|
||||
}
|
||||
|
||||
unsigned Invariant = LoopInvariants.size();
|
||||
DEBUG(dbgs() << "LV(REG): Found max usage: " << MaxUsage << " \n");
|
||||
DEBUG(dbgs() << "LV(REG): Found invariant usage: " << Invariant << " \n");
|
||||
DEBUG(dbgs() << "LV(REG): LoopSize: " << R.NumInstructions << " \n");
|
||||
DEBUG(dbgs() << "LV(REG): Found max usage: " << MaxUsage << '\n');
|
||||
DEBUG(dbgs() << "LV(REG): Found invariant usage: " << Invariant << '\n');
|
||||
DEBUG(dbgs() << "LV(REG): LoopSize: " << R.NumInstructions << '\n');
|
||||
|
||||
R.LoopInvariantRegs = Invariant;
|
||||
R.MaxLocalUsers = MaxUsage;
|
||||
@ -4556,8 +4557,8 @@ unsigned LoopVectorizationCostModel::expectedCost(unsigned VF) {
|
||||
|
||||
unsigned C = getInstructionCost(it, VF);
|
||||
BlockCost += C;
|
||||
DEBUG(dbgs() << "LV: Found an estimated cost of "<< C <<" for VF " <<
|
||||
VF << " For instruction: "<< *it << "\n");
|
||||
DEBUG(dbgs() << "LV: Found an estimated cost of " << C << " for VF " <<
|
||||
VF << " For instruction: " << *it << '\n');
|
||||
}
|
||||
|
||||
// We assume that if-converted blocks have a 50% chance of being executed.
|
||||
|
Loading…
Reference in New Issue
Block a user