search for: bfi

Displaying 20 results from an estimated 92 matches for "bfi".

Did you mean: bfa
2015 Dec 07
4
[LLVMdev] Path forward on profile guided inlining?
...he inliner. The next step is to use the callsite hotness instead. I also > want to focus on the infrastructure to enable this and what I've been > experimenting with is similar to your two alternative approaches: > > >> Alternate Approaches: >> 1) We could just recompute BFI explicitly in the inliner right before >> passing the result to ICA for the purposes of prototyping. If this was off >> by default, this might be a reasonable scheme for investigation. This >> could likely never be enabled for real uses. >> 2) We could pre-compute BFI once...
2019 Feb 27
2
RFC: Getting ProfileSummaryInfo and BlockFrequencyInfo from various types of passes under the new pass manager
Hi all, To implement more profile-guided optimizations, we’d like to use ProfileSummaryInfo (PSI) and BlockFrequencyInfo (BFI) from more passes of various types, under the new pass manager. The following is what we came up with. Would appreciate feedback. Thanks. Issue It’s not obvious (to me) how to best do this, given that we cannot request an outer-scope analysis result from an inner-scope pass through analysis mana...
2019 Mar 04
2
RFC: Getting ProfileSummaryInfo and BlockFrequencyInfo from various types of passes under the new pass manager
...On 2/28/19 12:47 AM, Hiroshi Yamauchi via llvm-dev wrote: >>> Hi all, >>> >>> To implement more profile-guided optimizations, we’d >>> like to use ProfileSummaryInfo (PSI) and >>> BlockFrequencyInfo (BFI) from more passes of various >>> types, under the new pass manager. >>> >>> The following is what we came up with. Would appreciate >>> feedback. Thanks. >>> >>> Issue >>> >>>...
2019 Mar 04
2
RFC: Getting ProfileSummaryInfo and BlockFrequencyInfo from various types of passes under the new pass manager
...via llvm-dev < > llvm-dev at lists.llvm.org> wrote: > >> On 2/28/19 12:47 AM, Hiroshi Yamauchi via llvm-dev wrote: >> >> Hi all, >> >> To implement more profile-guided optimizations, we’d like to use >> ProfileSummaryInfo (PSI) and BlockFrequencyInfo (BFI) from more passes of >> various types, under the new pass manager. >> >> The following is what we came up with. Would appreciate feedback. Thanks. >> >> Issue >> >> It’s not obvious (to me) how to best do this, given that we cannot >> request an outer...
2019 Mar 01
4
RFC: Getting ProfileSummaryInfo and BlockFrequencyInfo from various types of passes under the new pass manager
..., 2019 at 12:54 PM Fedor Sergeev via llvm-dev < llvm-dev at lists.llvm.org> wrote: > On 2/28/19 12:47 AM, Hiroshi Yamauchi via llvm-dev wrote: > > Hi all, > > To implement more profile-guided optimizations, we’d like to use > ProfileSummaryInfo (PSI) and BlockFrequencyInfo (BFI) from more passes of > various types, under the new pass manager. > > The following is what we came up with. Would appreciate feedback. Thanks. > > Issue > > It’s not obvious (to me) how to best do this, given that we cannot request > an outer-scope analysis result from an i...
2015 Dec 11
5
[LLVMdev] Path forward on profile guided inlining?
...>>> also >>>> want to focus on the infrastructure to enable this and what I've been >>>> experimenting with is similar to your two alternative approaches: >>>> >>>>> Alternate Approaches: >>>>> 1) We could just recompute BFI explicitly in the inliner right before >>>>> passing the result to ICA for the purposes of prototyping. If this was >>>>> off >>>>> by default, this might be a reasonable scheme for investigation. This >>>>> could >>>>> lik...
2019 Mar 13
2
RFC: Getting ProfileSummaryInfo and BlockFrequencyInfo from various types of passes under the new pass manager
...invalidated but unlikely as PSI is immutable. > If it does, we can insert another RequireAnalysisPass. ProfileSummaryInfo::invalidate always return false, so it does not need any extra handling (as soon as it finds its way into ModuleAnalysisManager). > > - If PGO, conditionally request BFI from the passes that need it. For > (pipelined) loop passes, we need to insert a pass that computes BFI > conditionally (if PGO) in front of them and make them preserve BFI > through. This is to avoid pipeline interruptions and potential > invalidation/recomputation of BFI between t...
2015 Dec 11
2
[LLVMdev] Path forward on profile guided inlining?
...to use the callsite hotness instead. I also >> want to focus on the infrastructure to enable this and what I've been >> experimenting with is similar to your two alternative approaches: >> >>> >>> Alternate Approaches: >>> 1) We could just recompute BFI explicitly in the inliner right before >>> passing the result to ICA for the purposes of prototyping. If this was off >>> by default, this might be a reasonable scheme for investigation. This could >>> likely never be enabled for real uses. >>> 2) We could pre-c...
2019 Mar 13
1
RFC: Getting ProfileSummaryInfo and BlockFrequencyInfo from various types of passes under the new pass manager
...>>>>> >>>>> To implement more profile-guided >>>>> optimizations, we’d like to use >>>>> ProfileSummaryInfo (PSI) and >>>>> BlockFrequencyInfo (BFI) from more passes of >>>>> various types, under the new pass manager. >>>>> >>>>> The following is what we came up with. Would >>>>> appreciate feedback. Thanks. >>>>&...
2015 Jun 04
2
[LLVMdev] Assert in BlockFrequency pass
...rting a >> dummy entry block, or >> - make this BlockFrequncy's assumption/requirement more clearly >> articulated and avoid creating this situation in a preceding pass (in the >> particular case, a machine-level loop rotation)? > > This is unlikely to be a bug in BFI. BFI assumes that LoopInfo is > correct. This has come up before when a pass promised (but failed) to > preserve LoopInfo. I think it's well enough documented -- in that BFI > "requires" LoopInfo -- but if you have an idea of how to make it more > clear that BFI require...
2015 Jun 04
2
[LLVMdev] Assert in BlockFrequency pass
Hi, we got the following assert: assert(!Working[0].isLoopHeader() && "entry block is a loop header"); [in BlockFrequencyInfoImpl<BT>::tryToComputeMassInFunction(), BlockFrequencyInfoImpl.h] on a Hexagon target - the entry block is a loop header. Has someone seen this assert on other targets? What would be a preferable way to fix it: - extend BlockFrequency pass to
2019 Jan 13
2
Problem using BlockFrequencyInfo's getBlockProfileCount
...-freq -pgo-instr-use -pgo-test-profile-file=output.prof -profile-sample-accurate -mypass Is this a bug or am can someone provide an example on how to use BlockFrequencyInfo correctly? Example code: for (auto& F : M) {     if (F.isDeclaration()) {         continue;     }     auto& bfiPass = getAnalysis<BlockFrequencyInfoWrapperPass>(F);     llvm::BlockFrequencyInfo* BFI = &bfiPass.getBFI();     //Works - shows all info I want     BFI->print(llvm::dbgs());     for (const llvm::BasicBlock& B : F) {         //Fails with SIGSEGV -> *getFunction() returns 0...
2017 Dec 13
5
RFC: Synthetic function entry counts
...thetic counts. Additionally, we plan to use the computed counts to drive the importing decisions. Alternative approach ----------------------------- An alternative to generating synthetic counts is to make block frequency info an inter-procedural analysis. Such an analysis would allow comparing BFI of callsites in two different functions. This has several downsides: - The inter-procedural BFI computation is likely to be more expensive in terms of compile-time. - Many function passes invalidate the BFI. This will require selective invalidation of function BFIs. - In...
2011 Mar 18
0
[LLVMdev] [RC1] Status of Visual Studio 8, 9 and 10
...- VS8 Debug LLVM :: Transforms/SRETPromotion/basictest.ll LLVM-Unit :: support/debug/SupportTests.exe/CastingTest.cast - VS9 Debug LLVM :: Transforms/SRETPromotion/basictest.ll LLVM-Unit :: Support/Debug/SupportTests.exe/CastingTest.cast - VS9 Release LLVM :: CodeGen/ARM/bfi.ll LLVM :: CodeGen/ARM/va_arg.ll LLVM :: CodeGen/Thumb2/bfi.ll - VS10 Debug LLVM :: Transforms/SRETPromotion/basictest.ll LLVM-Unit :: Support/Debug/SupportTests.exe/CastingTest.cast ...Takumi -------------- next part -------------- Running Clang and LLVM regression tests -- Te...
2012 Jul 16
2
[LLVMdev] FYI: Planning to remove ProfileInfo and related passes from LLVM
...hink > my email got lost that time, in the sea of emails we see on the dev mail > list. profile.pl has seen a non-cleanup related commit in 5 years ... It seems so simple I'm not sure I see a need for it. But clearly you use it! > I must confess that I was not aware of the BPI and BFI infrastructures. > The breaking of the profiling infrastructure always baffled me. Now it > makes sense, since it has been superseded by these new frameworks. > > Anyway, if you guys decide to keep the old profiling framework, it would > be good. As Alastair has mentioned, the llvm-p...
2005 Apr 21
0
°Eric Moos/SYSTEM/FRANKFURT/BFI/BNP is out of the office.
I will be out of the office starting 21.04.2005 and will not return until 25.04.2005. I will respond to your message when I return. In urgent cases please contact Mr. Michael Klein (michael.klein@bnpparibas.com) +49(0)6971936960. With kind regards, Eric Moos This message and any attachments (the "message") is intended solely for the addressees and is confidential. If you receive
2005 Mar 09
1
°Eric Moos/SYSTEM/FRANKFURT/BFI/BNP is out of the office.
I will be out of the office starting 09.03.2005 and will not return until 14.03.2005. I will respond to your message when I return. In urgent cases please contact Mr. Michael Klein (michael.klein@bnpparibas.com) +49(0)6971936960. With kind regards, Eric Moos This message and any attachments (the "message") is intended solely for the addressees and is confidential. If you receive
2005 May 25
1
°Eric Moos/SYSTEM/FRANKFURT/BFI/BNP is out of the office.
I will be out of the office starting 25.05.2005 and will not return until 26.05.2005. I will respond to your message when I return. In urgent cases please contact Mr. Michael Klein (michael.klein@bnpparibas.com) +49(0)6971936960. With kind regards, Eric Moos This message and any attachments (the "message") is intended solely for the addressees and is confidential. If you receive
2012 May 10
0
[LLVMdev] MC Hammer Test results
..., r0, ror #2 which it is incorrectly diagnosing as unpredictable. [bug 4] echo 0x90 0x00 0xc0 0xe7 | ./llvm-mc -triple armv7 --show-inst --show-encoding --disassemble echo 0x90 0x01 0xc0 0xe7 | ./llvm-mc -triple armv7 --show-inst --show-encoding --disassemble This bitpattern decodes to a BFI with an invalid mask operand, which is unpredictable. The first example fails with an abort when they are turned on, and otherwise creates the instruction BFI r0, r0, #32, #-32. The second example does not abort and decodes to BFI r0, r0, #1, #2 (0xe7c20090). The ARMARM could be clearer on thi...
2015 Jun 17
3
[LLVMdev] Path forward on profile guided inlining?
...f by default under a flag. I figure there's a lot to be discussed here, but I'd prefer to defer that a bit. We need to get the enabling parts in place before worrying too much about the heuristics. The Ideal Answer If we had the pass manager changes done, we'd be able to just ask BFI to compute an estimated execution count for the call site. Both of the inliner heuristics I'm interested in could be implemented using that information combined with an up to date estimate of the function entry count. If we had the pass manager changes, the only thing we'd need to do...