[LLVMdev] E = L->begin() in LoopVectorize

Hal Finkel hfinkel at anl.gov
Tue Mar 18 14:54:03 PDT 2014


----- Original Message -----
> From: "Chandler Carruth" <chandlerc at google.com>
> To: "Jim Grosbach" <grosbach at apple.com>
> Cc: "LLVM Developers Mailing List" <llvmdev at cs.uiuc.edu>
> Sent: Tuesday, March 18, 2014 4:49:14 PM
> Subject: Re: [LLVMdev] E = L->begin() in LoopVectorize
> 
> 
> 
> Looking at it now, curious why no tests failed.

Likely we have no tests with nested loops where the loop to vectorize is not the first child of the parent loop.

 -Hal

> 
> 
> 
> On Tue, Mar 18, 2014 at 2:48 PM, Jim Grosbach < grosbach at apple.com >
> wrote:
> 
> 
> Almost certainly, yes. Nice catch!
> 
> 
> 
> 
> On Mar 18, 2014, at 2:38 PM, Liang Wang < netcasper at gmail.com >
> wrote:
> 
> > Hi,
> > 
> > I'm studying loop vectorizer. I don't understand the code yet. But
> > it looks not right to assign L->begin() to E. Is it a typo?
> > 
> > Thanks,
> > Liang
> > 
> > diff --git a/lib/Transforms/Vectorize/LoopVectorize.cpp
> > b/lib/Transforms/Vectorize/LoopVectorize.cpp
> > index 435c005..87b5d79 100644
> > --- a/lib/Transforms/Vectorize/LoopVectorize.cpp
> > +++ b/lib/Transforms/Vectorize/LoopVectorize.cpp
> > @@ -1067,7 +1067,7 @@ struct LoopVectorize : public FunctionPass {
> > // We only handle inner loops, so if there are children just
> > recurse.
> > if (!L->empty()) {
> > bool Changed = false;
> > - for (Loop::iterator I = L->begin(), E = L->begin(); I != E; ++I)
> > + for (Loop::iterator I = L->begin(), E = L->end(); I != E; ++I)
> > Changed |= processLoop(*I);
> > return Changed;
> > }
> > _______________________________________________
> > LLVM Developers mailing list
> > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> 
> 
> 
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> 

-- 
Hal Finkel
Assistant Computational Scientist
Leadership Computing Facility
Argonne National Laboratory



More information about the llvm-dev mailing list