search for: blockfrequencyanalysi

Displaying 20 results from an estimated 25 matches for "blockfrequencyanalysi".

Did you mean: blockfrequencyanalysis
2016 Mar 04
2
Use of branch weight metadata in enhanced inliner
...As of now, it seems that inliner can exploit the information only when profile data is available. However, instructions such as __builtin_expect may set branch weight metadata as well, which is useful for inliner. I think this problem can be addressed by letting llvm::getInlineCost function to use BlockFrequencyAnalysis regardless of availability of profile data, and making CallAnalyzer::updateThreshold to use callsite frequency instead of callsite count. Is there a reason that we allow inliner to use block frequency information only when profile data is given? Thanks, Taewook -------------- next part ----------...
2019 Mar 01
4
RFC: Getting ProfileSummaryInfo and BlockFrequencyInfo from various types of passes under the new pass manager
...gt; > > > [1] We cannot call AnalysisManager::getResult for an outer scope but only > getCachedResult. Probably because of potential pipelining or concurrency > issues. > [2] For example, potentially breaking up multiple pipelined loop passes > and insert RequireAnalysisPass<BlockFrequencyAnalysis> in front of each of > them. > [3] For example, -fprofile-instr-use and -fprofile-sample-use aren’t > present in ThinLTO post link builds. > [4] For example, we could check whether the module has the profile summary > metadata annotated when building pass pipelines but we don’t a...
2011 Jun 04
3
[LLVMdev] [llvm-commits] Branch Probability
...ed levels of "hotness" (e.g. Unexpected, Unlikely, Likely, Expected...). A low level interface that exposes edge weights will only be used by passes that need to incrementally update the result, or perform computations using branch probability. ** Block Frequency The result produced by BlockFrequencyAnalysis for mid-level IR and MBBFrequencyAnalysis for MachineInstrs with mostly shared implementation across IR and MI. Conceptually, this is a floating point value that satisfies the closed form: frequency(block) == (sum edgeFrequency(pred, block) for pred in block.preds()) Where "edge frequency&...
2016 Jul 13
3
[PM] I think that the new PM needs to learn about inter-analysis dependencies...
.... > GlobalsAA: Result keeps pointer to TLI (this is a function analysis). > > Function analyses: 9/17 keep pointers to other analysis > AAManager: Its Result holds TLI pointer and pointers to individual AA > result objects. > AssumptionAnalysis: No pointers to other analyses. > BlockFrequencyAnalysis: Its Result holds pointers to LoopInfo and BPI. > BranchProbabilityAnalysis: Stores no pointers to other analyses. (uses > LoopInfo to "recalculate" though) > DominatorTreeAnalysis: Stores no pointers to other analyses. > PostDominatorTreeAnalysis: Stores no pointers to other...
2019 Feb 27
2
RFC: Getting ProfileSummaryInfo and BlockFrequencyInfo from various types of passes under the new pass manager
...ally depend on an analysis under it. [1] We cannot call AnalysisManager::getResult for an outer scope but only getCachedResult. Probably because of potential pipelining or concurrency issues. [2] For example, potentially breaking up multiple pipelined loop passes and insert RequireAnalysisPass<BlockFrequencyAnalysis> in front of each of them. [3] For example, -fprofile-instr-use and -fprofile-sample-use aren’t present in ThinLTO post link builds. [4] For example, we could check whether the module has the profile summary metadata annotated when building pass pipelines but we don’t always pass the module dow...
2016 Jul 13
3
[PM] I think that the new PM needs to learn about inter-analysis dependencies...
On Tue, Jul 12, 2016 at 11:34 PM Sean Silva <chisophugis at gmail.com> wrote: > On Tue, Jul 12, 2016 at 11:32 PM, Xinliang David Li <davidxl at google.com> > wrote: > >> >> >> On Tue, Jul 12, 2016 at 10:57 PM, Chandler Carruth <chandlerc at gmail.com> >> wrote: >> >>> Yea, this is a nasty problem. >>> >>> One
2019 Mar 04
2
RFC: Getting ProfileSummaryInfo and BlockFrequencyInfo from various types of passes under the new pass manager
...t; [1] We cannot call AnalysisManager::getResult for an outer scope but only >> getCachedResult. Probably because of potential pipelining or concurrency >> issues. >> [2] For example, potentially breaking up multiple pipelined loop passes >> and insert RequireAnalysisPass<BlockFrequencyAnalysis> in front of each of >> them. >> [3] For example, -fprofile-instr-use and -fprofile-sample-use aren’t >> present in ThinLTO post link builds. >> [4] For example, we could check whether the module has the profile >> summary metadata annotated when building pass pipe...
2019 Mar 04
2
RFC: Getting ProfileSummaryInfo and BlockFrequencyInfo from various types of passes under the new pass manager
...ope but only getCachedResult. Probably because >>> of potential pipelining or concurrency issues. >>> [2] For example, potentially breaking up multiple >>> pipelined loop passes and insert >>> RequireAnalysisPass<BlockFrequencyAnalysis> in front of >>> each of them. >>> [3] For example, -fprofile-instr-use and >>> -fprofile-sample-use aren’t present in ThinLTO post link >>> builds. >>> [4] For example, we could check wheth...
2016 Jul 14
4
[PM] I think that the new PM needs to learn about inter-analysis dependencies...
...his is a function analysis). >>> >>> Function analyses: 9/17 keep pointers to other analysis >>> AAManager: Its Result holds TLI pointer and pointers to individual AA >>> result objects. >>> AssumptionAnalysis: No pointers to other analyses. >>> BlockFrequencyAnalysis: Its Result holds pointers to LoopInfo and BPI. >>> BranchProbabilityAnalysis: Stores no pointers to other analyses. (uses >>> LoopInfo to "recalculate" though) >>> DominatorTreeAnalysis: Stores no pointers to other analyses. >>> PostDominatorTreeAnaly...
2019 Mar 13
2
RFC: Getting ProfileSummaryInfo and BlockFrequencyInfo from various types of passes under the new pass manager
...obably >>>> because of potential pipelining or concurrency issues. >>>> [2] For example, potentially breaking up multiple >>>> pipelined loop passes and insert >>>> RequireAnalysisPass<BlockFrequencyAnalysis> in >>>> front of each of them. >>>> [3] For example, -fprofile-instr-use and >>>> -fprofile-sample-use aren’t present in ThinLTO post >>>> link builds. >>>>...
2019 Mar 13
1
RFC: Getting ProfileSummaryInfo and BlockFrequencyInfo from various types of passes under the new pass manager
...lining or >>>>> concurrency issues. >>>>> [2] For example, potentially breaking up >>>>> multiple pipelined loop passes and insert >>>>> RequireAnalysisPass<BlockFrequencyAnalysis> in >>>>> front of each of them. >>>>> [3] For example, -fprofile-instr-use and >>>>> -fprofile-sample-use aren’t present in ThinLTO >>>>> post link builds...
2016 Jul 13
4
[PM] I think that the new PM needs to learn about inter-analysis dependencies...
...sis. > GlobalsAA: Result keeps pointer to TLI (this is a function analysis). > Function analyses: 9/17 keep pointers to other analysis > AAManager: Its Result holds TLI pointer and pointers to individual AA > result objects. > AssumptionAnalysis: No pointers to other analyses. > BlockFrequencyAnalysis: Its Result holds pointers to LoopInfo and > BPI. > BranchProbabilityAnalysis: Stores no pointers to other analyses. > (uses LoopInfo to "recalculate" though) > DominatorTreeAnalysis: Stores no pointers to other analyses. > PostDominatorTreeAnalysis: Stores no pointers...
2016 Jul 16
3
[PM] I think that the new PM needs to learn about inter-analysis dependencies...
...; >>>>> Function analyses: 9/17 keep pointers to other analysis >>>>> AAManager: Its Result holds TLI pointer and pointers to individual AA >>>>> result objects. >>>>> AssumptionAnalysis: No pointers to other analyses. >>>>> BlockFrequencyAnalysis: Its Result holds pointers to LoopInfo and BPI. >>>>> BranchProbabilityAnalysis: Stores no pointers to other analyses. (uses >>>>> LoopInfo to "recalculate" though) >>>>> DominatorTreeAnalysis: Stores no pointers to other analyses. >>&gt...
2016 Jul 15
5
[PM] I think that the new PM needs to learn about inter-analysis dependencies...
...> > individual > > > > > AA > > > > > result objects. > > > > > > > > > > > > > > > AssumptionAnalysis: No pointers to other analyses. > > > > > > > > > > > > > > > BlockFrequencyAnalysis: Its Result holds pointers to LoopInfo > > > > > and > > > > > BPI. > > > > > > > > > > > > > > > BranchProbabilityAnalysis: Stores no pointers to other > > > > > analyses. > > > > > (uses...
2016 Jul 25
2
[PM] I think that the new PM needs to learn about inter-analysis dependencies...
...; > > > > > > > > > > > > > > > > > > > AssumptionAnalysis: No pointers to other analyses. > > > > > > > > > > > > > > > > > > > > > > > > > > > > BlockFrequencyAnalysis: Its Result holds pointers to > > > > > > > LoopInfo > > > > > > > and > > > > > > > BPI. > > > > > > > > > > > > > > > > > > > > > > > > > > > &gt...
2016 Jul 15
2
[PM] I think that the new PM needs to learn about inter-analysis dependencies...
...; > > > > > > > > > > > > > > > > > > > AssumptionAnalysis: No pointers to other analyses. > > > > > > > > > > > > > > > > > > > > > > > > > > > > BlockFrequencyAnalysis: Its Result holds pointers to > > > > > > > LoopInfo > > > > > > > and > > > > > > > BPI. > > > > > > > > > > > > > > > > > > > > > > > > > > > &gt...
2016 Jul 15
2
[PM] I think that the new PM needs to learn about inter-analysis dependencies...
...; > > > > > > > > > > > > > > > > > > > AssumptionAnalysis: No pointers to other analyses. > > > > > > > > > > > > > > > > > > > > > > > > > > > > BlockFrequencyAnalysis: Its Result holds pointers to > > > > > > > LoopInfo > > > > > > > and > > > > > > > BPI. > > > > > > > > > > > > > > > > > > > > > > > > > > > &gt...
2016 Jul 15
4
[PM] I think that the new PM needs to learn about inter-analysis dependencies...
...t;> Function analyses: 9/17 keep pointers to other analysis >>>>>> AAManager: Its Result holds TLI pointer and pointers to individual AA >>>>>> result objects. >>>>>> AssumptionAnalysis: No pointers to other analyses. >>>>>> BlockFrequencyAnalysis: Its Result holds pointers to LoopInfo and BPI. >>>>>> BranchProbabilityAnalysis: Stores no pointers to other analyses. >>>>>> (uses LoopInfo to "recalculate" though) >>>>>> DominatorTreeAnalysis: Stores no pointers to other analyses....
2016 Jul 22
4
[PM] I think that the new PM needs to learn about inter-analysis dependencies...
...analyses: 9/17 keep pointers to other analysis >>>>>>> AAManager: Its Result holds TLI pointer and pointers to individual >>>>>>> AA result objects. >>>>>>> AssumptionAnalysis: No pointers to other analyses. >>>>>>> BlockFrequencyAnalysis: Its Result holds pointers to LoopInfo and >>>>>>> BPI. >>>>>>> BranchProbabilityAnalysis: Stores no pointers to other analyses. >>>>>>> (uses LoopInfo to "recalculate" though) >>>>>>> DominatorTreeAnalys...
2016 Aug 08
2
[PM] I think that the new PM needs to learn about inter-analysis dependencies...
...analyses: 9/17 keep pointers to other analysis >>>>>>> AAManager: Its Result holds TLI pointer and pointers to individual >>>>>>> AA result objects. >>>>>>> AssumptionAnalysis: No pointers to other analyses. >>>>>>> BlockFrequencyAnalysis: Its Result holds pointers to LoopInfo and >>>>>>> BPI. >>>>>>> BranchProbabilityAnalysis: Stores no pointers to other analyses. >>>>>>> (uses LoopInfo to "recalculate" though) >>>>>>> DominatorTreeAnalys...