[LLVMdev] LLVM Loop Vectorizer

Hal Finkel hfinkel at anl.gov
Fri Oct 5 13:47:48 PDT 2012



----- Original Message -----
> From: "Nadav Rotem" <nrotem at apple.com>
> To: "Andrew Trick" <atrick at apple.com>
> Cc: "Hal Finkel" <hfinkel at anl.gov>, "llvmdev at cs.uiuc.edu Mailing List" <llvmdev at cs.uiuc.edu>
> Sent: Friday, October 5, 2012 3:20:04 PM
> Subject: Re: [LLVMdev] LLVM Loop Vectorizer
> 
> 
> 
> 
> On Oct 5, 2012, at 1:13 PM, Andrew Trick < atrick at apple.com > wrote:
> 
> 
> 
> 
> 
> 
> On Oct 5, 2012, at 11:57 AM, Hal Finkel < hfinkel at anl.gov > wrote:
> 
> 
> 
> 
> 
> 
> In addition, merging the tools will allow the consolidation of
> target-specific code in OPT. There is code in InstCombine, for
> example, that specifically deals with x86 intrinsics. This code
> should be moved into a callback provided by the x86 target.
> Currently, however, this is not possible because of this
> separation.
> 
> 
> Making the data available to the passes is just fine, I don't see a
> need to merge the two tools.
> 
> Fair enough. Do you think that we should move LSR into OPT once that
> is possible?
> 
> Eric's point is important, that IR canonicalization passes need to be
> distinct from target lowering passes. If OPT and LLC embody that
> distinction, then LSR is the loop optimization that is currently in
> the correct place. Partial unrolling and vectorization should be
> moved to LLC, along with a slew of other "codegen preparation" hacks
> that are implemented in OPT for convenience. OPT is super convenient
> because it allows invoking individual passes and IR serialization.
> 
> 
> I completely agree.

I don't really understand where you want to draw the line. Should the inliner get target-specific input? InstCombine? How about Polly? I think that the answer to all of these questions is probably, at some level, yes.

 -Hal

> 
> 
> 
> 
> 
> 
> Chandler's right that merging tools is not necessary to solve this
> problem but a good thing to do anyway for conveinence, as long as we
> maintain the distinction above at the driver level.
> 
> 
> 
> 
> +1
> 
> 
> 
> 
> -Andy _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> 
> 

-- 
Hal Finkel
Postdoctoral Appointee
Leadership Computing Facility
Argonne National Laboratory



More information about the llvm-dev mailing list