search for: createbasicaliasanalysispass

Displaying 20 results from an estimated 41 matches for "createbasicaliasanalysispass".

2012 Oct 19
2
[LLVMdev] Choosing an alias analyzer
...ddInitialAliasAnalysisPasses, I see this code ------ // Add TypeBasedAliasAnalysis before BasicAliasAnalysis so that // BasicAliasAnalysis wins if they disagree. This is intended to help // support "obvious" type-punning idioms. PM.add(createTypeBasedAliasAnalysisPass()); PM.add(createBasicAliasAnalysisPass()); } ------ My goal is to use ScalarEvolutionAliasAnalysis in MemoryDependenceAnalysis. When I do, getPassName in MemoryDependenceAnalysis (by stepping into getAnalysisUsage), I get $39 = 0x399f778 "Basic Alias Analysis (stateless AA impl)" To switch to ScalarEvolutionAnalysis, I cha...
2012 Sep 10
2
[LLVMdev] Dead Store Elimination
Hi, Here is the result of optimization using the following passes: llvm::createBasicAliasAnalysisPass() llvm::createInstructionCombiningPass() llvm::createReassociatePass() llvm::createGVNPass() llvm::createCFGSimplificationPass() The optimized IR seems to contain what look like dead stores on %8 and %9 in basic blocks 7 and haveData. How can I get rid of them? Thanks, Vinayak define internal...
2011 Nov 04
2
[LLVMdev] Question on JIT optimizations
...Brent FunctionPassManager OurFPM(TheModule); // Set up the optimizer pipeline. Start with registering info about how the // target lays out data structures. OurFPM.add(new TargetData(*TheExecutionEngine->getTargetData())); // Provide basic AliasAnalysis support for GVN. OurFPM.add(createBasicAliasAnalysisPass()); // Do simple "peephole" optimizations and bit-twiddling optzns. OurFPM.add(createInstructionCombiningPass()); // Reassociate expressions. OurFPM.add(createReassociatePass()); // Eliminate Common SubExpressions. OurFPM.add(createGVNPass()); // Simplify the control flow gr...
2012 Sep 10
0
[LLVMdev] Dead Store Elimination
Hi Vinayak, > Here is the result of optimization using the following passes: > > llvm::createBasicAliasAnalysisPass() > llvm::createInstructionCombiningPass() > llvm::createReassociatePass() > llvm::createGVNPass() > llvm::createCFGSimplificationPass() > you should run the mem2reg pass too, and first. > ; <label>:7 ; preds = %openSuccessBB > %...
2012 Oct 20
0
[LLVMdev] Choosing an alias analyzer
...this code > ------ > // Add TypeBasedAliasAnalysis before BasicAliasAnalysis so that > // BasicAliasAnalysis wins if they disagree. This is intended to help > // support "obvious" type-punning idioms. > PM.add(createTypeBasedAliasAnalysisPass()); > PM.add(createBasicAliasAnalysisPass()); > } > ------ > > My goal is to use ScalarEvolutionAliasAnalysis in MemoryDependenceAnalysis. > When I do, getPassName in MemoryDependenceAnalysis (by stepping into > getAnalysisUsage), I get > $39 = 0x399f778 "Basic Alias Analysis (stateless AA impl)" > > T...
2010 Nov 15
1
[LLVMdev] Optimization of calls to functions without side effects (from Kaleidoscope example)
Still no luck after switching to: theFPM->add( new llvm::TargetData( *theExecutionEngine->getTargetData() ) ); theFPM->add( llvm::createBasicAliasAnalysisPass() ); theFPM->add( llvm::createInstructionCombiningPass() ); theFPM->add( llvm::createReassociatePass() ); theFPM->add( llvm::createGVNPass() ); theFPM->add( llvm::createCFGSimplificationPass() ); Based on output from "llvm-ld -version" and "clang -v" I'm usi...
2011 Nov 04
0
[LLVMdev] Question on JIT optimizations
...M(TheModule); > > // Set up the optimizer pipeline. Start with registering info about how the > // target lays out data structures. > OurFPM.add(new TargetData(*TheExecutionEngine->getTargetData())); > // Provide basic AliasAnalysis support for GVN. > OurFPM.add(createBasicAliasAnalysisPass()); > // Do simple"peephole" optimizations and bit-twiddling optzns. > OurFPM.add(createInstructionCombiningPass()); > // Reassociate expressions. > OurFPM.add(createReassociatePass()); > // Eliminate Common SubExpressions. > OurFPM.add(createGVNPass()...
2013 Mar 30
2
[LLVMdev] Missed optimisation opportunities?
..._x end if ll_i=1 do while ll_i<=al_x ll_ret=ll_last+ll_last2 ll_last2=ll_last ll_last=ll_ret ll_i++ loop return ll_ret end function With the following function passes; FunctionPasses->add(new DataLayout(*JITEngine->getDataLayout())); FunctionPasses->add(createBasicAliasAnalysisPass()); FunctionPasses->add(createPromoteMemoryToRegisterPass()); FunctionPasses->add(createInstructionCombiningPass()); FunctionPasses->add(createReassociatePass()); FunctionPasses->add(createGVNPass()); FunctionPasses->add(createCFGSimplification...
2015 Jan 14
2
[LLVMdev] question about enabling cfl-aa and collecting a57 numbers
...> >> > >> > >> > if (UseCFLAA) >> > >> > PM.add(createCFLAliasAnalysisPass()); >> > >> > PM.add(createTypeBasedAliasAnalysisPass()); >> > >> > PM.add(createScopedNoAliasAAPass()); >> > >> > PM.add(createBasicAliasAnalysisPass()); >> > >> > >> > >> > So are you recommending changing to the sequence below instead? >> > >> > >> > Not quite: >> > >> > >> > addPass(createTypeBasedAliasAnalysisPass()); >> > >> > addPass...
2015 Jan 17
3
[LLVMdev] question about enabling cfl-aa and collecting a57 numbers
...is is intended to help // support "obvious" type-punning idioms. - if (UseCFLAA) - addPass(createCFLAliasAnalysisPass()); addPass(createTypeBasedAliasAnalysisPass()); addPass(createScopedNoAliasAAPass()); + if (UseCFLAA) + addPass(createCFLAliasAnalysisPass()); addPass(createBasicAliasAnalysisPass()); Do we really want to change the order here? I had originally placed it after the metadata-based passes thinking that the compile-time would be better (guessing that the metadata queries would be faster than the CFL queries, so if the metadata could quickly return a NoAlias, then we'd cut o...
2015 Jan 13
2
[LLVMdev] question about enabling cfl-aa and collecting a57 numbers
...In Transforms/IPO/PassManagerBuilder.cpp and CodeGen/Passes.cpp we see > this sequence: > > > > if (UseCFLAA) > > PM.add(createCFLAliasAnalysisPass()); > > PM.add(createTypeBasedAliasAnalysisPass()); > > PM.add(createScopedNoAliasAAPass()); > > PM.add(createBasicAliasAnalysisPass()); > > > > So are you recommending changing to the sequence below instead? > > > Not quite: > > > addPass(createTypeBasedAliasAnalysisPass()); > > addPass(createScopedNoAliasAAPass()); > You want it here. > > addPass(createBasicAliasAnalysisPas...
2015 Jan 14
3
[LLVMdev] question about enabling cfl-aa and collecting a57 numbers
...ses.cpp we see > > this sequence: > > > > > > > > if (UseCFLAA) > > > > PM.add(createCFLAliasAnalysisPass()); > > > > PM.add(createTypeBasedAliasAnalysisPass()); > > > > PM.add(createScopedNoAliasAAPass()); > > > > PM.add(createBasicAliasAnalysisPass()); > > > > > > > > So are you recommending changing to the sequence below instead? > > > > > > Not quite: > > > > > > addPass(createTypeBasedAliasAnalysisPass()); > > > > addPass(createScopedNoAliasAAPass()); > > You wan...
2015 Jan 15
3
[LLVMdev] question about enabling cfl-aa and collecting a57 numbers
On Thu, Jan 15, 2015 at 1:26 PM, Nick Lewycky <nlewycky at google.com> wrote: > On 15 January 2015 at 13:10, Daniel Berlin <dberlin at dberlin.org> wrote: > >> Yes. >> I've attached an updated patch that does the following: >> >> 1. Fixes the partialalias of globals/arguments >> 2. Enables partialalias for cases where nothing has been unified to
2017 Feb 06
3
Kaleidoscope tutorial: comments, corrections and Windows support
...move "Context LLVMContext;" - "TheJIT" comes out of nowhere and thus is not defined in the code of the tutorial user. Setting the data layout could be added in 4.4, as it is at least not required for showing the improved body of "test" - "createBasicAliasAnalysisPass" does not exist anymore (llvm-3.9.1). Also requires adaption of the text 4.4. Adding a JIT Compiler - Code for main: - "TheJIT = llvm::make_unique<KaleidoscopeJIT>();" will cause a crash due to an invalid read in "Datalayout::operator=" as &q...
2010 Nov 15
6
[LLVMdev] Optimization of calls to functions without side effects (from Kaleidoscope example)
I'm using the gvn pass, not sure about basic-aa. I've copied the code as-is from http://llvm.org/docs/tutorial/LangImpl4.html#code and added "F->addFnAttr( Attribute::ReadOnly )" after "Function *F = Function::Create(FT, Function::ExternalLinkage, Name, TheModule)". The passes it sets up are: // Set up the optimizer pipeline. Start with registering info about
2015 Jan 15
2
[LLVMdev] question about enabling cfl-aa and collecting a57 numbers
...ses.cpp we see > > this sequence: > > > > > > > > if (UseCFLAA) > > > > PM.add(createCFLAliasAnalysisPass()); > > > > PM.add(createTypeBasedAliasAnalysisPass()); > > > > PM.add(createScopedNoAliasAAPass()); > > > > PM.add(createBasicAliasAnalysisPass()); > > > > > > > > So are you recommending changing to the sequence below instead? > > > > > > Not quite: > > > > > > addPass(createTypeBasedAliasAnalysisPass()); > > > > addPass(createScopedNoAliasAAPass()); > > You wan...
2012 Feb 20
1
[LLVMdev] ARM opcode format
...and return function pointer FunctionPassManager OurFPM(&mod); // Start with registering info about how the // target lays out data structures. OurFPM.add(new TargetData(*TheExecutionEngine->getTargetData())); // Provide basic AliasAnalysis support for GVN. OurFPM.add(createBasicAliasAnalysisPass()); // Do simple "peephole" optimizations and bit-twiddling optzns. OurFPM.add(createInstructionCombiningPass()); // Reassociate expressions. OurFPM.add(createReassociatePass()); // Eliminate Common SubExpressions. OurFPM.add(createGVNPass()); // Simplify the c...
2013 Nov 01
2
[LLVMdev] loop vectorizer: this loop is not worth vectorizing
...er loop has a variable trip count depending on the functions arguments. I cannot make the L3 loop larger so that the vectorizer might be happy, because this will again introduce 'rem' and 'div' in the index calculation. I am using these passes: functionPassManager->add(llvm::createBasicAliasAnalysisPass()); functionPassManager->add(llvm::createLICMPass()); functionPassManager->add(llvm::createGVNPass()); functionPassManager->add(llvm::createLoopVectorizePass()); functionPassManager->add(llvm::createInstructionCombiningPass()); functionPassManager->add(llv...
2015 Jan 14
4
[LLVMdev] question about enabling cfl-aa and collecting a57 numbers
...(createCFLAliasAnalysisPass()); >>>>>> > >>>>>> > PM.add(createTypeBasedAliasAnalysisPass()); >>>>>> > >>>>>> > PM.add(createScopedNoAliasAAPass()); >>>>>> > >>>>>> > PM.add(createBasicAliasAnalysisPass()); >>>>>> > >>>>>> > >>>>>> > >>>>>> > So are you recommending changing to the sequence below instead? >>>>>> > >>>>>> > >>>>>> > Not quite: >>&g...
2015 Jan 17
2
[LLVMdev] question about enabling cfl-aa and collecting a57 numbers
...; // support "obvious" type-punning idioms. > - if (UseCFLAA) > - addPass( createCFLAliasAnalysisPass()); > addPass( createTypeBasedAliasAnalysisPa ss()); > addPass( createScopedNoAliasAAPass()); > + if (UseCFLAA) > + addPass( createCFLAliasAnalysisPass()); > addPass( createBasicAliasAnalysisPass() ); > > Do we really want to change the order here? I had originally placed > it after the metadata-based passes thinking that the compile-time > would be better (guessing that the metadata queries would be faster > than the CFL queries, so if the metadata could quickly return a &g...