Displaying 20 results from an estimated 11000 matches similar to: "[LLVMdev] FYI: Planning to remove ProfileInfo and related passes from LLVM"
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
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.
2012 Jul 16
0
[LLVMdev] FYI: Planning to remove ProfileInfo and related passes from LLVM
Hi Chandler and Alastair,
I have been using the Profile.pl and the related passes and optimizations for about 4 years now. With every new release lately, the support for the profile scripts and their framework seemed to be downgrading. Hence, I used my own tiny one line fixes to keep them working. I offered to send these small patches to keep these scripts working, to the LLVM dev so that others
2018 Aug 15
2
Queries Regarding Usage of PGOInstrumentation Passes instead of Deprecated ProfileInfo
Hey all,
I have a piece of code (written in LLVM 2.8) which uses profiling results
produced by ProfileInfo. It essentially computes the number of iterations
performed by a loop from the profiling information available. The code
snippet in my pass looks something like this.
BasicBlock *header = loop->getHeader();
ProfileInfo &pi = getAnalysis< ProfileInfo >();
for(pred_iterator
2018 Aug 15
3
Queries Regarding Usage of PGOInstrumentation Passes instead of Deprecated ProfileInfo
Thank you so much for your response.
On Wed, Aug 15, 2018 at 3:08 PM, Xinliang David Li <xinliangli at gmail.com>
wrote:
>
>
> On Wed, Aug 15, 2018 at 7:36 AM Malhar Thakkar via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
>
>> Hey all,
>>
>> I have a piece of code (written in LLVM 2.8) which uses profiling results
>> produced by ProfileInfo.
2018 Aug 15
2
Queries Regarding Usage of PGOInstrumentation Passes instead of Deprecated ProfileInfo
On Wed, Aug 15, 2018 at 1:28 PM Xinliang David Li <xinliangli at gmail.com>
wrote:
>
>
> On Wed, Aug 15, 2018 at 12:46 PM Malhar Thakkar <cs13b1031 at iith.ac.in>
> wrote:
>
>> Thank you so much for your response.
>>
>> On Wed, Aug 15, 2018 at 3:08 PM, Xinliang David Li <xinliangli at gmail.com>
>> wrote:
>>
>>>
>>>
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 18
1
[LLVMdev] FYI: Planning to remove ProfileInfo and related passes from LLVM
Hi Alok,
On 17/07/12 13:00, #ALOK PRAKASH# wrote:
> Profile.pl is understandably a very simple script, but it does make
> it easier to see some preliminary profile results and identity the
> hot portions of a program which are suitable for hardware
> acceleration. llvm-prof also helps in the same way.
Ok, great -- using llvm-prof for detecting hot portions is the obvious
use, but I
2012 Jul 16
2
[LLVMdev] FYI: Planning to remove ProfileInfo and related passes from LLVM
Hi Alok,
On 16/07/12 12:41, #ALOK PRAKASH# wrote:
> I have been using the Profile.pl and the related passes and
> optimizations for about 4 years now. With every new release lately, the
> support for the profile scripts and their framework seemed to be
> downgrading. Hence, I used my own tiny one line fixes to keep them
> working. I offered to send these small patches to keep these
2012 Jul 17
0
[LLVMdev] RFC: Profiling Enhancements (GSoC)
Hi Alastair,
In addition to your planned tasks, you might want to put in some work to ensure branch probabilities are not lost during optimization. One known issue is LLVM optimizer can turn branchy code into switch statements and it would completely discard probability. Here is a simple example:
static void func2(int N, const int *a, const int *b, int *c) __attribute__((always_inline));
void
2009 Dec 03
2
[LLVMdev] Preserving ProfileInfo in several Passes
Hi all,
this (altough a big patch) is actually pretty straight forward: It
(tries) to preserve ProfileInfo in all -std-compile-opts passes and all
X86-Backend passes.
There is still some passes that have corner cases where the ProfileInfo
is not correct after the pass. Some passes are still missing...
How shall I proceed with this?
Andi
-------------- next part --------------
A non-text
2009 Sep 09
2
[LLVMdev] [PATCH] & Question: Preserving ProfileInfo for backend.
Thanks for such a rapid response!
> Don't know about Passes in the backend, but this could be a problem of
> an FunctionPassManager trying to use a ModulePass.
I manually applied the patch you provided for llc (I'm using the 2.5
release of LLVM not ToT) and it fixed my compilation error. When your
patch replaced the FunctionPassManager used by llc with a PassManager
the error went
2009 Sep 10
1
[LLVMdev] Loading ProfileInfo in Backend. (Was: [PATCH] & Question: Preserving ProfileInfo for backend.)
Hi,
Shuguang Feng wrote:
> Thanks for such a rapid response!
>
>> Don't know about Passes in the backend, but this could be a problem of
>> an FunctionPassManager trying to use a ModulePass.
>
> I manually applied the patch you provided for llc (I'm using the 2.5
> release of LLVM not ToT) and it fixed my compilation error. When your
> patch replaced the
2012 Jul 17
0
[LLVMdev] FYI: Planning to remove ProfileInfo and related passes from LLVM
Hello Alastair,
Yeah like I said, I was not aware of the new profile framework being developed. Interestingly BPI and BFI didnt turn up in any searches either. Anyway, I will take a look at them and see how they differ from the existing tools.
Profile.pl is understandably a very simple script, but it does make it easier to see some preliminary profile results and identity the hot portions of a
2009 Jun 29
7
[LLVMdev] Profiling in LLVM Patch
Hi all,
as proposed in
http://lists.cs.uiuc.edu/pipermail/llvmdev/2009-February/020396.html
I implemented the algorithm presented in [Ball94]. It only instruments
the minimal number of edges necessary for edge profiling.
The main changes introduced by this patch are:
*) a interface compatible rewrite of ProfileInfo
*) a cleanup of ProfileInfoLoader
(some functionality in ProfileInfoLoader
2014 Feb 03
2
[LLVMdev] [RFC] BlockFrequency is the wrong metric; we need a new one
On Feb 2, 2014, at 6:18 PM, Andrew Trick <atrick at apple.com> wrote:
>> The result of such a system would produce weights for every block in the above CFG as '1.0', or equivalent to the entry block weight. This to me is a really useful metric -- it indicates that no block in the CFG is really more or less likely than any other. Only *biases* in a specific direction would
2009 Sep 10
2
[LLVMdev] Loading ProfileInfo in Backend. (Was: [PATCH] & Question: Preserving ProfileInfo for backend.)
Shuguang Feng wrote:
>> What does "llc -debug-pass=Structure" say? Is the ProfileLoaderPass
>> really the last pass to touch the ProfileInfo before you are using it?
>
> Below is the sequence of passes that I see. Although the
> NoProfileInfo pass is being run, it should be subsequently overridden
> by ProfileInfoLoaderPass (LoaderPass) correct?
Yes.
>
2009 Dec 03
0
[LLVMdev] Preserving ProfileInfo in several Passes
Hello,
Here are a few misc. comments on this patch.
Would it make sense to mark the ProfileInfo passes as "CFGOnly?"
If so, that would let them be automatically preserved by passes
which don't modify the CFG (and that call AU.setPreservesCFG()).
> + if (ProfileInfo* PI = getAnalysisIfAvailable<ProfileInfo>()) {
> + PI->splitEdge(OrigPreHeader, NewHeader,
2009 Sep 10
0
[LLVMdev] Loading ProfileInfo in Backend. (Was: [PATCH] & Question: Preserving ProfileInfo for backend.)
> It *is* allowed to access ModulePass analysis information from an
> FunctionPass?
BasicBlockPlacement (a FunctionPass) also accesses the profile
information and I assumed it worked (but haven't independently
verified this).
> Can you try to manually override the PI value in the
> MyCodeGenPass::runOnMachineFunction() to the value seen in llc and then
> access the
2009 Jul 01
12
[LLVMdev] Profiling in LLVM Patch
Hi Daniel,
Daniel Dunbar wrote:
> Hi Andreas,
>
> First, thanks again for undertaking this work and submitting it back. There is a
> lot of good stuff here and it would be great to see it get back into the tree.
Thanks for taking the time to review this, I know its a huge patch. I still have a few questions on how you would like this patch to be re-factored and split up.
> [...]