Displaying 20 results from an estimated 46 matches for "createreassociatepass".
2013 Apr 17
2
[LLVMdev] [polly] pass ordering
Tobias Grosser wrote:
> As said before, we could probably add it in between those two passes:
>
> MPM.add(createReassociatePass()); // Reassociate expressions
> + addExtensionsToPM(EP_LoopOptimizerStart, MPM);
> MPM.add(createLoopRotatePass()); // Rotate Loop
As this is in the middle of other LNO passes, can you please rename
s/EP_LoopOptimizerStart/EP_Polly_LNO/ or anything other than LoopOptimizerStart?
Tha...
2013 Apr 17
0
[LLVMdev] [polly] pass ordering
On 04/17/2013 09:04 PM, Sebastian Pop wrote:
> Tobias Grosser wrote:
>> As said before, we could probably add it in between those two passes:
>>
>> MPM.add(createReassociatePass()); // Reassociate expressions
>> + addExtensionsToPM(EP_LoopOptimizerStart, MPM);
>> MPM.add(createLoopRotatePass()); // Rotate Loop
>
> As this is in the middle of other LNO passes, can you please rename
> s/EP_LoopOptimizerStart/EP_Polly_LNO/ or anything other than L...
2008 Dec 19
2
[LLVMdev] strange behaviour after extracting optimization pass code
...std::string functionName = "main";
llvm::Module* mod = some arbitrary valid modulepointer;
llvm::ExistingModuleProvider mp(mod);
llvm::FunctionPassManager fpm(&mp);
fpm.add(new llvm::TargetData(mod));
fpm.add(llvm::createInstructionCombiningPass());
fpm.add(llvm::createReassociatePass());
fpm.add(llvm::createGVNPass());
fpm.add(llvm::createCFGSimplificationPass());
fpm.run(*f);
//...get execution engine
//... call execEngine->getPointerToFunction()
//... execute function
-----------------------------
Now if I extract exactly this code and put it into a dif...
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 void @block0() {
entry:
%0 = call i8* @RNI_File_new()
%1 = call...
2010 Nov 15
6
[LLVMdev] Optimization of calls to functions without side effects (from Kaleidoscope example)
...ring info about how the
// target lays out data structures.
OurFPM.add(new TargetData(*TheExecutionEngine->getTargetData()));
// 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 graph (deleting unreachable blocks, etc).
OurFPM.add(createCFGSimplificationPass());
It does simplify _some_ things. For example:
ready> def simplifyThis(x) (x*2)+(2*x);
Read function defi...
2013 Apr 17
0
[LLVMdev] [polly] pass ordering
...oryToRegisterPass());
>>> PM.add(llvm::createInstructionCombiningPass());
>>> PM.add(llvm::createCFGSimplificationPass());
>>> PM.add(llvm::createTailCallEliminationPass());
>>> PM.add(llvm::createCFGSimplificationPass());
>>> PM.add(llvm::createReassociatePass());
>>> PM.add(llvm::createLoopRotatePass());
>>> PM.add(llvm::createInstructionCombiningPass());
>>>
>>> if (!SCEVCodegen)
>>> PM.add(polly::createIndVarSimplifyPass());
>>>
>>> PM.add(polly::createCodePreparationPass(...
2013 Apr 17
2
[LLVMdev] [polly] pass ordering
...vm::createPromoteMemoryToRegisterPass());
> > PM.add(llvm::createInstructionCombiningPass());
> > PM.add(llvm::createCFGSimplificationPass());
> > PM.add(llvm::createTailCallEliminationPass());
> > PM.add(llvm::createCFGSimplificationPass());
> > PM.add(llvm::createReassociatePass());
> > PM.add(llvm::createLoopRotatePass());
> > PM.add(llvm::createInstructionCombiningPass());
> >
> > if (!SCEVCodegen)
> > PM.add(polly::createIndVarSimplifyPass());
> >
> > PM.add(polly::createCodePreparationPass());
> > PM.add(pol...
2011 Nov 04
2
[LLVMdev] Question on JIT optimizations
...ecutionEngine->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 graph (deleting unreachable blocks, etc).
OurFPM.add(createCFGSimplificationPass());
OurFPM.doInitialization();
// Set the global so the code gen can use this.
TheFPM = &OurFPM;...
2008 Dec 19
1
[LLVMdev] strange behaviour after extracting optimization pass code
...d::string functionName = "main";
llvm::Module* mod = some arbitrary valid modulepointer;
llvm::ExistingModuleProvider mp(mod);
llvm::FunctionPassManager fpm(&mp);
fpm.add(new llvm::TargetData(mod));
fpm.add(llvm::createInstructionCombiningPass());
fpm.add(llvm::createReassociatePass());
fpm.add(llvm::createGVNPass());
fpm.add(llvm::createCFGSimplificationPass());
fpm.run(*f);
//...get execution engine
//... call execEngine->getPointerToFunction()
//... execute function
-----------------------------
Now if I extract exactly this code and put it into...
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
> %8 = alloca i64, align 8
Put alloca instructions in the entry block if possible...
2008 Dec 19
0
[LLVMdev] strange behaviour after extracting optimization pass code
..."main";
> llvm::Module* mod = some arbitrary valid modulepointer;
{
>
> llvm::ExistingModuleProvider mp(mod);
> llvm::FunctionPassManager fpm(&mp);
> fpm.add(new llvm::TargetData(mod));
> fpm.add(llvm::createInstructionCombiningPass());
> fpm.add(llvm::createReassociatePass());
> fpm.add(llvm::createGVNPass());
> fpm.add(llvm::createCFGSimplificationPass());
> fpm.run(*f);
}
> //...get execution engine
> //... call execEngine->getPointerToFunction()
> //... execute function
2013 Sep 14
0
[LLVMdev] [Polly] Compile-time and Execution-time analysis for the SCEV canonicalization
...ToRegisterPass());
// PM.add(llvm::createInstructionCombiningPass()); //this is the most expensive canonicalization pass for flop benchmark
PM.add(llvm::createCFGSimplificationPass());
PM.add(llvm::createTailCallEliminationPass());
PM.add(llvm::createCFGSimplificationPass());
PM.add(llvm::createReassociatePass());
PM.add(llvm::createLoopRotatePass());
PM.add(llvm::createInstructionCombiningPass());
PM.add(polly::createCodePreparationPass());
}
Results are shown on http://188.40.87.11:8000/db_default/v4/nts/46?baseline=44&compare_to=44. As shown in the results, 13 benchmarks have >5% compile-...
2013 Sep 13
2
[LLVMdev] [Polly] Compile-time and Execution-time analysis for the SCEV canonicalization
...ryToRegisterPass());
PM.add(llvm::createInstructionCombiningPass()); //this is the most expensive canonicalization pass for flop benchmark
PM.add(llvm::createCFGSimplificationPass());
PM.add(llvm::createTailCallEliminationPass());
PM.add(llvm::createCFGSimplificationPass());
PM.add(llvm::createReassociatePass());
PM.add(llvm::createLoopRotatePass());
PM.add(llvm::createInstructionCombiningPass());
if (!SCEVCodegen)
PM.add(polly::createIndVarSimplifyPass());
PM.add(polly::createCodePreparationPass());
}
If we remove the first "InstructionCombining" pass, then the compile-time is red...
2013 Sep 25
0
[LLVMdev] [Polly] Move Polly's execution later
...y/lib/RegisterPasses.cpp):
PM.add(llvm::createPromoteMemoryToRegisterPass());
PM.add(llvm::createInstructionCombiningPass());
PM.add(llvm::createCFGSimplificationPass());
PM.add(llvm::createTailCallEliminationPass());
PM.add(llvm::createCFGSimplificationPass());
PM.add(llvm::createReassociatePass());
PM.add(llvm::createLoopRotatePass());
PM.add(llvm::createInstructionCombiningPass());
We can see that some of them are also called in common cases (lib/Transforms/IPO/PassManagerBuilder.cpp:181):
MPM.add(createEarlyCSEPass());
MPM.add(createJumpThreadingPass());
MPM.add(createCo...
2010 Nov 15
0
[LLVMdev] Optimization of calls to functions without side effects (from Kaleidoscope example)
...arget lays out data structures.
> OurFPM.add(new TargetData(*TheExecutionEngine->getTargetData()));
> // 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 graph (deleting unreachable blocks, etc).
> OurFPM.add(createCFGSimplificationPass());
>
> It does simplify _some_ things. For example:
>
> ready> def simp...
2013 Sep 19
1
[LLVMdev] How do you add MachineBlockPlacement to a Function Pass Manager?
......
if(OptLevel > 1) {
TheFPM = new llvm::FunctionPassManager(M);
// add some passes for opt1
// ...
if(OptLevel > 2) {
// BlockPlacement
TheFPM->add(llvm::createBlockPlacementPass());
// Reassociate expressions.
TheFPM->add(llvm::createReassociatePass());
// etc ...
It looks like llvm actually had a `createMachineBlockPlacementPass` once a
upon a time. But that was removed and refactored by atrick #150100. It now
just has a
extern char &MachineBlockPlacementID;
in Passes.h instead.
I'm /very/ new to llvm and only started look...
2013 Apr 17
3
[LLVMdev] [polly] pass ordering
...asses(llvm::PassManagerBase &PM) {
PM.add(llvm::createPromoteMemoryToRegisterPass());
PM.add(llvm::createInstructionCombiningPass());
PM.add(llvm::createCFGSimplificationPass());
PM.add(llvm::createTailCallEliminationPass());
PM.add(llvm::createCFGSimplificationPass());
PM.add(llvm::createReassociatePass());
PM.add(llvm::createLoopRotatePass());
PM.add(llvm::createInstructionCombiningPass());
if (!SCEVCodegen)
PM.add(polly::createIndVarSimplifyPass());
PM.add(polly::createCodePreparationPass());
PM.add(polly::createRegionSimplifyPass());
Sergei was saying that on some benchmarks P...
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 using:
llvm version 2.9svn
clang version 2.9 (trunk 118171)
> -----Original Message-----
> From: D...
2011 Nov 04
0
[LLVMdev] Question on JIT optimizations
...> // 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 graph (deleting unreachable blocks, etc).
> OurFPM.add(createCFGSimplificationPass());
>
> OurFPM.doInitialization();
>
> // Set the global so the code g...
2013 Sep 25
3
[LLVMdev] [Polly] Move Polly's execution later
...PM.add(llvm::createPromoteMemoryToRegisterPass());
> PM.add(llvm::createInstructionCombiningPass());
> PM.add(llvm::createCFGSimplificationPass());
> PM.add(llvm::createTailCallEliminationPass());
> PM.add(llvm::createCFGSimplificationPass());
> PM.add(llvm::createReassociatePass());
> PM.add(llvm::createLoopRotatePass());
> PM.add(llvm::createInstructionCombiningPass());
>
> We can see that some of them are also called in common cases (lib/Transforms/IPO/PassManagerBuilder.cpp:181):
>
> MPM.add(createEarlyCSEPass());
> MPM.add(createJum...