|
reference, declaration → definition
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>