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

References

include/llvm/IR/ModuleSummaryIndex.h
  554   static FunctionSummary
  555   makeDummyFunctionSummary(std::vector<FunctionSummary::EdgeTy> Edges) {
  571   static FunctionSummary ExternalNode;
  695   static FunctionSummary::VFuncId getEmptyKey() { return {0, uint64_t(-1)}; }
  697   static FunctionSummary::VFuncId getTombstoneKey() {
  701   static bool isEqual(FunctionSummary::VFuncId L, FunctionSummary::VFuncId R) {
  701   static bool isEqual(FunctionSummary::VFuncId L, FunctionSummary::VFuncId R) {
  705   static unsigned getHashValue(FunctionSummary::VFuncId I) { return I.GUID; }
  709   static FunctionSummary::ConstVCall getEmptyKey() {
  713   static FunctionSummary::ConstVCall getTombstoneKey() {
  717   static bool isEqual(FunctionSummary::ConstVCall L,
  718                       FunctionSummary::ConstVCall R) {
  719     return DenseMapInfo<FunctionSummary::VFuncId>::isEqual(L.VFunc, R.VFunc) &&
  723   static unsigned getHashValue(FunctionSummary::ConstVCall I) {
 1012     FunctionSummary *F =
 1013         dyn_cast<FunctionSummary>(V.getSummaryList().front().get());
 1032   FunctionSummary calculateCallGraphRoot() {
 1041           !isa<FunctionSummary>(S.second.SummaryList.front().get()))
 1046     std::vector<FunctionSummary::EdgeTy> Edges;
 1055       return FunctionSummary::makeDummyFunctionSummary({});
 1057     auto CallGraphRoot = FunctionSummary::makeDummyFunctionSummary(Edges);
 1057     auto CallGraphRoot = FunctionSummary::makeDummyFunctionSummary(Edges);
 1364   using EdgeRef = FunctionSummary::EdgeTy &;
 1366   static NodeRef valueInfoFromEdge(FunctionSummary::EdgeTy &P) {
 1370       mapped_iterator<std::vector<FunctionSummary::EdgeTy>::iterator,
 1373   using ChildEdgeIteratorType = std::vector<FunctionSummary::EdgeTy>::iterator;
 1380           FunctionSummary::ExternalNode.CallGraphEdgeList.begin(),
 1382     FunctionSummary *F =
 1383         cast<FunctionSummary>(N.getSummaryList().front()->getBaseObject());
 1390           FunctionSummary::ExternalNode.CallGraphEdgeList.end(),
 1392     FunctionSummary *F =
 1393         cast<FunctionSummary>(N.getSummaryList().front()->getBaseObject());
 1399       return FunctionSummary::ExternalNode.CallGraphEdgeList.begin();
 1401     FunctionSummary *F =
 1402         cast<FunctionSummary>(N.getSummaryList().front()->getBaseObject());
 1408       return FunctionSummary::ExternalNode.CallGraphEdgeList.end();
 1410     FunctionSummary *F =
 1411         cast<FunctionSummary>(N.getSummaryList().front()->getBaseObject());
 1422         std::make_unique<FunctionSummary>(I->calculateCallGraphRoot());
include/llvm/IR/ModuleSummaryIndexYAML.h
  142   std::vector<FunctionSummary::VFuncId> TypeTestAssumeVCalls,
  144   std::vector<FunctionSummary::ConstVCall> TypeTestAssumeConstVCalls,
  155   static void mapping(IO &io, FunctionSummary::VFuncId& id) {
  162   static void mapping(IO &io, FunctionSummary::ConstVCall& id) {
  223       Elem.SummaryList.push_back(std::make_unique<FunctionSummary>(
  239         if (auto *FSum = dyn_cast<FunctionSummary>(Sum.get())) {
  239         if (auto *FSum = dyn_cast<FunctionSummary>(Sum.get())) {
include/llvm/Support/Casting.h
   58     return To::classof(&Val);
  106     return isa_impl<To, From>::doit(*Val);
  122     return isa_impl_wrap<To, SimpleFrom,
  132     return isa_impl_cl<To,FromTy>::doit(Val);
  142   return isa_impl_wrap<X, const Y,
  172   using ret_type = To *;       // Pointer arg case, return Ty*
  176   using ret_type = const To *; // Constant pointer arg case, return const Ty*
  198   using ret_type = typename cast_retty<To, SimpleFrom>::ret_type;
  204   using ret_type = typename cast_retty_impl<To,FromTy>::ret_type;
  210       To, From, typename simplify_type<From>::SimpleType>::ret_type;
  227   static typename cast_retty<To, FromTy>::ret_type doit(const FromTy &Val) {
  228     typename cast_retty<To, FromTy>::ret_type Res2
  256 inline typename cast_retty<X, Y>::ret_type cast(Y &Val) {
  263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
  265   return cast_convert_val<X, Y*,
  337 LLVM_NODISCARD inline typename cast_retty<X, Y>::ret_type dyn_cast(Y &Val) {
  342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
  343   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  343   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  366 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
  368   return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
  368   return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
lib/Analysis/ModuleSummaryAnalysis.cpp
   63 FunctionSummary::ForceSummaryHotnessType ForceSummaryEdgesCold =
   64     FunctionSummary::FSHT_None;
   65 cl::opt<FunctionSummary::ForceSummaryHotnessType, true> FSEC(
  143                           SetVector<FunctionSummary::VFuncId> &VCalls,
  144                           SetVector<FunctionSummary::ConstVCall> &ConstVCalls) {
  162     SetVector<FunctionSummary::VFuncId> &TypeTestAssumeVCalls,
  163     SetVector<FunctionSummary::VFuncId> &TypeCheckedLoadVCalls,
  164     SetVector<FunctionSummary::ConstVCall> &TypeTestAssumeConstVCalls,
  165     SetVector<FunctionSummary::ConstVCall> &TypeCheckedLoadConstVCalls,
  257   SetVector<FunctionSummary::VFuncId> TypeTestAssumeVCalls,
  259   SetVector<FunctionSummary::ConstVCall> TypeTestAssumeConstVCalls,
  346         if (ForceSummaryEdgesCold != FunctionSummary::FSHT_None)
  453         ForceSummaryEdgesCold == FunctionSummary::FSHT_All
  463   FunctionSummary::FFlags FunFlags{
  470   auto FuncSummary = std::make_unique<FunctionSummary>(
  698             std::unique_ptr<FunctionSummary> Summary =
  699                 std::make_unique<FunctionSummary>(
  804     if (auto *FuncSummary = dyn_cast<FunctionSummary>(Summary.get())) {
  804     if (auto *FuncSummary = dyn_cast<FunctionSummary>(Summary.get())) {
lib/AsmParser/LLParser.cpp
 8070   std::vector<FunctionSummary::EdgeTy> Calls;
 8071   FunctionSummary::TypeIdInfo TypeIdInfo;
 8074   FunctionSummary::FFlags FFlags = {};
 8111   auto FS = std::make_unique<FunctionSummary>(
 8248 bool LLParser::ParseOptionalFFlags(FunctionSummary::FFlags &FFlags) {
 8304 bool LLParser::ParseOptionalCalls(std::vector<FunctionSummary::EdgeTy> &Calls) {
 8521     FunctionSummary::TypeIdInfo &TypeIdInfo) {
 8615     lltok::Kind Kind, std::vector<FunctionSummary::VFuncId> &VFuncIdList) {
 8625     FunctionSummary::VFuncId VFuncId;
 8654     std::vector<FunctionSummary::ConstVCall> &ConstVCallList) {
 8664     FunctionSummary::ConstVCall ConstVCall;
 8691 bool LLParser::ParseConstVCall(FunctionSummary::ConstVCall &ConstVCall,
 8710 bool LLParser::ParseVFuncId(FunctionSummary::VFuncId &VFuncId,
lib/AsmParser/LLParser.h
  356     bool ParseOptionalFFlags(FunctionSummary::FFlags &FFlags);
  357     bool ParseOptionalCalls(std::vector<FunctionSummary::EdgeTy> &Calls);
  359     bool ParseOptionalTypeIdInfo(FunctionSummary::TypeIdInfo &TypeIdInfo);
  362                           std::vector<FunctionSummary::VFuncId> &VFuncIdList);
  365         std::vector<FunctionSummary::ConstVCall> &ConstVCallList);
  368     bool ParseConstVCall(FunctionSummary::ConstVCall &ConstVCall,
  370     bool ParseVFuncId(FunctionSummary::VFuncId &VFuncId,
lib/Bitcode/Reader/BitcodeReader.cpp
  825   std::vector<FunctionSummary::EdgeTy> makeCallList(ArrayRef<uint64_t> Record,
  956 static FunctionSummary::FFlags getDecodedFFlags(uint64_t RawFlags) {
  957   FunctionSummary::FFlags Flags;
 5637 std::vector<FunctionSummary::EdgeTy>
 5641   std::vector<FunctionSummary::EdgeTy> Ret;
 5781   std::vector<FunctionSummary::VFuncId> PendingTypeTestAssumeVCalls,
 5783   std::vector<FunctionSummary::ConstVCall> PendingTypeTestAssumeConstVCalls,
 5897       std::vector<FunctionSummary::EdgeTy> Calls = makeCallList(
 5901       auto FS = std::make_unique<FunctionSummary>(
 6041       std::vector<FunctionSummary::EdgeTy> Edges = makeCallList(
 6046       auto FS = std::make_unique<FunctionSummary>(
lib/Bitcode/Writer/BitcodeWriter.cpp
   93 extern FunctionSummary::ForceSummaryHotnessType ForceSummaryEdgesCold;
  195         if (auto FS = dyn_cast<FunctionSummary>(Summary.get()))
 1001 static uint64_t getEncodedFFlags(FunctionSummary::FFlags Flags) {
 3511                                              FunctionSummary *FS) {
 3553 getReferencedTypeIds(FunctionSummary *FS,
 3643   FunctionSummary *FS = cast<FunctionSummary>(Summary);
 3643   FunctionSummary *FS = cast<FunctionSummary>(Summary);
 3658       F.hasProfileData() || ForceSummaryEdgesCold != FunctionSummary::FSHT_None;
 4030     auto *FS = cast<FunctionSummary>(S);
 4030     auto *FS = cast<FunctionSummary>(S);
 4130     if (auto *FS = dyn_cast<FunctionSummary>(&AS->getAliasee()))
 4130     if (auto *FS = dyn_cast<FunctionSummary>(&AS->getAliasee()))
lib/IR/AsmWriter.cpp
 2419   void printFunctionSummary(const FunctionSummary *FS);
 2425   void printTypeIdInfo(const FunctionSummary::TypeIdInfo &TIDInfo);
 2426   void printVFuncId(const FunctionSummary::VFuncId VFId);
 2428   printNonConstVCalls(const std::vector<FunctionSummary::VFuncId> VCallList,
 2431   printConstVCalls(const std::vector<FunctionSummary::ConstVCall> VCallList,
 2950 void AssemblyWriter::printFunctionSummary(const FunctionSummary *FS) {
 2953   FunctionSummary::FFlags FFlags = FS->fflags();
 2984     const FunctionSummary::TypeIdInfo &TIDInfo) {
 3029 void AssemblyWriter::printVFuncId(const FunctionSummary::VFuncId VFId) {
 3052     const std::vector<FunctionSummary::VFuncId> VCallList, const char *Tag) {
 3063     const std::vector<FunctionSummary::ConstVCall> VCallList, const char *Tag) {
 3095     printFunctionSummary(cast<FunctionSummary>(&Summary));
lib/IR/ModuleSummaryIndex.cpp
   29 FunctionSummary FunctionSummary::ExternalNode =
   30     FunctionSummary::makeDummyFunctionSummary({});
   71       auto *Summary = dyn_cast_or_null<FunctionSummary>(GlobSummary.get());
   71       auto *Summary = dyn_cast_or_null<FunctionSummary>(GlobSummary.get());
  206       FunctionSummary *F = nullptr;
  208         F = cast<FunctionSummary>(V.getSummaryList().front().get());
  297 static std::string fflagsToString(FunctionSummary::FFlags F) {
  308   auto *FS = dyn_cast_or_null<FunctionSummary>(GVS);
  308   auto *FS = dyn_cast_or_null<FunctionSummary>(GVS);
  430       if (isa<FunctionSummary>(SummaryIt.second)) {
  470       if (auto *FS = dyn_cast_or_null<FunctionSummary>(SummaryIt.second))
  470       if (auto *FS = dyn_cast_or_null<FunctionSummary>(SummaryIt.second))
lib/LTO/LTO.cpp
  200     if (auto *FS = dyn_cast<FunctionSummary>(GS)) {
  200     if (auto *FS = dyn_cast<FunctionSummary>(GS)) {
  881       auto *FS = dyn_cast<FunctionSummary>(S.get());
  881       auto *FS = dyn_cast<FunctionSummary>(S.get());
lib/LTO/SummaryBasedOptimizations.cpp
   28   auto Root = Index.calculateCallGraphRoot();
   38       auto *F = cast<FunctionSummary>(S);
   38       auto *F = cast<FunctionSummary>(S);
   56       auto *F = cast<FunctionSummary>(S);
   56       auto *F = cast<FunctionSummary>(S);
   67       auto *F = cast<FunctionSummary>(S);
   67       auto *F = cast<FunctionSummary>(S);
lib/Transforms/IPO/FunctionImport.cpp
  214         auto *Summary = cast<FunctionSummary>(GVSummary->getBaseObject());
  214         auto *Summary = cast<FunctionSummary>(GVSummary->getBaseObject());
  262 using EdgeInfo = std::tuple<const FunctionSummary *, unsigned /* Threshold */,
  283     const FunctionSummary &Summary, const GVSummaryMapTy &DefinedGVSummaries,
  348     const FunctionSummary &Summary, const ModuleSummaryIndex &Index,
  402     const FunctionSummary *ResolvedCalleeSummary = nullptr;
  417       ResolvedCalleeSummary = cast<FunctionSummary>(CalleeSummary);
  463       ResolvedCalleeSummary = cast<FunctionSummary>(CalleeSummary);
  546     auto *FuncSummary =
  547         dyn_cast<FunctionSummary>(GVSummary.second->getBaseObject());
  579       FunctionSummary *FS = nullptr;
  581         FS = dyn_cast<FunctionSummary>(
  834       if (auto *FS = dyn_cast<FunctionSummary>(Summary.get()))
  834       if (auto *FS = dyn_cast<FunctionSummary>(Summary.get()))
lib/Transforms/IPO/LowerTypeTests.cpp
 2060         if (auto *FS = dyn_cast<FunctionSummary>(S->getBaseObject()))
 2060         if (auto *FS = dyn_cast<FunctionSummary>(S->getBaseObject()))
lib/Transforms/IPO/WholeProgramDevirt.cpp
  378   std::vector<FunctionSummary *> SummaryTypeCheckedLoadUsers;
  379   std::vector<FunctionSummary *> SummaryTypeTestAssumeUsers;
  386   void addSummaryTypeCheckedLoadUser(FunctionSummary *FS) {
  391   void addSummaryTypeTestAssumeUser(FunctionSummary *FS) {
  903     for (auto *FS : CSInfo.SummaryTypeCheckedLoadUsers) {
  907     for (auto *FS : CSInfo.SummaryTypeTestAssumeUsers) {
 1821         auto *FS = dyn_cast<FunctionSummary>(S.get());
 1821         auto *FS = dyn_cast<FunctionSummary>(S.get());
 1825         for (FunctionSummary::VFuncId VF : FS->type_test_assume_vcalls()) {
 1830         for (FunctionSummary::VFuncId VF : FS->type_checked_load_vcalls()) {
 1835         for (const FunctionSummary::ConstVCall &VC :
 1843         for (const FunctionSummary::ConstVCall &VC :
 1942       auto *FS = dyn_cast<FunctionSummary>(S.get());
 1942       auto *FS = dyn_cast<FunctionSummary>(S.get());
 1946       for (FunctionSummary::VFuncId VF : FS->type_test_assume_vcalls()) {
 1951       for (FunctionSummary::VFuncId VF : FS->type_checked_load_vcalls()) {
 1956       for (const FunctionSummary::ConstVCall &VC :
 1964       for (const FunctionSummary::ConstVCall &VC :
lib/Transforms/Utils/FunctionImportUtils.cpp
  213             auto *FS = cast<FunctionSummary>(S->getBaseObject());
  213             auto *FS = cast<FunctionSummary>(S->getBaseObject());
tools/llvm-lto/llvm-lto.cpp
  343         if (auto *FuncSummary = dyn_cast<FunctionSummary>(Summary.get())) {
  343         if (auto *FuncSummary = dyn_cast<FunctionSummary>(Summary.get())) {
usr/include/c++/7.4.0/bits/move.h
   72     constexpr _Tp&&
   73     forward(typename std::remove_reference<_Tp>::type& __t) noexcept
   83     constexpr _Tp&&
   84     forward(typename std::remove_reference<_Tp>::type&& __t) noexcept
usr/include/c++/7.4.0/bits/unique_ptr.h
   68         default_delete(const default_delete<_Up>&) noexcept { }
   72       operator()(_Tp* __ptr) const
   74 	static_assert(!is_void<_Tp>::value,
   76 	static_assert(sizeof(_Tp)>0,
  122 	  using type = _Up*;
  137       using pointer = typename _Ptr<_Tp, _Dp>::type;
  161 	typename __uniq_ptr_impl<_Tp, _Up>::_DeleterConstraint::type;
  163       __uniq_ptr_impl<_Tp, _Dp> _M_t;
  166       using pointer	  = typename __uniq_ptr_impl<_Tp, _Dp>::pointer;
  167       using element_type  = _Tp;
  252 	unique_ptr(unique_ptr<_Up, _Ep>&& __u) noexcept
  811     { typedef unique_ptr<_Tp> __single_object; };
  823     inline typename _MakeUniq<_Tp>::__single_object
  824     make_unique(_Args&&... __args)
  825     { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); }
  825     { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); }
usr/include/c++/7.4.0/type_traits
  215     : public __is_void_helper<typename remove_cv<_Tp>::type>::type
  581     : public __or_<is_lvalue_reference<_Tp>,
  582                    is_rvalue_reference<_Tp>>::type
  601     : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
  601     : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
  602                           is_void<_Tp>>>::type
  638     : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
  638     : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
 1554     { typedef _Tp     type; };
 1563     { typedef _Tp     type; };
 1574       remove_const<typename remove_volatile<_Tp>::type>::type     type;
 1629     { typedef _Tp   type; };
 1645     { typedef _Tp&   type; };
 1650     : public __add_lvalue_reference_helper<_Tp>