Displaying 20 results from an estimated 38 matches for "profileinfoloader".
2009 Oct 07
1
[LLVMdev] Use LoopInfo in a non-pass class such as ProfileInfoLoader?
Hi everyone,
I'm adding loop profiling to LLVM built-in profiler. I'm just
wondering in a class that's not a pass, such as ProfileInfoLoader, how
can I get information produced by passes such as LoopInfo and
DominatorTree?
In other words, ProfileInfoLoader is not a pass, so it can't call
AnalysisUsage::addRequired and AnalysisUsage::getAnalysisUsage
directly. Then how can it know if an arbitrary basic block is a loop
header using i...
2009 Jul 02
1
[LLVMdev] Profiling in LLVM Patch Followup 1
Hi,
this is the first in a series of patches to cleanup and improve the LLVM Profiling Infrastructure.
First and foremost this patch removes duplicate functionality from ProfileInfoLoader and ProfileInfo:
The ProfileInfoLoader performed not only the loading of the profile information but also some synthesis of block and function execution counts from edge profiling information. Since the ProfileInfo performs this synthesis anyways, the ProfileInfoLoader was demoted to be really only...
2009 Nov 17
2
[LLVMdev] PassManager again...
...bage Collection Instructions
> Remove unreachable blocks from the CFG
> Optimize for code generation
> Insert stack protectors
> Machine Function Analysis
> X86 DAG->DAG Instruction Selection
> X86 FP_REG_KILL inserter
...
Okay, so the ProfileInfoLoader is working, but when I examine the executions more closely I see that the ProfileInfo generated by the ProfileInfoLoader is immediately discarded, when the SelectionDAGISel kicks in the "No Profile Info"-Implementation is used:
> 0x1c1a740 Executing Pass 'Profiling information...
2009 Nov 17
4
[LLVMdev] PassManager again...
Hi,
Devang Patel wrote:
> On Tue, Nov 17, 2009 at 9:03 AM, Andreas Neustifter
> <astifter-llvm at gmx.at> wrote:
>
>> Okay, so the ProfileInfoLoader is working, but when I examine the executions more closely I see that the ProfileInfo generated by the ProfileInfoLoader is immediately discarded, when the SelectionDAGISel kicks in the "No Profile Info"-Implementation is used:
>>
>> > 0x1c1a740 Executing Pass 'Profi...
2009 Aug 24
3
[LLVMdev] Request Permission for approve-after-commit for Profiling Infrastructure.
...SIGNED MESSAGE-----
Hash: SHA1
Hi,
since I'm planing on a whole bunch of changes in the area of the
Profiling Infrastructure I would like to ask humbly if it is possible to
have approve-after-commit permission for the following files:
include/llvm/Analysis/ProfileInfo.h
include/llvm/Analysis/ProfileInfoLoader.h
include/llvm/Analysis/ProfileInfoTypes.h
lib/Analysis/ProfileEstimatorPass.cpp
lib/Analysis/ProfileInfo.cpp
lib/Analysis/ProfileInfoLoader.cpp
lib/Analysis/ProfileInfoLoaderPass.cpp
lib/Transforms/Instrumentation/*
runtime/libprofile/*
Also I would have to add some modules (new files) in Analysi...
2009 Jul 14
0
[LLVMdev] Profiling in LLVM Patch Followup 1
......
Thanks,
- Daniel
> Index: include/llvm/Analysis/Passes.h
> ===================================================================
> --- include/llvm/Analysis/Passes.h (revision 74697)
> +++ include/llvm/Analysis/Passes.h (working copy)
...
> + ModulePass *createProfileLoaderPass(ProfileInfoLoader *PIL);
I avoided the need for this by just loading the profile info twice, as
a sort of intermediate step.
> + std::vector<unsigned> ECs = PIL->getRawEdgeCounts();
This copies the vector, it should be a (const) refererence.
> + // Instrument all of the edges...
> + unsigned...
2012 Sep 26
0
[LLVMdev] Error while loading profile information
...;
#include "llvm/Support/Debug.h"
//#include "ProfilingUtils.h"
#include "llvm/InitializePasses.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Analysis/Passes.h"
#include "llvm/Analysis/ProfileInfo.h"
#include "llvm/Analysis/ProfileInfoLoader.h"
#include "llvm/Transforms/Instrumentation.h"
#include <stdio.h>
#include <cstdio>
#include <fstream>
using namespace llvm;
using namespace std;
namespace llvm{
struct McProfInf oMsProfI[1000];
}
namespace {
class ARMInstrStats : public MachineFunctionPass {...
2009 Nov 17
0
[LLVMdev] PassManager again...
On Tue, Nov 17, 2009 at 9:03 AM, Andreas Neustifter
<astifter-llvm at gmx.at> wrote:
>
> Okay, so the ProfileInfoLoader is working, but when I examine the executions more closely I see that the ProfileInfo generated by the ProfileInfoLoader is immediately discarded, when the SelectionDAGISel kicks in the "No Profile Info"-Implementation is used:
>
> > 0x1c1a740 Executing Pass 'Profiling inf...
2009 Nov 20
0
[LLVMdev] PassManager again...
Hi.
On 11/17/2009 08:16 PM, Andreas Neustifter wrote:
> Hi,
>
> Devang Patel wrote:
>> On Tue, Nov 17, 2009 at 9:03 AM, Andreas Neustifter
>> <astifter-llvm at gmx.at> wrote:
>>
>>> Okay, so the ProfileInfoLoader is working, but when I examine the executions more closely I see that the ProfileInfo generated by the ProfileInfoLoader is immediately discarded, when the SelectionDAGISel kicks in the "No Profile Info"-Implementation is used:
>>>
>>> > 0x1c1a740 Executing Pass...
2009 Jul 01
12
[LLVMdev] Profiling in LLVM Patch
...ve the
> value, and clients should "do the right thing.
Maybe, its of course always possibile to have custom wrappers that perform this sort of task if necessary...
> 2. We shouldn't worry too much about preserving the functionality of the current
> llvm-prof tool, which uses the ProfileInfoLoader directly. llvm-prof should be
> rewritten to just use the public API provided by ProfileInfo. This should be
> done early so there are less dependencies on the ProfileInfoLoader interface.
Okay, thats no problem. I guess it makes sense to rewrite llvm-prof but I was not sure if this sort of c...
2013 Sep 13
2
[LLVMdev] Removing legacy profiling code from LLVM
...is/PathNumbering.h
# deleted: include/llvm/Analysis/PathProfileInfo.h
# deleted: include/llvm/Analysis/ProfileDataLoader.h
# deleted: include/llvm/Analysis/ProfileDataTypes.h
# deleted: include/llvm/Analysis/ProfileInfo.h
# deleted: include/llvm/Analysis/ProfileInfoLoader.h
# deleted: include/llvm/Analysis/ProfileInfoTypes.h
# deleted: lib/Analysis/PathNumbering.cpp
# deleted: lib/Analysis/PathProfileInfo.cpp
# deleted: lib/Analysis/PathProfileVerifier.cpp
# deleted: lib/Analysis/ProfileDataLoader.cpp
# deleted:...
2012 Aug 03
2
[LLVMdev] Profile Based Branch Weight Metadata
...e data, the mapping
of the data to the IR and the setting of metadata are each handled
separately so changes to the profiling insertion code is not an issue.
For example: -insert-edge-profiling inserts counters that have no
relation to branch probabilities.
The patch was initially based on the ProfileInfoLoader code, though has
been stripped down and rewritten quite significantly. For review
purposes it can be treated as new code.
The key function is probably setBranchWeightMetadata(...) near the end
of the patch.
Regards,
Alastair.
-------------- next part --------------
A non-text attachment was s...
2018 Apr 25
2
Merging problem
...- https://reviews.llvm.org/D45418
I ran
./utils/release/merge.sh --proj llvm --rev 45418 -srcdir ../llvm/
# Updating tree
Updating '.':
At revision 330799.
# Merging r45418 into llvm locally
--- Merging (from foreign repository) r45418 into '.':
C lib/Archive
C lib/Analysis/ProfileInfoLoader.cpp
...
It seems It tries to download the r45418 which is wrong, that is not mine.
Any advice?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180425/0be811ca/attachment.html>
2012 Aug 09
0
[LLVMdev] Profile Based Branch Weight Metadata
..., the mapping of the data to the IR and the setting of metadata are each handled separately so changes to the profiling insertion code is not an issue. For example: -insert-edge-profiling inserts counters that have no relation to branch probabilities.
>
> The patch was initially based on the ProfileInfoLoader code, though has been stripped down and rewritten quite significantly. For review purposes it can be treated as new code.
>
> The key function is probably setBranchWeightMetadata(...) near the end of the patch.
>
> Regards,
> Alastair.
> <profile_branch_weight_metadata.patch...
2009 Jun 29
7
[LLVMdev] Profiling in LLVM Patch
...s.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 was duplicated in ProfileInfo or
ProfileInfoLoaderPass; ProfileInfoLoader now really only performs the
loading but not the post-processing)
*) a new instrumentation pass that performs the optimal edge profiling
instrumentation
*) a helper mod...
2010 Feb 25
0
[LLVMdev] Using Profile Information
...rofileInfo>();
If this _in_ your pass, then you have to register the usage of this in
the getAnalysisUsage() method:
void getAnalysisUsage(AnalysisUsage &AU) const {
AU.addRequired<ProfileInfo>();
}
Also you have to ensure that the pass you are using is executed right
after the ProfileInfoLoader, currently not all passes are preserving
the profile information.
If you need intermediate passes I already have a patch that preserves
(most) of the information, I'm waiting for after 2.7 to put this in...
Andi
2018 Apr 25
0
Merging problem
...t; ./utils/release/merge.sh --proj llvm --rev 45418 -srcdir ../llvm/
>
> # Updating tree
> Updating '.':
> At revision 330799.
> # Merging r45418 into llvm locally
> --- Merging (from foreign repository) r45418 into '.':
> C lib/Archive
> C lib/Analysis/ProfileInfoLoader.cpp
> ...
>
> It seems It tries to download the r45418 which is wrong, that is not mine.
> Any advice?
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev...
2013 Sep 13
0
[LLVMdev] Removing legacy profiling code from LLVM
...deleted: include/llvm/Analysis/PathProfileInfo.h
> # deleted: include/llvm/Analysis/ProfileDataLoader.h
> # deleted: include/llvm/Analysis/ProfileDataTypes.h
> # deleted: include/llvm/Analysis/ProfileInfo.h
> # deleted: include/llvm/Analysis/ProfileInfoLoader.h
> # deleted: include/llvm/Analysis/ProfileInfoTypes.h
> # deleted: lib/Analysis/PathNumbering.cpp
> # deleted: lib/Analysis/PathProfileInfo.cpp
> # deleted: lib/Analysis/PathProfileVerifier.cpp
> # deleted: lib/Analysis/ProfileDataLoader...
2010 Feb 25
3
[LLVMdev] Using Profile Information
Hi,
How can I use profile information into my pass for performing some analysis.
I tried something like:
PassManager PassMgr = PassManager();
cl::opt<std::string> ProfileDataFile(cl::Positional,
cl::desc("<llvmprof.out file>"),
cl::Optional, cl::init("llvmprof.out"));
PassMgr.add(createProfileLoaderPass(ProfileDataFile));
2009 Jul 01
0
[LLVMdev] Profiling in LLVM Patch
...ignoreMissing parameter to getExecutionCount makes
sense, instead the provider should always return -1 if it doesn't have the
value, and clients should "do the right thing.
2. We shouldn't worry too much about preserving the functionality of the current
llvm-prof tool, which uses the ProfileInfoLoader directly. llvm-prof should be
rewritten to just use the public API provided by ProfileInfo. This should be
done early so there are less dependencies on the ProfileInfoLoader interface.
In fact, it might even make sense to just get rid of llvm-prof and instead
implement a module level pass which co...