Lines Matching refs:DI
145 void ProfileVerifierPassT<FType, BType>::debugEntry (DetailedBlockInfo *DI) { in debugEntry() argument
146 dbgs() << "TROUBLE: Block " << DI->BB->getNameStr() << " in " in debugEntry()
147 << DI->BB->getParent()->getNameStr() << ":" in debugEntry()
148 << "BBWeight=" << format("%20.20g",DI->BBWeight) << "," in debugEntry()
149 << "inWeight=" << format("%20.20g",DI->inWeight) << "," in debugEntry()
150 << "inCount=" << DI->inCount << "," in debugEntry()
151 << "outWeight=" << format("%20.20g",DI->outWeight) << "," in debugEntry()
152 << "outCount=" << DI->outCount << "\n"; in debugEntry()
155 printDebugInfo(&(DI->BB->getParent()->getEntryBlock())); in debugEntry()
220 DetailedBlockInfo *DI) { in CheckValue() argument
222 DEBUG(debugEntry(DI)); in CheckValue()
223 dbgs() << "Block " << DI->BB->getNameStr() << " in Function " in CheckValue()
224 << DI->BB->getParent()->getNameStr() << ": "; in CheckValue()
240 DetailedBlockInfo DI; in recurseBasicBlock() local
241 DI.BB = BB; in recurseBasicBlock()
242 DI.outCount = DI.inCount = 0; in recurseBasicBlock()
243 DI.inWeight = DI.outWeight = 0; in recurseBasicBlock()
250 DI.inWeight += ReadOrAssert(PI->getEdge(0,BB)); in recurseBasicBlock()
251 DI.inCount++; in recurseBasicBlock()
255 DI.inWeight += ReadOrAssert(PI->getEdge(*bpi,BB)); in recurseBasicBlock()
256 DI.inCount++; in recurseBasicBlock()
268 DI.outWeight += w; in recurseBasicBlock()
269 DI.outCount++; in recurseBasicBlock()
273 DI.outWeight += ReadOrAssert(PI->getEdge(BB,*bbi)); in recurseBasicBlock()
274 DI.outCount++; in recurseBasicBlock()
279 DI.BBWeight = PI->getExecutionCount(BB); in recurseBasicBlock()
280 CheckValue(DI.BBWeight == ProfileInfoT<FType, BType>::MissingValue, in recurseBasicBlock()
281 "BasicBlock has missing value", &DI); in recurseBasicBlock()
282 CheckValue(DI.BBWeight < 0, in recurseBasicBlock()
283 "BasicBlock has negative value", &DI); in recurseBasicBlock()
287 if (DI.outWeight > DI.inWeight) { in recurseBasicBlock()
300 if (DI.inWeight > DI.outWeight) { in recurseBasicBlock()
317 if (DI.inCount > 0 && DI.outCount == 0) { in recurseBasicBlock()
320 CheckValue(!Equals(DI.inWeight,DI.BBWeight), in recurseBasicBlock()
321 "inWeight and BBWeight do not match", &DI); in recurseBasicBlock()
323 } else if (DI.inCount == 0 && DI.outCount > 0) { in recurseBasicBlock()
326 CheckValue(!Equals(DI.BBWeight,DI.outWeight), in recurseBasicBlock()
327 "BBWeight and outWeight do not match", &DI); in recurseBasicBlock()
330 if (DI.inWeight > DI.outWeight && !isExitReachable) in recurseBasicBlock()
331 CheckValue(!Equals(DI.inWeight,DI.outWeight), in recurseBasicBlock()
332 "inWeight and outWeight do not match", &DI); in recurseBasicBlock()
333 if (DI.inWeight < DI.outWeight && !isSetJmpTarget) in recurseBasicBlock()
334 CheckValue(!Equals(DI.inWeight,DI.outWeight), in recurseBasicBlock()
335 "inWeight and outWeight do not match", &DI); in recurseBasicBlock()