Displaying 20 results from an estimated 1000 matches similar to: "Optimizations using profile information"
2018 Apr 09
3
InductiveRangeCheckElimination and BranchProbabilityInfo
Hi,
extractRangeChecksFromBranch uses BranchProbabilityInfo to decide whether its worth trying the InductiveRangeCheckElimination transformation. For the following example:
void split() {
for (int i = 0; i < 100; ++i) {
if (i < 99)
do_something()
else
do_something_else()
}
}
But the reported BPI is reported as 50/50 to whether do_something will be called, but we
2018 Apr 10
0
InductiveRangeCheckElimination and BranchProbabilityInfo
Adding Maxim
On Apr 9, 2018, at 10:06 AM, Sam Parker via llvm-dev <llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org>> wrote:
Hi,
extractRangeChecksFromBranch uses BranchProbabilityInfo to decide whether its worth trying the InductiveRangeCheckElimination transformation. For the following example:
void split() {
for (int i = 0; i < 100; ++i) {
if (i < 99)
2011 Aug 31
2
[LLVMdev] Branch transformation with branch-weight metadata
Hello :)
I am looking around __builtin_expect() directive for optimization.
( http://llvm.org/docs/BranchWeightMetadata.html )
Since it is not included in v2.9, I am searching about it on svn trunk.
I found that the lowering phase generates branch-weight metadata node for
that directive.
However, I can't find any code related to the metadata even in the branch
transformation code.
IMHO, in
2015 Dec 07
4
[LLVMdev] Path forward on profile guided inlining?
(Resending after removing llvmdev at cs.uiuc.edu and using
llvm-dev at lists.llvm.org)
On Mon, Dec 7, 2015 at 3:08 PM, Easwaran Raman <eraman at google.com> wrote:
> Hi Philip,
>
> Is there any update on this? I've been sending patches to get rid of the
> callee hotness based inline hints from the frontend and move the logic to
> the inliner. The next step is to use
2014 Feb 02
5
[LLVMdev] [RFC] BlockFrequency is the wrong metric; we need a new one
Right now, all profile information is funneled through two analysis passes
prior to any part of the optimizer using it.
First, we have BranchProbabilityInfo, which provides a simple interface to
the simplest form of profile information: local and relative branch
probabilities. These merely express the likelihood of taking one of a
mutually exclusive set of exit paths from a basic block. They are
2012 Jul 16
2
[LLVMdev] RFC: Profiling Enhancements (GSoC)
Hi all,
In light of the expected removal of ProfileInfo this is a request for
comments on the next few items that I now plan to work on for GSoC.
Planned tasks:
#0 Add support for determining branch weight metadata by profiling
At the absolute minimum this will require writing a new profile loader
which will set branch weight metadata based on profiling data.
#1 Optionally use profiling
2012 Jul 15
0
[LLVMdev] FYI: Planning to remove ProfileInfo and related passes from LLVM
Hi Chandler,
I'm a GSoC student working on profiling support (mentor CC'ed). I'm no
stranger to the issues with the current system: my original proposal was
written without knowledge of the limitations. This is why this list
hasn't heard much from me yet.
I would like to continue working on profiling support but I'm not
attached to ProfileInfo and wouldn't be
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
2015 Feb 26
0
[LLVMdev] RFC - Improvements to PGO profile support
> On Feb 24, 2015, at 3:31 PM, Diego Novillo <dnovillo at google.com> wrote:
>
>
> We (Google) have started to look more closely at the profiling infrastructure in LLVM. Internally, we have a large dependency on PGO to get peak performance in generated code.
>
> Some of the dependencies we have on profiling are still not present in LLVM (e.g., the inliner) but we will
2012 Jul 15
3
[LLVMdev] FYI: Planning to remove ProfileInfo and related passes from LLVM
On Sun, Jul 15, 2012 at 8:32 AM, Alastair Murray <alastairmurray42 at gmail.com
> wrote:
> Hi Chandler,
>
> I'm a GSoC student working on profiling support (mentor CC'ed). I'm no
> stranger to the issues with the current system: my original proposal was
> written without knowledge of the limitations. This is why this list
> hasn't heard much from me yet.
2015 Feb 24
9
[LLVMdev] RFC - Improvements to PGO profile support
We (Google) have started to look more closely at the profiling
infrastructure in LLVM. Internally, we have a large dependency on PGO to
get peak performance in generated code.
Some of the dependencies we have on profiling are still not present in LLVM
(e.g., the inliner) but we will still need to incorporate changes to
support our work on these optimizations. Some of the changes may be
addressed
2014 Feb 03
4
[LLVMdev] [RFC] BlockFrequency is the wrong metric; we need a new one
On Sun, Feb 2, 2014 at 6:18 PM, Andrew Trick <atrick at apple.com> wrote:
>
> On Feb 2, 2014, at 2:13 AM, Chandler Carruth <chandlerc at gmail.com> wrote:
>
> > Right now, all profile information is funneled through two analysis
> passes prior to any part of the optimizer using it.
> >
> > First, we have BranchProbabilityInfo, which provides a simple
2019 Mar 04
2
RFC: Getting ProfileSummaryInfo and BlockFrequencyInfo from various types of passes under the new pass manager
On Sat, Mar 2, 2019 at 12:58 AM Fedor Sergeev <fedor.sergeev at azul.com>
wrote:
>
>
> On 3/2/19 2:38 AM, Hiroshi Yamauchi wrote:
>
> Here's a sketch of the proposed approach for just one pass (but imagine
> more)
>
> https://reviews.llvm.org/D58845
>
> On Fri, Mar 1, 2019 at 12:54 PM Fedor Sergeev via llvm-dev <
> llvm-dev at lists.llvm.org>
2012 Jul 15
4
[LLVMdev] FYI: Planning to remove ProfileInfo and related passes from LLVM
Hello folks,
I'd like to remove all of the old and defunct profile info passes from
LLVM. These have been almost entirely supplanted by the BranchProbability
and BlockFrequency systems, which are actually on by default, and in use in
optimization passes.
The old system is not on, and hasn't been touched in years except to do
minor build fixes and updates.
As far as I'm aware, the
2019 Mar 04
2
RFC: Getting ProfileSummaryInfo and BlockFrequencyInfo from various types of passes under the new pass manager
On 3/4/19 10:49 PM, Hiroshi Yamauchi wrote:
>
>
> On Mon, Mar 4, 2019 at 10:55 AM Hiroshi Yamauchi <yamauchi at google.com
> <mailto:yamauchi at google.com>> wrote:
>
>
>
> On Sat, Mar 2, 2019 at 12:58 AM Fedor Sergeev
> <fedor.sergeev at azul.com <mailto:fedor.sergeev at azul.com>> wrote:
>
>
>
> On 3/2/19 2:38 AM,
2019 Mar 01
4
RFC: Getting ProfileSummaryInfo and BlockFrequencyInfo from various types of passes under the new pass manager
Here's a sketch of the proposed approach for just one pass (but imagine
more)
https://reviews.llvm.org/D58845
On Fri, Mar 1, 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
2019 Mar 13
2
RFC: Getting ProfileSummaryInfo and BlockFrequencyInfo from various types of passes under the new pass manager
Overall seems fine to me.
On 3/11/19 8:12 PM, Hiroshi Yamauchi wrote:
> Here's a revised approach based on the discussion:
>
> - Cache PSI right after the profile summary in the IR is written in
> the pass pipeline. This would avoid the need to insert
> RequireAnalysisPass for PSI before each non-module pass that needs it.
> PSI can be technically invalidated but unlikely
2014 Feb 05
4
[LLVMdev] [RFC] BlockFrequency is the wrong metric; we need a new one
On Feb 3, 2014, at 12:13 AM, Andrew Trick <atrick at apple.com> wrote:
> On Feb 2, 2014, at 6:55 PM, Chandler Carruth <chandlerc at gmail.com> wrote:
>
>> On Sun, Feb 2, 2014 at 6:18 PM, Andrew Trick <atrick at apple.com> wrote:
>>
>> On Feb 2, 2014, at 2:13 AM, Chandler Carruth <chandlerc at gmail.com> wrote:
>>
>> > Right now,
2008 Aug 06
3
Re: Call of Duty 4 black screen and error
Same with me. But I have an older nvidia card.
NVidia GeForce Go 7200
Driver: 173.14.09
Tested versions:
wine 1.1.0 + 3D mark patch without dll overides
wine 1.1.1 + 3D mark patch with and without dll overrides
Compiled with gcc 3.3.6
It first shows a dialog:
It appears that Call of Duty 4: Modern Warfare did not quit properly the last time it ran. Do you want to run the game in the safe mode?
2019 Jan 13
2
Problem using BlockFrequencyInfo's getBlockProfileCount
Hey,
I am trying to use the BlockFrequencyInfoWrapperPass to obtain hotness
information in my LLVM pass. Attached is a minimal example of code which
creates a SIGSEGV. The pass calls
AU.addRequired<BlockFrequencyInfoWrapperPass>(); in
getAnalysisUsage(..). The problem exists with changed and unchanged IR.
The binary is instrumented like this: clang input.bc -fprofile-generate
-o