[llvm-commits] [llvm] r171469 - in /llvm/trunk: include/llvm/Target/TargetTransformImpl.h include/llvm/TargetTransformInfo.h lib/Target/TargetTransformImpl.cpp lib/Target/X86/X86ISelLowering.cpp lib/Target/X86/X86ISelLowering.h lib/Transforms/Vectorize/LoopVectorize.cpp lib/Transforms/Vectorize/LoopVectorize.h test/Transforms/LoopVectorize/X86/gcc-examples.ll test/Transforms/LoopVectorize/gcc-examples.ll

Hal Finkel hfinkel at anl.gov
Fri Jan 4 10:31:47 PST 2013


----- Original Message -----
> From: "Nadav Rotem" <nrotem at apple.com>
> To: "Hal Finkel" <hfinkel at anl.gov>
> Cc: llvm-commits at cs.uiuc.edu
> Sent: Friday, January 4, 2013 12:24:32 PM
> Subject: Re: [llvm-commits] [llvm] r171469 - in /llvm/trunk: include/llvm/Target/TargetTransformImpl.h
> include/llvm/TargetTransformInfo.h lib/Target/TargetTransformImpl.cpp lib/Target/X86/X86ISelLowering.cpp
> lib/Target/X86/X86ISelLowering.h lib/Transforms/Vectorize/LoopVectorize.cpp lib/Transforms/Vectorize/LoopVectorize.h
> test/Transforms/LoopVectorize/X86/gcc-examples.ll test/Transforms/LoopVectorize/gcc-examples.ll
> 
> >> +}
> > 
> > Can't we get this from the generic TLI code? As I recall, you tried
> > to get register information into VTTI at one point, but had to
> > back it out because of shared-library linking problems. We should
> > really investigate that again.
> > 
> 
> I looked at this together with Jakob and it looks difficult to do.
> Here is an example of why it is difficult. On x86 32bit systems we
> still have 16 registers, but we mark them as reserved. This means
> that VTTI would have to go through all of the registers (and sub
> registers) and figure out which registers are available.

Okay, fair enough.

> 
> >> 
> > 
> > This is great, but please move it elsewhere. I'd like to use this
> > in the regular unroller (among other places). Also, we'll need to
> > differentiate different register types (at least vector registers
> > from scalar registers) -- I've taken only a quick look, but this
> > does not seem to do that.
> > 
> 
> Yes, we should do it. Maybe it should be in the cost model analysis ?

That seems to make sense. We'll need to make an actual header file for it then ;)

Thanks again,
Hal

>  At the moment it does not distinguish between vector and scalar
> registers.
> 
> 
> > Thanks again,
> > Hal
> 
> 

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



More information about the llvm-commits mailing list