[LLVMdev] LLVM Loop Vectorizer

Sergei Larin 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 :) 

Sergei.

>> 
>> 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
> that
> > refactoring LLVM in away that would expose target information to
> > IR-level transformations would be a good way to start. Vectorizers,
> as
> > 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
> do
> > not make use of this information, or just hard-code target
> > information. A loop vectorizer would need target information. After
> we
> > have some basic target information infrastructure in place we can
> > start discussing the vectorizer itself.
> 
> Great!
> 
> >
> > 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,
> Hal
> 
> >
> > 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
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev




More information about the llvm-dev mailing list