Pekka Jääskeläinen
2013-Feb-18 19:34 UTC
[LLVMdev] Pointer Context Metadata (was: Parallel Loop Metadata)
On 02/18/2013 07:42 PM, Hal Finkel wrote:> Why don't we just add an optional iteration id to > !llvm.mem.parallel_loop_access?Sounds like a good idea to me. -- --Pekka
Hal Finkel
2013-Feb-18 23:49 UTC
[LLVMdev] Pointer Context Metadata (was: Parallel Loop Metadata)
----- Original Message -----> From: "Pekka Jääskeläinen" <pekka.jaaskelainen at tut.fi> > To: "Hal Finkel" <hfinkel at anl.gov> > Cc: "Andrew Trick" <atrick at apple.com>, "Tobias Grosser" <tobias at grosser.es>, "llvmdev at cs.uiuc.edu Dev" > <llvmdev at cs.uiuc.edu> > Sent: Monday, February 18, 2013 1:34:49 PM > Subject: Re: [LLVMdev] Pointer Context Metadata (was: Parallel Loop Metadata) > > On 02/18/2013 07:42 PM, Hal Finkel wrote: > > Why don't we just add an optional iteration id to > > !llvm.mem.parallel_loop_access? > > Sounds like a good idea to me.Okay. If you'll update your local BBVectorize patches, then we can pull them upstream. Then we'll just need to update the unroller. -Hal> > -- > --Pekka > >
Nadav Rotem
2013-Feb-19 00:31 UTC
[LLVMdev] Pointer Context Metadata (was: Parallel Loop Metadata)
> > Okay. If you'll update your local BBVectorize patches, then we can pull them upstream. Then we'll just need to update the unroller.If I understand this thread correctly, you want to enable vecorization by telling the BB vectorizer that different operations are independent. I understand your motivation and I agree that this is indeed one way to do vectorization. However, I don't completely understand something. If we already have the information that consecutive iterations of the loops are independent, then the loop vectorizer should already vectorize the loop. Also, at the moment we unroll loops before BB Vectorization. Can you think of cases where the unrolling can help BB-vecoriation ? I think that it can only help in cases that are easily detected by the loop vectorizer. Thanks, Nadav
Reasonably Related Threads
- [LLVMdev] Pointer Context Metadata (was: Parallel Loop Metadata)
- [LLVMdev] Pointer Context Metadata (was: Parallel Loop Metadata)
- [LLVMdev] Pointer Context Metadata (was: Parallel Loop Metadata)
- [LLVMdev] Pointer Context Metadata (was: Parallel Loop Metadata)
- [LLVMdev] Pointer Context Metadata (was: Parallel Loop Metadata)