reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

tools/polly/lib/CodeGen/PerfMonitor.cpp
   27     FunctionType *Ty = FunctionType::get(Builder.getInt32Ty(),
   28                                          {Builder.getInt8PtrTy()}, false);
   47   StructType *ST = StructType::get(Builder.getInt32Ty(), Fn->getType(),
   48                                    Builder.getInt8PtrTy());
   51       ConstantStruct::get(ST, Builder.getInt32(10), Fn,
   52                           ConstantPointerNull::get(Builder.getInt8PtrTy())));
   96   TryRegisterGlobal(M, (varname + "_cycles").c_str(), Builder.getInt64(0),
   99   TryRegisterGlobal(M, (varname + "_trip_count").c_str(), Builder.getInt64(0),
  104   TryRegisterGlobal(M, "__polly_perf_cycles_total_start", Builder.getInt64(0),
  107   TryRegisterGlobal(M, "__polly_perf_initialized", Builder.getInt1(0),
  110   TryRegisterGlobal(M, "__polly_perf_cycles_in_scops", Builder.getInt64(0),
  113   TryRegisterGlobal(M, "__polly_perf_cycles_in_scop_start", Builder.getInt64(0),
  126   FunctionType *Ty = FunctionType::get(Builder.getVoidTy(), {}, false);
  130   Builder.SetInsertPoint(FinalStartBB);
  134         Builder, "Polly runtime information generation not supported\n");
  135     Builder.CreateRetVoid();
  143       Builder.CreateExtractValue(Builder.CreateCall(RDTSCPFn), {0});
  143       Builder.CreateExtractValue(Builder.CreateCall(RDTSCPFn), {0});
  144   Value *CyclesStart = Builder.CreateLoad(CyclesTotalStartPtr, true);
  145   Value *CyclesTotal = Builder.CreateSub(CurrentCycles, CyclesStart);
  146   Value *CyclesInScops = Builder.CreateLoad(CyclesInScopsPtr, true);
  149   RuntimeDebugBuilder::createCPUPrinter(Builder, "Polly runtime information\n");
  150   RuntimeDebugBuilder::createCPUPrinter(Builder, "-------------------------\n");
  151   RuntimeDebugBuilder::createCPUPrinter(Builder, "Total: ", CyclesTotal, "\n");
  152   RuntimeDebugBuilder::createCPUPrinter(Builder, "Scops: ", CyclesInScops,
  156   RuntimeDebugBuilder::createCPUPrinter(Builder, "\n");
  157   RuntimeDebugBuilder::createCPUPrinter(Builder, "Per SCoP information\n");
  158   RuntimeDebugBuilder::createCPUPrinter(Builder, "--------------------\n");
  161       Builder, "scop function, "
  163   ReturnFromFinal = Builder.CreateRetVoid();
  176   Builder.SetInsertPoint(FinalStartBB);
  180       Builder.CreateLoad(this->CyclesInCurrentScopPtr, true);
  183       Builder.CreateLoad(this->TripCountForCurrentScopPtr, true);
  190       Builder, S.getFunction().getName(), ", ", EntryName, ", ", ExitName, ", ",
  193   ReturnFromFinal = Builder.CreateRetVoid();
  217   FunctionType *Ty = FunctionType::get(Builder.getVoidTy(), {}, false);
  224   Builder.SetInsertPoint(Start);
  235   Value *HasRunBefore = Builder.CreateLoad(AlreadyInitializedPtr);
  236   Builder.CreateCondBr(HasRunBefore, EarlyReturn, InitBB);
  237   Builder.SetInsertPoint(EarlyReturn);
  238   Builder.CreateRetVoid();
  241   Builder.SetInsertPoint(InitBB);
  242   Value *True = Builder.getInt1(true);
  243   Builder.CreateStore(True, AlreadyInitializedPtr);
  247       Builder.CreatePointerCast(FinalReporting, Builder.getInt8PtrTy());
  247       Builder.CreatePointerCast(FinalReporting, Builder.getInt8PtrTy());
  249   Builder.CreateCall(AtExitFn, {FinalReportingPtr});
  255         Builder.CreateExtractValue(Builder.CreateCall(RDTSCPFn), {0});
  255         Builder.CreateExtractValue(Builder.CreateCall(RDTSCPFn), {0});
  256     Builder.CreateStore(CurrentCycles, CyclesTotalStartPtr, true);
  258   Builder.CreateRetVoid();
  267   Builder.SetInsertPoint(InsertBefore);
  270       Builder.CreateExtractValue(Builder.CreateCall(RDTSCPFn), {0});
  270       Builder.CreateExtractValue(Builder.CreateCall(RDTSCPFn), {0});
  271   Builder.CreateStore(CurrentCycles, CyclesInScopStartPtr, true);
  278   Builder.SetInsertPoint(InsertBefore);
  280   LoadInst *CyclesStart = Builder.CreateLoad(CyclesInScopStartPtr, true);
  282       Builder.CreateExtractValue(Builder.CreateCall(RDTSCPFn), {0});
  282       Builder.CreateExtractValue(Builder.CreateCall(RDTSCPFn), {0});
  283   Value *CyclesInScop = Builder.CreateSub(CurrentCycles, CyclesStart);
  284   Value *CyclesInScops = Builder.CreateLoad(CyclesInScopsPtr, true);
  285   CyclesInScops = Builder.CreateAdd(CyclesInScops, CyclesInScop);
  286   Builder.CreateStore(CyclesInScops, CyclesInScopsPtr, true);
  288   Value *CyclesInCurrentScop = Builder.CreateLoad(CyclesInCurrentScopPtr, true);
  289   CyclesInCurrentScop = Builder.CreateAdd(CyclesInCurrentScop, CyclesInScop);
  290   Builder.CreateStore(CyclesInCurrentScop, CyclesInCurrentScopPtr, true);
  293       Builder.CreateLoad(TripCountForCurrentScopPtr, true);
  295       Builder.CreateAdd(TripCountForCurrentScop, Builder.getInt64(1));
  295       Builder.CreateAdd(TripCountForCurrentScop, Builder.getInt64(1));
  296   Builder.CreateStore(TripCountForCurrentScop, TripCountForCurrentScopPtr,