[PATCH] D29836: Add new pass LazyMachineBlockFrequencyInfo

David Li via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Feb 12 20:56:10 PST 2017


davidxl added inline comments.


================
Comment at: include/llvm/Analysis/LazyBlockFrequencyInfo.h:37
+          typename LazyBranchProbabilityInfoPassT,
+          typename BranchProbabilityInfoT = LazyBranchProbabilityInfoPassT>
 class LazyBlockFrequencyInfo {
----------------
It is quite confusing to read the code here regarding xxxInfo, xxxInfoPass and default parameters. It may be more readable to get rid of the last parameter, but instead do this:

class LazyBranchProbabilityInfoPass ... {
 public:
     typedef BranchProbablityInfo BPIType;
  ...
};

class MachineBranchProbablityInfo ... {
public:
   typedef MachineBranchProbabilityInfo BPIType;
..
};

and then

template <...>
class LazyBlockFrequencyInfo {
   typedef typename BranchProbablityInfoPassT::BPIType BranchProbablityInfoT;
    ...
};


https://reviews.llvm.org/D29836





More information about the llvm-commits mailing list