[LLVMdev] LLVM Loop Vectorizer

Eric Christopher 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 mailing list