[LLVMdev] LLVM Loop Vectorizer
echristo at gmail.com
Fri Oct 5 11:29:50 PDT 2012
> Regarding TLI. So, DAGCombine, CodeGenPrepare, LoopReduce all use the TLI
> interface which can answer questions such as "is this operation supported ?"
> or "is this type legal". This is a subset of what we need in a vectorized.
> We can discuss other requirements that the vectorizer may have after we
> finish with the first phase. I suspect that we may have to refactor some
> functionality out of TLI.
Possibly, though I think TargetData should still be able to get you
what you want.
> 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.
*shrug* I really don't think this is necessary either. There's really
no need for
merging the two tools (and IMO would weaken the separation here). Why
not just have TargetData/TargetLoweringInfo in opt?
> I agree that it is not necessary for many optimizations. However, this is
> absolutely needed for lower-level transformations such as strength
> reduction. So, I plan to keep the current behavior that OPT has where if a
> target information is not provided through the command line then TargetData
> is kept uninitialized (null pointer). So, as far as IR-level passes go,
> nothing is going to change.
TargetData is pretty useful during opt if it's available, probably no
need to merge
the tools though.
More information about the llvm-dev