Displaying 20 results from an estimated 1100 matches similar to: "[LLVMdev] DominatorTrees, DominanceFrontiers, interfaces and cloning"
2017 Dec 08
3
Issue with BUILD_SHARED_LIBS=ON
Dear all,
while trying to build llvm with shared libraries using GCC (tested both in
Ubuntu 14.04 and Ubuntu 16.04) as in
cmake -G Ninja -DBUILD_SHARED_LIBS=ON
I run into the following link error
lib/Transforms/IPO/CMakeFiles/LLVMipo.dir/PartialInlining.cpp.o: In function `llvm::ForwardDominanceFrontierBase<llvm::BasicBlock>::ForwardDominanceFrontierBase()':
2003 Aug 13
1
[LLVMdev] Running a pass
Hi,
I want to run the Mem2Reg pass on a function without using the the LLVM opt utility. I wrote some code, which I am not sure is correct:
TS_ASSERT(!verifyFunction(*function));
// find the dominance frontier of the CFG
DominanceFrontier DF;
DF.runOnFunction(*function);
// try to promote stack allocated variables
PromoteMemToReg(function->getRegAllocas(), DF, *tgt_data);
2009 Feb 12
2
[LLVMdev] DominatorTree Information required in CallGraphPass
Hi all,
I am implementing a new pass for LLVM which extends Call Graph
SCCPass. I need DominatorTree Information when I get to individual
function. I have added AU.addrequired<DominatorTree>() and
AU.addRequired<DominanceFrontier>() in getAnalysisUsage() function.
But, when I get to the pass, Pass Manager gives following runtime error
Unable to schedule 'Dominator Tree
2009 Feb 12
0
[LLVMdev] DominatorTree Information required in CallGraphPass
On Feb 11, 2009, at 6:05 PM, kapil anand wrote:
> Hi all,
>
> I am implementing a new pass for LLVM which extends Call Graph
> SCCPass. I need DominatorTree Information when I get to individual
> function. I have added AU.addrequired<DominatorTree>() and
> AU.addRequired<DominanceFrontier>() in getAnalysisUsage() function.
>
> But, when I get to the pass,
2012 Aug 20
0
[LLVMdev] DominanceFrontier
Hi George,
> I saw in the API that DominanceFrontier has been deprecated. Is this for real?
> I have read the computational issues but shouldn't that be left to the users of
> llvm?
> My concern is I am writing a Control Dependence module that uses
> Dominance-Frontier information.
> Getting rid of Dominance Frontiers will put me in a tight spot.
if the dominancefrontier
2012 Aug 20
4
[LLVMdev] DominanceFrontier
Hi Guys,
I saw in the API that DominanceFrontier has been deprecated. Is this for
real?
I have read the computational issues but shouldn't that be left to the
users of llvm?
My concern is I am writing a Control Dependence module that uses
Dominance-Frontier information.
Getting rid of Dominance Frontiers will put me in a tight spot.
George
-------------- next part --------------
An HTML
2012 Aug 21
0
[LLVMdev] DominanceFrontier
George Baah <georgebaah at gmail.com> writes:
> Hi Guys,
>
> I saw in the API that DominanceFrontier has been deprecated. Is this
> for real?
> I have read the computational issues but shouldn't that be left to the
> users of llvm?
> My concern is I am writing a Control Dependence module that uses
> Dominance-Frontier information.
> Getting rid of Dominance
2011 Nov 08
4
[LLVMdev] loadable passes with dependencies?
Just shows me what I expect
void getAnalysisUsage(AnalysisUsage &AU) const {
DominatorTree *dt = &getAnalysis<DominatorTree>();
So I'm only using it for DominatorTree(so I can use PromoteMemToReg).
Thanks
On Tue, Nov 8, 2011 at 2:28 PM, Tobias Grosser <tobias at grosser.es> wrote:
> On 11/08/2011 07:33 PM, ret val wrote:
>>
>> Sorry to keep dragging
2006 May 03
1
[LLVMdev] Patch for transform dependencies
Hi,
A number of transforms are actually independent, so here's a partial fix. I
updated the
dependencies in a cluster of transforms: LowerSwitch, Mem2Reg, LowerSelect,
LowerAllocations, UnifyFunctionExitNodes.
The patch has been tested, but not extensively. PassManager doesn't
complain, and
the result of a test pass that requires all these (except for
LowerAllocations) together
works
2011 Nov 08
2
[LLVMdev] loadable passes with dependencies?
I still have the addRequired:
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
AU.addRequired<DominatorTree>();
}
The other line
DominatorTree *dt = &getAnalysis<DominatorTree>();
Is for later use when I try to use PromoteMemToReg
On Tue, Nov 8, 2011 at 4:22 PM, Michael Ilseman <michael at lunarg.com> wrote:
> Something's
2004 Nov 29
2
[LLVMdev] Running specific passes
On Friday 26 November 2004 19:56, Chris Lattner wrote:
> On Fri, 26 Nov 2004, Vladimir Prus wrote:
> > 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
>
> Usually you want to do this at a higher level, why not just use 'opt
> -yourpass -mem2reg'?
2011 Nov 08
0
[LLVMdev] loadable passes with dependencies?
On 11/8/11 4:34 PM, ret val wrote:
> I still have the addRequired:
> virtual void getAnalysisUsage(AnalysisUsage&AU) const {
> AU.addRequired<DominatorTree>();
> }
>
> The other line
> DominatorTree *dt =&getAnalysis<DominatorTree>();
> Is for later use when I try to use PromoteMemToReg
Isn't DominatorTree a
2011 Nov 08
0
[LLVMdev] loadable passes with dependencies?
Something's different here, earlier in the thread you said you had:
void getAnalysisUsage(AnalysisUsage &AU) const {
AU.addRequired<DominatorTree>();
}
Now you have:
void getAnalysisUsage(AnalysisUsage &AU) const {
DominatorTree *dt = &getAnalysis<DominatorTree>();
I'm sort of confused, why did this change happen? I think the
2011 Nov 09
1
[LLVMdev] loadable passes with dependencies?
Awesome, that let me get far enough to trip:
Assertion failed: (ResultPass && "Unable to find requested analysis
info"), function getAnalysisID
Is there something else I forgot?
On Tue, Nov 8, 2011 at 5:47 PM, John Criswell <criswell at illinois.edu> wrote:
> On 11/8/11 4:34 PM, ret val wrote:
>>
>> I still have the addRequired:
>> virtual
2011 Nov 08
2
[LLVMdev] loadable passes with dependencies?
I'm writing a Pass that I would like to remain loadable by opt. The
pass also requires DominatorTree(for PromoteMemToReg).
Looking for examples the only way I found to require a dependecny is
by doing something like this:
char Hello::ID = 0;
namespace llvm { void initializeHelloPass(llvm::PassRegistry&); }
INITIALIZE_PASS_BEGIN(Hello, "hello", "Hello
2010 Dec 31
3
[LLVMdev] CodeExtractor.cpp potential bug?
There might be a misuse of DominatorTree::splitBasicBlock in
CodeExtractor.cpp, line 145.
Header is splited into two (OldPred->NewBB).
Line 145 updates the dominator tree by calling DT->splitBasicBlock(NewBB).
I think it should be DT->splitBasicBlock(OldPred).
When I tried to extract a code region whose header has 2 successors, my pass
crashed.
It was because header (or OldPred) is the
2004 Nov 29
0
[LLVMdev] Running specific passes
On Mon, 29 Nov 2004, Vladimir Prus wrote:
> On Friday 26 November 2004 19:56, Chris Lattner wrote:
> > On Fri, 26 Nov 2004, Vladimir Prus wrote:
> > > 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
> >
> > Usually you want to do this
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());
2004 Nov 26
0
[LLVMdev] Running specific passes
On Fri, 26 Nov 2004, Vladimir Prus wrote:
> 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
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
2015 Jun 29
2
[LLVMdev] Inferring dependencies in phi instructions
On Mon, Jun 29, 2015 at 10:16 AM, Evgeny Astigeevich
<Evgeny.Astigeevich at arm.com> wrote:
> Hi Anirudh,
>
>
>
> I hope these lecture slides about SSA and the dominance frontier will help
> you with SSA and control flow analysis:
>
>
>
> http://www.seas.harvard.edu/courses/cs252/2011sp/slides/Lec04-SSA.pdf
>
>
>
> Unfortunately a use of