[LLVMdev] Parallel Loop Metadata

Hal Finkel hfinkel at anl.gov
Sun Feb 17 15:11:37 PST 2013


----- Original Message -----
> From: "Andrew Trick" <atrick at apple.com>
> To: "Hal Finkel" <hfinkel at anl.gov>
> Cc: "llvmdev at cs.uiuc.edu Dev" <llvmdev at cs.uiuc.edu>, "Tobias Grosser" <tobias at grosser.es>
> Sent: Sunday, February 17, 2013 3:33:55 PM
> Subject: Re: [LLVMdev] Parallel Loop Metadata
> 
> 
> 
> 
> On Feb 17, 2013, at 1:15 PM, Hal Finkel < hfinkel at anl.gov > wrote:
> 
> 
> 
> 
> Unrolling OTOH should be aware of and preserve any loop metadata.
> 
> If the unroller somehow differentiates the metadata coming from
> different loop iterations, then BBVectorize can use this information
> as well. Even better, we could make BasicAA understand that
> appropriately marked loads and stores from different iterations
> don't alias. Then the AA-based dependency breaker in the scheduler
> could also make use of the information. Thoughts?
> 
> That could work. Eventually the LoopVectorizer pass should be able to
> unroll and overlap iterations. If then it's still important for
> BBVectorize to disambiguate, that information could be provided
> either by updating the metadata or a separate analysis preserved by
> LoopVectorizer. BBVectorize should run immediately afterward.

I think that updating the metadata would be a better solution, because I think that is the only one that will be able to pass data to the scheduler.

Thanks again,
Hal

> 
> 
> -Andy



More information about the llvm-dev mailing list