|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
Derived Classes
include/llvm/IR/PassManagerInternal.h 137 template <typename T> struct Checker : CheckerBase, T {};
Declarations
include/llvm/Analysis/InlineCost.h 24 class BlockFrequencyInfo;
include/llvm/Analysis/ModuleSummaryAnalysis.h 24 class BlockFrequencyInfo;
include/llvm/Analysis/ProfileSummaryInfo.h 30 class BlockFrequencyInfo;
include/llvm/Transforms/IPO/HotColdSplitting.h 21 class BlockFrequencyInfo;
include/llvm/Transforms/Scalar/ConstantHoisting.h 52 class BlockFrequencyInfo;
include/llvm/Transforms/Utils/BasicBlockUtils.h 28 class BlockFrequencyInfo;
include/llvm/Transforms/Utils/Cloning.h 36 class BlockFrequencyInfo;
include/llvm/Transforms/Utils/CodeExtractor.h 28 class BlockFrequencyInfo;
include/llvm/Transforms/Utils/SimplifyLibCalls.h 31 class BlockFrequencyInfo;
include/llvm/Transforms/Utils/SizeOpts.h 31 class BlockFrequencyInfo;
include/llvm/Transforms/Utils/UnrollLoop.h 27 class BlockFrequencyInfo;
include/llvm/Transforms/Vectorize/LoopVectorize.h 66 class BlockFrequencyInfo;
lib/Transforms/InstCombine/InstCombineInternal.h 55 class BlockFrequencyInfo;
References
include/llvm/Analysis/BlockFrequencyInfo.h 46 BlockFrequencyInfo(const BlockFrequencyInfo &) = delete;
47 BlockFrequencyInfo &operator=(const BlockFrequencyInfo &) = delete;
47 BlockFrequencyInfo &operator=(const BlockFrequencyInfo &) = delete;
48 BlockFrequencyInfo(BlockFrequencyInfo &&Arg);
49 BlockFrequencyInfo &operator=(BlockFrequencyInfo &&RHS);
49 BlockFrequencyInfo &operator=(BlockFrequencyInfo &&RHS);
117 using Result = BlockFrequencyInfo;
136 BlockFrequencyInfo BFI;
144 BlockFrequencyInfo &getBFI() { return BFI; }
145 const BlockFrequencyInfo &getBFI() const { return BFI; }
include/llvm/Analysis/BlockFrequencyInfoImpl.h 1368 using GTraits = GraphTraits<BlockFrequencyInfoT *>;
1378 static std::string getGraphName(const BlockFrequencyInfoT *G) {
1382 std::string getNodeAttributes(NodeRef Node, const BlockFrequencyInfoT *Graph,
1412 std::string getNodeLabel(NodeRef Node, const BlockFrequencyInfoT *Graph,
1444 const BlockFrequencyInfoT *BFI,
include/llvm/Analysis/InlineCost.h 218 Optional<function_ref<BlockFrequencyInfo &(Function &)>> GetBFI,
230 Optional<function_ref<BlockFrequencyInfo &(Function &)>> GetBFI,
include/llvm/Analysis/LazyBlockFrequencyInfo.h 49 BlockFrequencyInfoT &getCalculated() {
59 const BlockFrequencyInfoT &getCalculated() const {
70 BlockFrequencyInfoT BFI;
103 BlockFrequencyInfo>
112 BlockFrequencyInfo &getBFI() { return LBFI.getCalculated(); }
115 const BlockFrequencyInfo &getBFI() const { return LBFI.getCalculated(); }
include/llvm/Analysis/ModuleSummaryAnalysis.h 37 std::function<BlockFrequencyInfo *(const Function &F)> GetBFICallback,
include/llvm/Analysis/OptimizationRemarkEmitter.h 39 OptimizationRemarkEmitter(const Function *F, BlockFrequencyInfo *BFI)
102 BlockFrequencyInfo *BFI;
105 std::unique_ptr<BlockFrequencyInfo> OwnedBFI;
include/llvm/Analysis/ProfileSummaryInfo.h 104 BlockFrequencyInfo *BFI,
113 bool isFunctionHotInCallGraph(const Function *F, BlockFrequencyInfo &BFI);
117 bool isFunctionColdInCallGraph(const Function *F, BlockFrequencyInfo &BFI);
122 BlockFrequencyInfo &BFI);
131 bool isHotBlock(const BasicBlock *BB, BlockFrequencyInfo *BFI);
133 bool isColdBlock(const BasicBlock *BB, BlockFrequencyInfo *BFI);
137 const BasicBlock *BB, BlockFrequencyInfo *BFI);
139 bool isHotCallSite(const CallSite &CS, BlockFrequencyInfo *BFI);
141 bool isColdCallSite(const CallSite &CS, BlockFrequencyInfo *BFI);
include/llvm/IR/PassManagerInternal.h 137 template <typename T> struct Checker : CheckerBase, T {};
147 enum { Value = sizeof(check<ResultT>(rank<2>())) == sizeof(EnabledType) };
208 explicit AnalysisResultModel(ResultT Result) : Result(std::move(Result)) {}
231 ResultT Result;
include/llvm/Transforms/IPO/HotColdSplitting.h 36 function_ref<BlockFrequencyInfo *(Function &)> GBFI,
49 DominatorTree &DT, BlockFrequencyInfo *BFI,
54 function_ref<BlockFrequencyInfo *(Function &)> GetBFI;
include/llvm/Transforms/Scalar/ConstantHoisting.h 130 BlockFrequencyInfo *BFI, BasicBlock &Entry,
151 BlockFrequencyInfo *BFI;
include/llvm/Transforms/Scalar/JumpThreading.h 82 std::unique_ptr<BlockFrequencyInfo> BFI;
100 std::unique_ptr<BlockFrequencyInfo> BFI_,
include/llvm/Transforms/Utils/BasicBlockUtils.h 359 BlockFrequencyInfo *BFI = nullptr);
include/llvm/Transforms/Utils/Cloning.h 179 BlockFrequencyInfo *CallerBFI = nullptr,
180 BlockFrequencyInfo *CalleeBFI = nullptr)
189 BlockFrequencyInfo *CallerBFI, *CalleeBFI;
include/llvm/Transforms/Utils/CodeExtractor.h 91 BlockFrequencyInfo *BFI;
120 bool AggregateArgs = false, BlockFrequencyInfo *BFI = nullptr,
131 BlockFrequencyInfo *BFI = nullptr,
include/llvm/Transforms/Utils/SimplifyLibCalls.h 106 BlockFrequencyInfo *BFI;
141 BlockFrequencyInfo *BFI, ProfileSummaryInfo *PSI,
include/llvm/Transforms/Utils/SizeOpts.h 37 BFIT *BFI) {
56 BFIT *BFI) {
76 BlockFrequencyInfo *BFI);
81 BlockFrequencyInfo *BFI);
include/llvm/Transforms/Utils/UnrollLoop.h 132 BlockFrequencyInfo *BFI, ProfileSummaryInfo *PSI, int OptLevel,
include/llvm/Transforms/Vectorize/LoopVectorize.h 136 BlockFrequencyInfo *BFI;
150 BlockFrequencyInfo &BFI_, TargetLibraryInfo *TLI_,
lib/Analysis/BlockFrequencyInfo.cpp 103 static NodeRef getEntryNode(const BlockFrequencyInfo *G) {
123 BFIDOTGraphTraitsBase<BlockFrequencyInfo, BranchProbabilityInfo>;
131 const BlockFrequencyInfo *Graph) {
137 const BlockFrequencyInfo *Graph) {
143 const BlockFrequencyInfo *BFI) {
159 BlockFrequencyInfo::BlockFrequencyInfo(BlockFrequencyInfo &&Arg)
162 BlockFrequencyInfo &BlockFrequencyInfo::operator=(BlockFrequencyInfo &&RHS) {
162 BlockFrequencyInfo &BlockFrequencyInfo::operator=(BlockFrequencyInfo &&RHS) {
327 BlockFrequencyInfo BlockFrequencyAnalysis::run(Function &F,
329 BlockFrequencyInfo BFI;
lib/Analysis/InlineCost.cpp 107 Optional<function_ref<BlockFrequencyInfo &(Function &)>> &GetBFI;
236 bool isColdCallSite(CallBase &Call, BlockFrequencyInfo *CallerBFI);
240 BlockFrequencyInfo *CallerBFI);
295 Optional<function_ref<BlockFrequencyInfo &(Function &)>> &GetBFI,
809 BlockFrequencyInfo *CallerBFI) {
833 BlockFrequencyInfo *CallerBFI) {
928 BlockFrequencyInfo *CallerBFI = GetBFI ? &((*GetBFI)(*Caller)) : nullptr;
2006 Optional<function_ref<BlockFrequencyInfo &(Function &)>> GetBFI,
2016 Optional<function_ref<BlockFrequencyInfo &(Function &)>> GetBFI,
lib/Analysis/ModuleSummaryAnalysis.cpp 242 const Function &F, BlockFrequencyInfo *BFI,
640 std::function<BlockFrequencyInfo *(const Function &F)> GetBFICallback,
737 BlockFrequencyInfo *BFI = nullptr;
738 std::unique_ptr<BlockFrequencyInfo> BFIPtr;
744 BFIPtr = std::make_unique<BlockFrequencyInfo>(F, BPI, LI);
lib/Analysis/OptimizationRemarkEmitter.cpp 42 OwnedBFI = std::make_unique<BlockFrequencyInfo>(*F, BPI, LI);
93 BlockFrequencyInfo *BFI;
115 BlockFrequencyInfo *BFI;
lib/Analysis/ProfileSummaryInfo.cpp 104 BlockFrequencyInfo *BFI,
144 BlockFrequencyInfo &BFI) {
173 BlockFrequencyInfo &BFI) {
198 int PercentileCutoff, const Function *F, BlockFrequencyInfo &BFI) {
317 bool ProfileSummaryInfo::isHotBlock(const BasicBlock *BB, BlockFrequencyInfo *BFI) {
323 BlockFrequencyInfo *BFI) {
330 BlockFrequencyInfo *BFI) {
336 BlockFrequencyInfo *BFI) {
342 BlockFrequencyInfo *BFI) {
lib/CodeGen/CodeGenPrepare.cpp 252 std::unique_ptr<BlockFrequencyInfo> BFI;
431 BFI.reset(new BlockFrequencyInfo(F, *BPI, *LI));
lib/ExecutionEngine/Orc/SpeculateAnalyses.cpp 102 auto &BFI = FAM.getResult<BlockFrequencyAnalysis>(F);
245 auto &BFI = FAM.getResult<BlockFrequencyAnalysis>(F);
lib/Transforms/IPO/GlobalOpt.cpp 2165 static bool isColdCallSite(CallSite CS, BlockFrequencyInfo &CallerBFI) {
2180 function_ref<BlockFrequencyInfo &(Function &)> GetBFI,
2192 BlockFrequencyInfo &CallerBFI = GetBFI(*CallerFunc);
2216 function_ref<BlockFrequencyInfo &(Function &)> GetBFI) {
2236 BlockFrequencyInfo &CallerBFI = GetBFI(F);
2249 function_ref<BlockFrequencyInfo &(Function &)> GetBFI,
2915 function_ref<BlockFrequencyInfo &(Function &)> GetBFI,
lib/Transforms/IPO/HotColdSplitting.cpp 551 BlockFrequencyInfo *BFI = nullptr;
lib/Transforms/IPO/PartialInlining.cpp 204 Optional<function_ref<BlockFrequencyInfo &(Function &)>> GBFI,
265 std::unique_ptr<BlockFrequencyInfo> ClonedFuncBFI = nullptr;
275 Optional<function_ref<BlockFrequencyInfo &(Function &)>> GetBFI;
399 std::unique_ptr<BlockFrequencyInfo> ScopedBFI;
400 BlockFrequencyInfo *BFI;
402 ScopedBFI.reset(new BlockFrequencyInfo(*F, BPI, LI));
930 std::unique_ptr<BlockFrequencyInfo> TempBFI;
931 BlockFrequencyInfo *CurrentCallerBFI = nullptr;
939 TempBFI.reset(new BlockFrequencyInfo(*Caller, BPI, LI));
1123 ClonedFuncBFI.reset(new BlockFrequencyInfo(*ClonedFunc, BPI, LI));
1198 ClonedFuncBFI.reset(new BlockFrequencyInfo(*ClonedFunc, BPI, LI));
1514 std::function<BlockFrequencyInfo &(Function &)> GetBFI =
lib/Transforms/IPO/SyntheticCountsPropagation.cpp 116 auto &BFI = FAM.getResult<BlockFrequencyAnalysis>(*Caller);
lib/Transforms/InstCombine/InstCombineInternal.h 328 BlockFrequencyInfo *BFI;
341 OptimizationRemarkEmitter &ORE, BlockFrequencyInfo *BFI,
lib/Transforms/InstCombine/InstructionCombining.cpp 3509 OptimizationRemarkEmitter &ORE, BlockFrequencyInfo *BFI,
3565 auto *BFI = (PSI && PSI->hasProfileSummary()) ?
3613 BlockFrequencyInfo *BFI =
lib/Transforms/Instrumentation/CFGMST.h 272 BlockFrequencyInfo *BFI;
276 BlockFrequencyInfo *BFI_ = nullptr)
lib/Transforms/Instrumentation/CGProfile.cpp 43 auto &BFI = FAM.getResult<BlockFrequencyAnalysis>(F);
lib/Transforms/Instrumentation/ControlHeightReduction.cpp 322 CHR(Function &Fin, BlockFrequencyInfo &BFIin, DominatorTree &DTin,
403 BlockFrequencyInfo &BFI;
2075 BlockFrequencyInfo &BFI =
2095 auto &BFI = FAM.getResult<BlockFrequencyAnalysis>(F);
lib/Transforms/Instrumentation/InstrProfiling.cpp 370 BlockFrequencyInfo *BFI;
448 std::unique_ptr<BlockFrequencyInfo> BFI;
452 BFI.reset(new BlockFrequencyInfo(*F, *BPI, LI));
lib/Transforms/Instrumentation/PGOInstrumentation.cpp 570 BlockFrequencyInfo *BFI = nullptr, bool IsCS = false)
804 Function &F, Module *M, BranchProbabilityInfo *BPI, BlockFrequencyInfo *BFI,
957 BranchProbabilityInfo *BPI, BlockFrequencyInfo *BFIin,
1013 BlockFrequencyInfo *BFI;
1463 function_ref<BlockFrequencyInfo *(Function &)> LookupBFI, bool IsCS) {
1475 auto *BFI = LookupBFI(F);
1521 function_ref<BlockFrequencyInfo *(Function &)> LookupBFI,
1568 auto *BFI = LookupBFI(F);
1597 std::unique_ptr<BlockFrequencyInfo> NewBFI =
1598 std::make_unique<BlockFrequencyInfo>(F, *NewBPI, LI);
lib/Transforms/Instrumentation/PGOMemOPSizeOpt.cpp 137 MemOPSizeOpt(Function &Func, BlockFrequencyInfo &BFI,
173 BlockFrequencyInfo &BFI;
414 static bool PGOMemOPSizeOptImpl(Function &F, BlockFrequencyInfo &BFI,
428 BlockFrequencyInfo &BFI =
441 auto &BFI = FAM.getResult<BlockFrequencyAnalysis>(F);
lib/Transforms/Scalar/ConstantHoisting.cpp 205 static void findBestInsertionSet(DominatorTree &DT, BlockFrequencyInfo &BFI,
926 DominatorTree &DT, BlockFrequencyInfo *BFI,
lib/Transforms/Scalar/JumpThreading.cpp 306 std::unique_ptr<BlockFrequencyInfo> BFI;
312 BFI.reset(new BlockFrequencyInfo(F, *BPI, LI));
334 std::unique_ptr<BlockFrequencyInfo> BFI;
339 BFI.reset(new BlockFrequencyInfo(F, *BPI, LI));
357 std::unique_ptr<BlockFrequencyInfo> BFI_,
lib/Transforms/Scalar/LoopLoadElimination.cpp 166 DominatorTree *DT, BlockFrequencyInfo *BFI,
591 BlockFrequencyInfo *BFI;
600 BlockFrequencyInfo *BFI, ProfileSummaryInfo *PSI,
645 auto *BFI = (PSI && PSI->hasProfileSummary()) ?
700 auto *BFI = (PSI && PSI->hasProfileSummary()) ?
lib/Transforms/Scalar/LoopSink.cpp 83 BlockFrequencyInfo &BFI) {
178 BlockFrequencyInfo &BFI) {
253 BlockFrequencyInfo &BFI,
321 BlockFrequencyInfo &BFI = FAM.getResult<BlockFrequencyAnalysis>(F);
lib/Transforms/Scalar/LoopUnrollPass.cpp 178 BlockFrequencyInfo *BFI, ProfileSummaryInfo *PSI, int OptLevel,
1014 OptimizationRemarkEmitter &ORE, BlockFrequencyInfo *BFI,
1426 auto *BFI = (PSI && PSI->hasProfileSummary()) ?
lib/Transforms/Utils/BreakCriticalEdges.cpp 358 BlockFrequencyInfo *BFI) {
lib/Transforms/Utils/CodeExtractor.cpp 245 bool AggregateArgs, BlockFrequencyInfo *BFI,
255 BlockFrequencyInfo *BFI,
lib/Transforms/Utils/InlineFunction.cpp 1452 BlockFrequencyInfo *CallerBFI,
1453 BlockFrequencyInfo *CalleeBFI,
1483 BlockFrequencyInfo *CallerBFI) {
lib/Transforms/Utils/SimplifyLibCalls.cpp 3129 BlockFrequencyInfo *BFI, ProfileSummaryInfo *PSI,
lib/Transforms/Utils/SizeOpts.cpp 44 BlockFrequencyInfo &BFI) {
50 BlockFrequencyInfo &BFI) {
55 BlockFrequencyInfo *BFI) {
61 BlockFrequencyInfo *BFI) {
68 BlockFrequencyInfo *BFI) {
73 BlockFrequencyInfo *BFI) {
lib/Transforms/Vectorize/LoopVectorize.cpp 1604 auto *BFI = &getAnalysis<BlockFrequencyInfoWrapperPass>().getBFI();
7443 ProfileSummaryInfo *PSI, BlockFrequencyInfo *BFI) {
7463 OptimizationRemarkEmitter *ORE, BlockFrequencyInfo *BFI,
7803 DominatorTree &DT_, BlockFrequencyInfo &BFI_, TargetLibraryInfo *TLI_,
7873 auto &BFI = AM.getResult<BlockFrequencyAnalysis>(F);
unittests/Analysis/BlockFrequencyInfoTest.cpp 34 BlockFrequencyInfo buildBFI(Function &F) {
63 BlockFrequencyInfo BFI = buildBFI(*F);
unittests/Analysis/ProfileSummaryInfoTest.cpp 40 BlockFrequencyInfo buildBFI(Function &F) {
119 BlockFrequencyInfo BFI = buildBFI(*F);
169 BlockFrequencyInfo BFI = buildBFI(*F);
216 BlockFrequencyInfo BFI = buildBFI(*F);
unittests/Transforms/Utils/SizeOptsTest.cpp 37 std::unique_ptr<BlockFrequencyInfo> BFI;
42 BFI.reset(new BlockFrequencyInfo(F, *BPI, *LI));
44 BlockFrequencyInfo *get() { return BFI.get(); }
62 BlockFrequencyInfo *BFI_F = BFID_F.get();
63 BlockFrequencyInfo *BFI_G = BFID_G.get();
64 BlockFrequencyInfo *BFI_H = BFID_H.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
98 move(_Tp&& __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
297 __safe_conversion_up<_Up, _Ep>,
301 operator=(unique_ptr<_Up, _Ep>&& __u) noexcept
811 { typedef unique_ptr<_Tp> __single_object; };
823 inline typename _MakeUniq<_Tp>::__single_object
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; };
1633 { typedef _Tp type; };
1645 { typedef _Tp& type; };
1650 : public __add_lvalue_reference_helper<_Tp>
1659 { typedef _Tp&& type; };
1664 : public __add_rvalue_reference_helper<_Tp>
2253 inline typename add_rvalue_reference<_Tp>::type