[LLVMdev] LLVM Loop Vectorizer
slarin at codeaurora.org
Fri Oct 5 09:38:32 PDT 2012
I will simply echo Hal here - yes we definitely want to do this, how exactly
- let's talk :)
>> I think that the first step would be to expose Target Lowering
>> Interface (TLI) to OPT's IR-level passes. Currently TLI is only
>> available in LLC. I suggest that we merge LLC and OPT into a single
>> tool that will drive both IR-level passes and the codegen.
>Having made this suggestion in the past, I am, of course, fully supportive!
This is something that we definitely need to do.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by
The Linux Foundation
> -----Original Message-----
> From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu]
> On Behalf Of Hal Finkel
> Sent: Friday, October 05, 2012 1:29 AM
> To: Nadav Rotem
> Cc: llvmdev at cs.uiuc.edu Mailing List
> Subject: Re: [LLVMdev] LLVM Loop Vectorizer
> ----- Original Message -----
> > From: "Nadav Rotem" <nrotem at apple.com>
> > To: "llvmdev at cs.uiuc.edu Mailing List" <llvmdev at cs.uiuc.edu>
> > Sent: Friday, October 5, 2012 1:14:47 AM
> > Subject: [LLVMdev] LLVM Loop Vectorizer
> > Hi,
> > We are starting to work on an LLVM loop vectorizer. There's number of
> > different projects that already vectorize LLVM IR. For example Hal's
> > BB-Vectorizer, Intel's OpenCL Vectorizer, Polly, ISPC, AnySL, just to
> > name a few. I think that it would be great if we could collaborate on
> > the areas that are shared between the different projects. I think
> > refactoring LLVM in away that would expose target information to
> > IR-level transformations would be a good way to start. Vectorizers,
> > well as other IR-level transformations, require target-specific
> > information, such as the cost of different instruction or the
> > availability of certain features. Currently, llvm-based vectorizers
> > not make use of this information, or just hard-code target
> > information. A loop vectorizer would need target information. After
> > have some basic target information infrastructure in place we can
> > start discussing the vectorizer itself.
> > I think that the first step would be to expose Target Lowering
> > Interface (TLI) to OPT's IR-level passes. Currently TLI is only
> > available in LLC. I suggest that we merge LLC and OPT into a single
> > tool that will drive both IR-level passes and the codegen.
> Having made this suggestion in the past, I am, of course, fully
> supportive! This is something that we definitely need to do.
> > LLC and
> > OPT can remain as wrappers around the new tool. Please let me know if
> > you can think of a good name for the new tool. I was thinking that
> > "llvm-cli" may be a good name (cli = command line interface).
> > OPT and LLC are only used by LLVM developers, so the impact of this
> > change on the user community would be small.
> We could just call it llvmc (for LLVM compiler). Alternatively, we
> could add OPTs options to LLC, and add an option to OPT to produce IR
> output after all of the IR-level passes have completed to emulate the
> current OPT functionality.
> Thanks again,
> > Thanks,
> > Nadav
> > _______________________________________________
> > 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
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
More information about the llvm-dev