search for: dominatorfronti

Displaying 9 results from an estimated 9 matches for "dominatorfronti".

Did you mean: dominatorfrontier
2004 Nov 29
2
[LLVMdev] Running specific passes
...y no way it could work without mem2reg pass. (That's the value analysis path I talked about earlier). > Alternatively, if you don't want to do that, you can build mem2reg into > your pass if it works better. To do this, your pass needs to > 'addRequired' DominatorTree and DominatorFrontier, then use the > interfaces exposed through > include/llvm/Transforms/Utils/PromoteMemToReg.h. This still leaves the question of TargetData parameter -- which is not used by the PromoteMemToReg function, AFAICT. Passing *(TargetData*)0 is dirty. - Volodya
2011 Jan 14
1
[LLVMdev] examine dominating relationships between basic blocks
...the list and ask. Say, I have BasicBlock * a, *b, and need to know whether a DOM b, (a DOMi b, a DOMp b, a PostDOM b), etc. How can these be expressed? Similar things, how can I find all BasicBlocks that a dominates, (DOM, DOMp, PostDOM, ...) Browsing the source code, I seem to find things like DominatorFrontier, DominatorTree, etc. But I have no clue how they can be used. Can somebody leverage some more details please. Thank you Chuck
2004 Nov 26
0
[LLVMdev] Running specific passes
...r analysis, so I must Usually you want to do this at a higher level, why not just use 'opt -yourpass -mem2reg'? Alternatively, if you don't want to do that, you can build mem2reg into your pass if it works better. To do this, your pass needs to 'addRequired' DominatorTree and DominatorFrontier, then use the interfaces exposed through include/llvm/Transforms/Utils/PromoteMemToReg.h. -Chris > use PassManager. Here's the code I ended up with: > > bool runOnFunction(llvm::Function& m) > { > visit(m); > > ExistingModuleP...
2004 Nov 29
0
[LLVMdev] Running specific passes
...ithout mem2reg pass. > (That's the value analysis path I talked about earlier). ok > > Alternatively, if you don't want to do that, you can build mem2reg into > > your pass if it works better. To do this, your pass needs to > > 'addRequired' DominatorTree and DominatorFrontier, then use the > > interfaces exposed through > > include/llvm/Transforms/Utils/PromoteMemToReg.h. > > This still leaves the question of TargetData parameter -- which is not used by > the PromoteMemToReg function, AFAICT. Passing *(TargetData*)0 is dirty. Just addRequired<...
2004 Nov 26
2
[LLVMdev] Running specific passes
Hello, in the implementation of some analysis, I need to change the program and then invoke Mem2Reg pass. That pass, in turn, requires other analysis, so I must use PassManager. Here's the code I ended up with: bool runOnFunction(llvm::Function& m) { visit(m); ExistingModuleProvider mp(m.getParent());
2013 Nov 02
0
[LLVMdev] DominanceFrontier/PostDominanceFrontier for PRE
Hi, I'm not able to answer your question. I'm wondering if you can create your own if it is just your own hobby project, or a project that you don't have to commit to the main repository. Creating DominatorFrontier seems to be expensive. However, if you are using bit-vector to represent a basic-block-set, I guess it can be done in linear time in practice. Following is the algorithm in my mind, I never see people implement DF this way, and myself are lazying about implementing one. However, I don't...
2013 Nov 02
2
[LLVMdev] DominanceFrontier/PostDominanceFrontier for PRE
Hi all, Does anyone know how to recreate the DominanceFronter and PostDominanceFrontier structures using the API of the latest release? To my knowledge, these are needed to implement a PRE pass (as done in the past<https://llvm.org/svn/llvm-project/llvm/tags/RELEASE_13/lib/Transforms/Scalar/PRE.cpp>), but they were removed a while ago for efficiency reasons. Is there a better way to
2004 Nov 30
3
[LLVMdev] Running specific passes
On Monday 29 November 2004 19:39, Chris Lattner wrote: > > > Alternatively, if you don't want to do that, you can build mem2reg into > > > your pass if it works better. To do this, your pass needs to > > > 'addRequired' DominatorTree and DominatorFrontier, then use the > > > interfaces exposed through > > > include/llvm/Transforms/Utils/PromoteMemToReg.h. > > > > This still leaves the question of TargetData parameter -- which is not > > used by the PromoteMemToReg function, AFAICT. Passing *(TargetData*)0 is &gt...
2013 Nov 03
4
[LLVMdev] DominanceFrontier/PostDominanceFrontier for PRE
...uxin Yang <shuxin.llvm at gmail.com> wrote: > Hi, > > I'm not able to answer your question. I'm wondering if you can create > your own if it is just your own hobby project, > or a project that you don't have to commit to the main repository. > > Creating DominatorFrontier seems to be expensive. However, if you are > using bit-vector to represent a basic-block-set, I > guess it can be done in linear time in practice. Following is the > algorithm in my mind, I never see people implement > DF this way, and myself are lazying about implementing one. Howe...