reference, declarationdefinition
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