search for: analysisgroup

Displaying 20 results from an estimated 52 matches for "analysisgroup".

2007 Aug 09
2
[LLVMdev] Choosing Alias Analysis
...out, not all options are exposed by llvm-gcc. You'll > have to update llvm-gcc. So what's the right way to do this? There'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. 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? -Dave
2007 Aug 09
0
[LLVMdev] Choosing Alias Analysis
...e exposed by llvm-gcc. You'll >> have to update llvm-gcc. > > So what's the right way to do this? There'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 bett...
2007 Aug 09
3
[LLVMdev] Choosing Alias Analysis
...day 09 August 2007 17:27, Chris Lattner wrote: > > So what's the right way to do this? There'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. Regalloc doesn't use PassManager to handle its options. It uses a sort of AnalysisGroup-like scheme to provide the -regalloc=foo...
2010 Nov 26
2
[LLVMdev] Question regarding the alias analysis chaining behaviour
...at 2:50 PM, Nick Lewycky<nicholas at mxc.ca>  wrote: >> >> I thought analysis passes just rebuilt their state after they got >> invalidated.  Shouldn't that happen with an AA pass as well?  Or is AA >> special? > > What makes AA special is that it's in an AnalysisGroup. Yes analyses will be > recreated when required by the running pass, but in this case the passes > require "anything in the AA group" and by default the PassManager will > satisfy that by creating BasicAA, not the pass you just wrote and stuck in > the optz'n list at some...
2007 Aug 10
0
[LLVMdev] Choosing Alias Analysis
...We >> do allow you to use some options through -mllvm -foo, but that won't help >> in this case. > Alias analysis is just the closest example of what I really need to do: > provide an option to choose a coalescer. I've got a scheme where > coalescers register with an AnalysisGroup (just like AA) and I need a > way to pick one at runtime. This really has nothing to do with llvm-gcc. > It's a question of how to provide command-line options for choosing > members of an AnalysisGroup where the trick used by opt is not available > (because one doesn't want to...
2012 Jan 04
2
[LLVMdev] Comparison of Alias Analysis in LLVM
...cause globalsmodref subclasses AliasAnalysis. The documents say that all the aa analysis are chained, and give an example like opt -basicaa -ds-aa -licm. In this case, does ds-aa automatically call basicaa for the case when ds-aa can only return MayAlias? This looks magic to me. Is this handled by AnalysisGroup magically? > > No one has really been pushing forward aliasing much lately. > > -Chris > -- Jianzhou
2012 Jan 04
2
[LLVMdev] Comparison of Alias Analysis in LLVM
...t; writes: >> The documents say that all the aa analysis are chained, and give an >> example like opt -basicaa -ds-aa -licm. In this case, does ds-aa >> automatically call basicaa for the case when ds-aa can only return >> MayAlias? This looks magic to me. Is this handled by AnalysisGroup >> magically? > > As I understand it, the simplest AA pass which can determine reliable > information is the one which is used, which then chains on to more > complex (and presumably slower) passes.  In this way something like > basicaa can determine a few things as definite an...
2010 Nov 25
0
[LLVMdev] Question regarding the alias analysis chaining behaviour
...> the default AA (BasicAA) and not the one you put on the command line. >> > > I thought analysis passes just rebuilt their state after they got > invalidated. Shouldn't that happen with an AA pass as well? Or is AA > special? What makes AA special is that it's in an AnalysisGroup. Yes analyses will be recreated when required by the running pass, but in this case the passes require "anything in the AA group" and by default the PassManager will satisfy that by creating BasicAA, not the pass you just wrote and stuck in the optz'n list at some point. If you in...
2008 Aug 29
5
[LLVMdev] Dependence Analysis [was: Flow-Sensitive AA]
...DistanceVector) independent interface and put them in ADT. - Put various tests, DeltaTest, in lib/Analysis folder. The transformation pass does not need to see these details. - DataDependenceAnalysis will select various dependence tests based on user selection. We want a interface similar to AnalysisGroup used by Alias Analysis, but we also want to allow the possibility of running multiple tests at the same time. - Make ArrayDepTester a private implementation detail of DataDependenceAnalysis. What do you think ? - Devang
2012 Jan 04
0
[LLVMdev] Comparison of Alias Analysis in LLVM
...seas.upenn.edu> writes: > The documents say that all the aa analysis are chained, and give an > example like opt -basicaa -ds-aa -licm. In this case, does ds-aa > automatically call basicaa for the case when ds-aa can only return > MayAlias? This looks magic to me. Is this handled by AnalysisGroup > magically? As I understand it, the simplest AA pass which can determine reliable information is the one which is used, which then chains on to more complex (and presumably slower) passes. In this way something like basicaa can determine a few things as definite and anything it cannot determi...
2010 Nov 25
3
[LLVMdev] Question regarding the alias analysis chaining behaviour
On Wed, Nov 24, 2010 at 2:50 PM, Nick Lewycky <nicholas at mxc.ca> wrote: > The AA that you specify will be created when you specify it and live > until that pass is invalidated (not explicitly preserved by a pass that > runs). The next time a pass requires AA, the pass manager will create > the default AA (BasicAA) and not the one you put on the command line. > I thought
2013 Dec 06
0
[LLVMdev] [RFC] CGContext skeleton implementation
...happen whenever the TargetMachine and Function are both available. I'm fine with that as long as - no one objects to putting CGContext in libCore - our goal is to eventually replace TargetTransformInfo with CGContext (maybe renamed) I think the issue here is whether we want to continue use an AnalysisGroup to vend target info, or rather to have passes get what they need from LLVMContext. I find the AnalysisGroup thing too subtle and prone to driver bugs, but haven't fully worked out an alternate design. Maybe something as simple as this would work: LLVMContext -> TargetContext (initialized...
2006 Mar 22
1
[LLVMdev] problem loading analysis results from Inliner pass
On Tue, 21 Mar 2006, Michael McCracken wrote: > opt: /home/mmccrack/lens/obj-llvm-darcslocal/../llvm-darcslocal/llvm/lib/VMCore/PassManagerT.h:426: > void llvm::PassManagerT<UnitType>::markPassUsed(const llvm::PassInfo*, > llvm::Pass*) [with UnitType = llvm::Module]: Assertion > `getAnalysisOrNullUp(P) && > dynamic_cast<ImmutablePass*>(getAnalysisOrNullUp(P))
2013 Dec 06
3
[LLVMdev] [RFC] CGContext skeleton implementation
...and Function are both available. > > I'm fine with that as long as > - no one objects to putting CGContext in libCore > - our goal is to eventually replace TargetTransformInfo with CGContext > (maybe renamed) > > I think the issue here is whether we want to continue use an AnalysisGroup > to vend target info, or rather to have passes get what they need from > LLVMContext. I find the AnalysisGroup thing too subtle and prone to driver > bugs, but haven't fully worked out an alternate design. > I'm not actually a fan of the analysis group hack, and there are bett...
2012 Jun 26
2
[LLVMdev] Does anaysis group only contain passes?
...ks, John. This sounds reasonable that the analysis group just provides an interface to its implementors (pass). Then I have another question, is it allowed to specify multiple pass in the same analysis group in the command line for opt? If yes, which pass will be used for the call of getAnaysis<AnalysisGroup>()? -Thomson On Mon, Jun 25, 2012 at 10:34 PM, John Criswell <criswell at illinois.edu>wrote: > On 6/24/12 10:37 AM, Thomson wrote: > > I found that ProfileInfo is contained in an analysis group, but > ProfileInfo class itself is not derived from any base classes of passes,...
2010 Nov 26
0
[LLVMdev] Question regarding the alias analysis chaining behaviour
Hi Kenneth, > So the trouble is in the way AnalysisGroups are handled, then?  Is > there a desire or plan to change it so that the pass continues to > exist even when it's invalidated and needs to be recomputed? This is definitely a bug which needs to be fixed. Noone just expressed the willingness to fix it :) -- With best regards, Anton Koro...
2007 Aug 09
2
[LLVMdev] Choosing Alias Analysis
Ok, here's a potentialy stupid question: how do I choose the various flavors of alias analysis on the command line? I followed the alias analysis design in its use of AnalysisGroup when I did the register coalescing refactoring and alternative implentations. But I can't figure out how to actually invoke the different versions. There's no cl_opt for the various alias analysis flavors so I just assumed it was all built in to AnalysisGroup. Not so, apparently. So ho...
2007 Aug 09
2
[LLVMdev] Choosing Alias Analysis
On Thursday 09 August 2007 15:56, Devang Patel wrote: > On Aug 9, 2007, at 1:52 PM, David Greene wrote: > > So how do I get opt to use Andersens instead of basicaa, for example? > > Following uses basic alias analysis > > $ opt -licm foo.bc -disable-output -debug-pass=Structure > > where as > > $ opt -anders-aa -licm foo.bc -disable-output -debug-pass=Structure
2007 Aug 09
0
[LLVMdev] Choosing Alias Analysis
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 llvm-gcc. You'll have to update llvm-gcc. - Devang
2008 Aug 29
0
[LLVMdev] Dependence Analysis [was: Flow-Sensitive AA]
...a different set of indexes once constraints are propagated. This means these tests are called on expressions that are not necessarily present in the code itself. > - DataDependenceAnalysis will select various dependence tests based > on > user selection. We want a interface similar to AnalysisGroup used > by > Alias Analysis, but we also want to allow the possibility of running > multiple tests at the same time. That will probably be the most difficult part. But with all the people that shows interest on using or adding new analysis here, I am hopeful we will obtain an acceptabl...