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 =
>>>...