search for: computeexitlimit

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

2012 Feb 08
2
[LLVMdev] BackedgeTakenCount calculation for fortran loops and DragonEgg gfortran-4.6
...the ScalarEvolution > tests in LLVM): > > diff --git a/lib/Analysis/ScalarEvolution.cpp b/lib/Analysis/ScalarEvolution.cpp > index daf7742..b10fab2 100644 > --- a/lib/Analysis/ScalarEvolution.cpp > +++ b/lib/Analysis/ScalarEvolution.cpp > @@ -4293,9 +4293,15 @@ ScalarEvolution::ComputeExitLimit(const Loop > *L, BasicBlock *ExitingBlock) { >   // >   // FIXME: we should be able to handle switch instructions (with a > single exit) >   BranchInst *ExitBr = dyn_cast<BranchInst>(ExitingBlock->getTerminator()); > + >   if (ExitBr == 0) return getCouldNotCompute();...
2012 Feb 08
2
[LLVMdev] BackedgeTakenCount calculation for fortran loops and DragonEgg gfortran-4.6
...e written this little patch that adds this case to the trivial case : diff --git a/lib/Analysis/ScalarEvolution.cpp b/lib/Analysis/ScalarEvolution.cpp index daf7742..fcbaffe 100644 --- a/lib/Analysis/ScalarEvolution.cpp +++ b/lib/Analysis/ScalarEvolution.cpp @@ -4293,6 +4293,11 @@ ScalarEvolution::ComputeExitLimit(const Loop *L, BasicBlock *ExitingBlock) { // // FIXME: we should be able to handle switch instructions (with a single exit) BranchInst *ExitBr = dyn_cast<BranchInst>(ExitingBlock->getTerminator()); + BranchInst* BrFirstSucc = dyn_cast<BranchInst>(ExitBr-> +...
2012 Feb 08
0
[LLVMdev] BackedgeTakenCount calculation for fortran loops and DragonEgg gfortran-4.6
...one should be ok (and passess all the ScalarEvolution tests in LLVM): diff --git a/lib/Analysis/ScalarEvolution.cpp b/lib/Analysis/ScalarEvolution.cpp index daf7742..b10fab2 100644 --- a/lib/Analysis/ScalarEvolution.cpp +++ b/lib/Analysis/ScalarEvolution.cpp @@ -4293,9 +4293,15 @@ ScalarEvolution::ComputeExitLimit(const Loop *L, BasicBlock *ExitingBlock) { // // FIXME: we should be able to handle switch instructions (with a single exit) BranchInst *ExitBr = dyn_cast<BranchInst>(ExitingBlock->getTerminator()); + if (ExitBr == 0) return getCouldNotCompute(); assert(ExitBr->isConditio...
2012 Feb 08
2
[LLVMdev] BackedgeTakenCount calculation for fortran loops and DragonEgg gfortran-4.6
...diff --git a/lib/Analysis/ScalarEvolution.cpp >> > b/lib/Analysis/ScalarEvolution.cpp >> > index daf7742..b10fab2 100644 >> > --- a/lib/Analysis/ScalarEvolution.cpp >> > +++ b/lib/Analysis/ScalarEvolution.cpp >> > @@ -4293,9 +4293,15 @@ ScalarEvolution::ComputeExitLimit(const Loop >> > *L, BasicBlock *ExitingBlock) { >> >   // >> >   // FIXME: we should be able to handle switch instructions (with a >> > single exit) >> >   BranchInst *ExitBr = >> > dyn_cast<BranchInst>(ExitingBlock->getTerminator()); &...
2012 Feb 08
0
[LLVMdev] BackedgeTakenCount calculation for fortran loops and DragonEgg gfortran-4.6
...LVM): > > > > diff --git a/lib/Analysis/ScalarEvolution.cpp > b/lib/Analysis/ScalarEvolution.cpp > > index daf7742..b10fab2 100644 > > --- a/lib/Analysis/ScalarEvolution.cpp > > +++ b/lib/Analysis/ScalarEvolution.cpp > > @@ -4293,9 +4293,15 @@ ScalarEvolution::ComputeExitLimit(const Loop > > *L, BasicBlock *ExitingBlock) { > > // > > // FIXME: we should be able to handle switch instructions (with a > > single exit) > > BranchInst *ExitBr = > dyn_cast<BranchInst>(ExitingBlock->getTerminator()); > > + > > if (Ex...
2012 Feb 09
2
[LLVMdev] BackedgeTakenCount calculation for fortran loops and DragonEgg gfortran-4.6
...p >> >> > b/lib/Analysis/ScalarEvolution.cpp >> >> > index daf7742..b10fab2 100644 >> >> > --- a/lib/Analysis/ScalarEvolution.cpp >> >> > +++ b/lib/Analysis/ScalarEvolution.cpp >> >> > @@ -4293,9 +4293,15 @@ ScalarEvolution::ComputeExitLimit(const Loop >> >> > *L, BasicBlock *ExitingBlock) { >> >> >   // >> >> >   // FIXME: we should be able to handle switch instructions (with a >> >> > single exit) >> >> >   BranchInst *ExitBr = >> >> > dyn_cast&...
2012 Feb 09
1
[LLVMdev] BackedgeTakenCount calculation for fortran loops and DragonEgg gfortran-4.6
...nalysis/ScalarEvolution.cpp >>>> >> > index daf7742..b10fab2 100644 >>>> >> > --- a/lib/Analysis/ScalarEvolution.cpp >>>> >> > +++ b/lib/Analysis/ScalarEvolution.cpp >>>> >> > @@ -4293,9 +4293,15 @@ ScalarEvolution::ComputeExitLimit(const Loop >>>> >> > *L, BasicBlock *ExitingBlock) { >>>> >> >   // >>>> >> >   // FIXME: we should be able to handle switch instructions (with a >>>> >> > single exit) >>>> >> >   BranchInst *E...
2012 Feb 08
0
[LLVMdev] BackedgeTakenCount calculation for fortran loops and DragonEgg gfortran-4.6
...s/ScalarEvolution.cpp > >> > b/lib/Analysis/ScalarEvolution.cpp > >> > index daf7742..b10fab2 100644 > >> > --- a/lib/Analysis/ScalarEvolution.cpp > >> > +++ b/lib/Analysis/ScalarEvolution.cpp > >> > @@ -4293,9 +4293,15 @@ ScalarEvolution::ComputeExitLimit(const Loop > >> > *L, BasicBlock *ExitingBlock) { > >> > // > >> > // FIXME: we should be able to handle switch instructions (with a > >> > single exit) > >> > BranchInst *ExitBr = > >> > dyn_cast<BranchInst>(Exitin...
2012 Feb 09
0
[LLVMdev] BackedgeTakenCount calculation for fortran loops and DragonEgg gfortran-4.6
...gt; > b/lib/Analysis/ScalarEvolution.cpp >>> >> > index daf7742..b10fab2 100644 >>> >> > --- a/lib/Analysis/ScalarEvolution.cpp >>> >> > +++ b/lib/Analysis/ScalarEvolution.cpp >>> >> > @@ -4293,9 +4293,15 @@ ScalarEvolution::ComputeExitLimit(const Loop >>> >> > *L, BasicBlock *ExitingBlock) { >>> >> >   // >>> >> >   // FIXME: we should be able to handle switch instructions (with a >>> >> > single exit) >>> >> >   BranchInst *ExitBr = >>>...