[LLVMdev] LLVM Loop Vectorizer

Nadav Rotem nrotem at apple.com
Fri Oct 5 13:20:04 PDT 2012

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. 

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


> -Andy
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20121005/14fdc73b/attachment.html>

More information about the llvm-dev mailing list