Displaying 20 results from an estimated 21 matches for "passmgr".
2009 Jun 04
1
[LLVMdev] Get Analysis from PassManager
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi,
I try to write a tool that uses the PassManager to load profiling
information for a module like this:
...
ModulePass *LoaderPass = createProfileLoaderPass();
PassMgr.add(LoaderPass);
PassMgr.run(*M);
...
I can verify that the pass was run, but how to I get to the ProfileInfo
implemented by that pass?
I tried
...
ProfileInfo PI = LoaderPass->getAnalysis<ProfileInfo>();
...
but this does not seem to return the correct profiling information.
Tha...
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));
PassMgr.run(M);
ProfileIn...
2013 Sep 23
0
[LLVMdev] Cannot get Alias Analysis?
...hSCCPass.
Firstly, I inherit a class AnalysisDriver from CallGraphSCCPass.
Then, I implement my own runOnFunction method which tries to get alias
analysis from each function.
The code is shown as follows:
*class AnalysisDriver : public CallGraphSCCPass {*
* static char Pid;*
* PassManager &passMgr;*
* *
*public:*
* AnalysisDriver(PassManager &pmgr);*
* ~AnalysisDriver();*
*
*
* virtual void getAnalysisUsage(AnalysisUsage &AU) const {*
* AU.addRequired<CallGraph>();*
* AU.addRequired<AliasAnalysis>();*
* AU.addPreserved<AliasAnalysis>();*
* }*
* *
* b...
2010 Feb 26
1
[LLVMdev] Using Profile Information
...static char ID; // Class identification, replacement for typeinfo
MyAna() : ModulePass(&ID) {}
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
AU.setPreservesAll();
AU.addRequired<ProfileInfo>();
}
bool runOnModule(Module &M) {
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));
PI = &getAnalysis<Profil...
2008 Oct 27
0
[LLVMdev] endian independence
...is in LLVM, the place to start is to make
the optimizers completely targetdata-independent. The best way to do
this (IMO) is to change passes to use "getAnalysisToUpdate" instead of
"getAnalysis/AddRequired" on TargetData. Then, change opt to only add
targetdata to the passmgr if a target data string exists in the module.
This would make the optimizers transparently take advantage of TD when
available, but gracefully handle the cases when it isn't.
-Chris
2010 Feb 25
0
[LLVMdev] Using Profile Information
Ah BTW...
On 25.02.2010, at 17:33, ambika wrote:
> ProfileInfo *PI;
> PI = &getAnalysis<ProfileInfo>();
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
2008 Feb 15
2
[LLVMdev] Possible Bad Assertion in Value.cpp
Chris Lattner wrote:
> On Feb 15, 2008, at 3:01 PM, John Criswell wrote:
>
>
>>> The convention is that 'remove' unlinks the object from the IR, and
>>> 'erase' does remove and deletes the result.
>>>
>>> If someone wants to clarify this behavior in http://llvm.org/docs/ProgrammersManual.html#common
>>> , it would be nice :)
2008 Feb 15
0
[LLVMdev] Possible Bad Assertion in Value.cpp
...ally interfacing to the LeakDetector can help.
>>
> It is an LLVM pass, it's a debug build, and the only assertion I got
> was
> the one in ~Value().
>
> Should there have been an earlier assertion?
You load a module, run your pass (which leaks an instruction) from the
passmgr, then delete the module?
-Chris
2008 Feb 16
1
[LLVMdev] Possible Bad Assertion in Value.cpp
...>
>> It is an LLVM pass, it's a debug build, and the only assertion I got
>> was
>> the one in ~Value().
>>
>> Should there have been an earlier assertion?
>>
>
> You load a module, run your pass (which leaks an instruction) from the
> passmgr, then delete the module?
>
Yes, that's what the code was doing.
-- John T.
> -Chris
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmde...
2012 Jun 12
0
[LLVMdev] output -stats to file.txt
...gt;opt -stats temp.bc -o tmp.bc2
D:\ >opt -stats temp.bc -o tmp.bc2 -O3
===-------------------------------------------------------------------------===
... Statistics Collected ...
===-------------------------------------------------------------------------===
1 cgscc-passmgr - Maximum CGSCCPassMgr iterations on one SCC
3 reassociate - Number of insts reassociated
From: Rafael Parizi [mailto:parizi.computacao at gmail.com]
Sent: Tuesday, June 12, 2012 1:27 PM
To: Villmow, Micah
Cc: llvmdev at cs.uiuc.edu
Subject: Re: [LLVMdev] output -stats to file.txt
Yes, I'v...
2007 Aug 09
0
[LLVMdev] Choosing Alias Analysis
...9;s the regalloc way, which invents
> a whole new class just to register register allocators and provide an option
> for picking one. But alias analysis already uses AnalysisGroup so a new class
> to register alias analysis passes isn't necessary.
I'm not sure what you mean. The passmgr already fully supports this.
> It seems desireable to augment AnalysisGroup with the ability to provide
> command-line options. Is this a good strategy or is there a better way?
Command line options are already fully published by opt. llvm-gcc
intentionally does not publish all of the ll...
2012 Jun 12
1
[LLVMdev] output -stats to file.txt
...; ===-------------------------------------------------------------------------===
> ****
>
> ... Statistics Collected ...****
>
>
> ===-------------------------------------------------------------------------===
> ****
>
> ** **
>
> 1 cgscc-passmgr - Maximum CGSCCPassMgr iterations on one SCC****
>
> 3 reassociate - Number of insts reassociated****
>
> ** **
>
> ** **
>
> *From:* Rafael Parizi [mailto:parizi.computacao at gmail.com]
> *Sent:* Tuesday, June 12, 2012 1:27 PM
> *To:* Villmow, Micah
> *Cc:* llvm...
2012 Jun 12
2
[LLVMdev] output -stats to file.txt
Yes, I've tried and it did not work
On Tue, Jun 12, 2012 at 4:03 PM, Villmow, Micah <Micah.Villmow at amd.com>wrote:
> Have you tried "opt -stats bitecode.bc > test.txt"?****
>
> ** **
>
> *From:* llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] *On
> Behalf Of *Rafael Parizi
> *Sent:* Tuesday, June 12, 2012 11:36 AM
> *To:*
2007 Aug 09
2
[LLVMdev] Choosing Alias Analysis
On Thursday 09 August 2007 16:29, Devang Patel wrote:
> On Aug 9, 2007, at 2:22 PM, David Greene wrote:
> > A better question to ask is, how do I do this with llvm-gcc? My
> > perusal of
> > the code doesn't turn up any obvious places for options for alias
> > analysis
> > are registered.
>
> As you've figured out, not all options are exposed by
2008 Oct 27
3
[LLVMdev] endian independence
>> I'm already working on this myself. Would you be interested in having
>> this work contributed back to LLVM?
>
> If this were to better support target independent languages, it would
> be very useful. If you're just trying to *reduce* the endianness
> assumptions that leak through, I don't think it's a good approach.
> There is just no way to solve
2013 Jul 29
5
[LLVMdev] IR Passes and TargetTransformInfo: Straw Man
...hem
> are quite substantial. User-time is used for comparison. I measure the
> result twice, they are basically very stable. As far as I can tell from the result,
> the proposed pass-ordering is basically toward good change.
>
> Interesting enough, if I combine the populatePreIPOPassMgr() as the preIPO phase
> (see the patch) with original populateLTOPassManager() for both IPO and postIPO,
> I see significant improve to "Benchmarks/Trimaran/netbench-crc/netbench-crc"
> (about 94%, 0.5665s(was) vs 0.0295s), as of I write this mail, I have not yet got chance
&g...
2009 Sep 15
1
[LLVMdev] SCCIterator and unconnected graphs
Chris Lattner wrote:
> On Sep 3, 2009, at 4:15 AM, Hans Vandierendonck wrote:
> Hi,
>>
>> I am using the scc_iterator class in my code on a CallGraph, where some
>> functions are not called from within the module. It seems that
>> scc_iterator does not list all SCCs if the graph is not connected; only
>> those nodes connected to the node pointed to by
>>
2013 Jul 29
0
[LLVMdev] IR Passes and TargetTransformInfo: Straw Man
...time is used for comparison. I measure
> > the
> > result twice, they are basically very stable. As far as I can tell
> > from the result,
> > the proposed pass-ordering is basically toward good change.
> >
> > Interesting enough, if I combine the populatePreIPOPassMgr() as
> > the preIPO phase
> > (see the patch) with original populateLTOPassManager() for both IPO
> > and postIPO,
> > I see significant improve to
> > "Benchmarks/Trimaran/netbench-crc/netbench-crc"
> > (about 94%, 0.5665s(was) vs 0.0295s), as of I wr...
2007 Aug 09
3
[LLVMdev] Choosing Alias Analysis
...gt; invents a whole new class just to register register allocators and
> > provide an option for picking one. But alias analysis already uses
> > AnalysisGroup so a new class to register alias analysis passes isn't
> > necessary.
>
> I'm not sure what you mean. The passmgr already fully supports this.
Regalloc doesn't use PassManager to handle its options. It uses a sort of
AnalysisGroup-like scheme to provide the -regalloc=foo option.
> > It seems desireable to augment AnalysisGroup with the ability to provide
> > command-line options. Is this a...
2013 Jul 28
0
[LLVMdev] IR Passes and TargetTransformInfo: Straw Man
...but more improve, few of them
are quite substantial. User-time is used for comparison. I measure the
result twice, they are basically very stable. As far as I can tell from
the result,
the proposed pass-ordering is basically toward good change.
Interesting enough, if I combine the populatePreIPOPassMgr() as the
preIPO phase
(see the patch) with original populateLTOPassManager() for both IPO and
postIPO,
I see significant improve to
"Benchmarks/Trimaran/netbench-crc/netbench-crc"
(about 94%, 0.5665s(was) vs 0.0295s), as of I write this mail, I have
not yet got chance
to figure out wh...