Displaying 10 results from an estimated 10 matches for "createloopsimplifypass".
2016 Oct 12
2
Loop Unrolling Fail in Simple Vectorized loop
...he PassManagerBuilder.cpp to
run some canonicalization routines and redo unrolling again. I have set
partial unrolling on + have a huge threshold + allows expensive loop trip
counts. Still it didn't unroll by 2.
MPM.add(createLoopUnrollPass());
MPM.add(createCFGSimplificationPass());
MPM.add(createLoopSimplifyPass());
MPM.add(createLoopRotatePass(SizeLevel == 2 ? 0 : -1));
MPM.add(createLCSSAPass());
MPM.add(createIndVarSimplifyPass()); // Canonicalize indvars
MPM.add(createLoopUnrollPass());
Digging deeper I found, that it fails in UnrollRuntimeLoopRemainder
function, where it is unable to calc...
2009 Jul 27
2
[LLVMdev] Pass Scheduling Information without using opt
...I am doing:
MyPass : ModulePass {
bool runOnModule(mod) {
for some Functions f in mod {
(do some stuff)
ExistingModuleProvider mp(mod);
FunctionPassManager* fpm =
new FunctionPassManager(&mp);
fpm->add(createLowerSwitchesPass());
fpm->add(createBreakCriticalEdgesPass());
fpm->add(createLoopSimplifyPass());
fpm2->run(*f);
mp.releaseModule();
(do more stuff)
}
}
}
Now what I want to have is some runtime-output of the pass manager that
tells me what passes were run in what order, give me timing information
if possible etc.
I hope my explanation is better this time :).
Cheers,
Ralf
2012 Feb 29
2
[LLVMdev] problem with inlining pass
...ing pass (llvm::createFunctionInliningPass), then these passes:
- own FunctionPass
- llvm::createPromoteMemoryToRegisterPass
- llvm::createInstructionCombiningPass
- llvm::createDeadInstEliminationPass
- llvm::createDeadStoreEliminationPass
- new llvm::DominatorTree()
- new llvm::LoopInfo()
- llvm::createLoopSimplifyPass()
- own FunctionPass
The problem is that the last function pass (and maybe the others too)
gets called
with functions that the inlining pass is supposed to delete. this
behavior I only saw
on windows and macos in 64 bit release mode. In debug mode it works and
I think
at least on windows it wor...
2016 Oct 13
2
Loop Unrolling Fail in Simple Vectorized loop
...canonicalization routines and redo unrolling again. I have set
> partial unrolling on + have a huge threshold + allows expensive loop trip
> counts. Still it didn't unroll by 2.
>
> MPM.add(createLoopUnrollPass());
>
> MPM.add(createCFGSimplificationPass());
>
> MPM.add(createLoopSimplifyPass());
>
> MPM.add(createLoopRotatePass(SizeLevel == 2 ? 0 : -1));
>
> MPM.add(createLCSSAPass());
>
> MPM.add(createIndVarSimplifyPass()); // Canonicalize indvars
>
> MPM.add(createLoopUnrollPass());
>
>
> Digging deeper I found, that it fails in UnrollRuntimeL...
2016 Oct 13
2
Loop Unrolling Fail in Simple Vectorized loop
...>>> partial unrolling on + have a huge threshold + allows expensive loop trip
>>> counts. Still it didn't unroll by 2.
>>>
>>> MPM.add(createLoopUnrollPass());
>>>
>>> MPM.add(createCFGSimplificationPass());
>>>
>>> MPM.add(createLoopSimplifyPass());
>>>
>>> MPM.add(createLoopRotatePass(SizeLevel == 2 ? 0 : -1));
>>>
>>> MPM.add(createLCSSAPass());
>>>
>>> MPM.add(createIndVarSimplifyPass()); // Canonicalize indvars
>>>
>>> MPM.add(createLoopUnrollPass());
>&g...
2009 Jul 26
0
[LLVMdev] Pass Scheduling Information without using opt
On Sun, Jul 26, 2009 at 1:48 PM, Ralf Karrenberg<Chareos at gmx.de> wrote:
> Hey Daniel,
>
> thanks for the response.
>
>> I believe all you need to do is call llvm::llvm_shutdown().
>>
> I am not sure that this is what I need. When and how should I call
> llvm_shutdown()?
At the end of the program, this just arranges for LLVM's "managed
statics"
2009 Jul 27
0
[LLVMdev] Pass Scheduling Information without using opt
...eProvider mp(mod);
> FunctionPassManager* fpm =
> new FunctionPassManager(&mp);
I think creating a new Function Pass Manager inside a module pass is
not ideal, however...
>
> fpm->add(createLowerSwitchesPass());
> fpm->add(createBreakCriticalEdgesPass());
> fpm->add(createLoopSimplifyPass());
>
> fpm2->run(*f);
>
> mp.releaseModule();
>
> (do more stuff)
> }
>
> }
>
> }
>
>
> Now what I want to have is some runtime-output of the pass manager that
> tells me what passes were run in what order, give me timing information
> if possible...
2009 Jul 26
2
[LLVMdev] Pass Scheduling Information without using opt
Hey Daniel,
thanks for the response.
> I believe all you need to do is call llvm::llvm_shutdown().
>
I am not sure that this is what I need. When and how should I call
llvm_shutdown()?
After the FunctionPassManager is done, the calling ModulePass still
performs quite a few actions on the transformed code and also calls the
FunctionPassManager on different functions. However, I need
2012 Mar 01
0
[LLVMdev] problem with inlining pass
...ss), then these passes:
> - own FunctionPass
> - llvm::createPromoteMemoryToRegisterPass
> - llvm::createInstructionCombiningPass
> - llvm::createDeadInstEliminationPass
> - llvm::createDeadStoreEliminationPass
> - new llvm::DominatorTree()
> - new llvm::LoopInfo()
> - llvm::createLoopSimplifyPass()
> - own FunctionPass
>
> The problem is that the last function pass (and maybe the others too)
> gets called
> with functions that the inlining pass is supposed to delete.
I think this is a normal consequence of how the pass manager schedules
passes. Suppose you have the followin...
2011 Apr 05
3
[LLVMdev] Building LLVM on Solaris/Sparc
.../scratch/tpondich/ParallelAssert/llvm-objects/tools/opt/Debug+Asserts/opt.o
llvm::IntervalPartition::ID
/n/fs/scratch/tpondich/ParallelAssert/llvm-objects/tools/opt/Debug+Asserts/opt.o
llvm::EnableDebugBuffering
/n/fs/scratch/tpondich/ParallelAssert/llvm-objects/tools/opt/Debug+Asserts/opt.o
llvm::createLoopSimplifyPass()
/n/fs/scratch/tpondich/ParallelAssert/llvm-objects/tools/opt/Debug+Asserts/opt.o
llvm::Pass::~Pass()
/n/fs/scratch/tpondich/ParallelAssert/llvm-objects/tools/opt/Debug+Asserts/GraphPrinters.o
llvm::createScalarReplAggregatesPass(int,
bool)/n/fs/scratch/tpondich/ParallelAssert/llvm-objects/tools/...