Displaying 8 results from an estimated 8 matches for "createbreakcriticaledgespass".
2009 Jul 27
2
[LLVMdev] Pass Scheduling Information without using opt
...Here is some example code that describes what 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 be...
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
...mod {
> (do some stuff)
>
> ExistingModuleProvider 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,...
2006 Jul 04
0
[LLVMdev] Critical edges
Hi,
I am able to remove the critical edges now. I only had to insert the
line below in PPCTargetmachine.cpp.
PM.add(createBreakCriticalEdgesPass());
However, it does not remove all the critical edges. I am getting a very
weird dataflow graph (even without the Break Critical edges pass). The
dataflow generated by MachineFunction::dump() for the program below is
given here:
http://compilers.cs.ucla.edu/fernando/projects/soc/images/loop_no_cr...
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
2006 Jul 04
3
[LLVMdev] Critical edges
Dear guys,
I've adapted the pass in BreakCriticalEdges.cpp so I can use it
before register allocation. But the pass is not changing the control
flow graph of the machine function. I think it is because I am inserting
the pass after the control flow graph of the machine function is built.
I am inserting the pass as required by the register allocator, and I
can see that the pass is
2007 Aug 19
1
[LLVMdev] MBB Critical edges
...me underling BasicBlock. Later on, it turned out that this restriction
// was too much for the client methods, and I decided to remove it. The source
// code still has the old assertion comented. One way that the client could
// use to ensure the absence of critical edges was to call
// call PM.add(createBreakCriticalEdgesPass()); in the target machine. But
// this seems not to be enough. I've discovered this error when compiling the
// Ackermann function.
//===---------------------------------------------------------------------===//
void CriticalEdgeRemoval_Fer::split_critical_edge
(MachineBasicBlock & src...
2011 Apr 05
3
[LLVMdev] Building LLVM on Solaris/Sparc
...objects/tools/opt/Debug+Asserts/opt.o
llvm::ModulePass::getPotentialPassManagerType()
const/n/fs/scratch/tpondich/ParallelAssert/llvm-objects/tools/opt/Debug+Asserts/AnalysisWrappers.o
llvm::createMemCpyOptPass()
/n/fs/scratch/tpondich/ParallelAssert/llvm-objects/tools/opt/Debug+Asserts/opt.o
llvm::createBreakCriticalEdgesPass()
/n/fs/scratch/tpondich/ParallelAssert/llvm-objects/tools/opt/Debug+Asserts/opt.o
llvm::CallGraph::print(llvm::raw_ostream&, llvm::Module*)
const/n/fs/scratch/tpondich/ParallelAssert/llvm-objects/tools/opt/Debug+Asserts/AnalysisWrappers.o
vtable for
llvm::cl::basic_parser_impl/n/fs/scratch/tpo...