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.
>>>...
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.
> > > > > >
> > > > >
> > > >
> > >
> >
>
> > > > > > >...
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.
> > > > > >
> > > > >
> > > >
> > >
> >
>
> > > > > > >...
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.
> > > > > >
> > > > >
> > > >
> > >
> >
>
> > > > > > >...
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...