[LLVMdev] TargetLowering vs. TargetTransform

Nadav Rotem nrotem at apple.com
Fri Jan 25 15:03:48 PST 2013

> TargetTransform (TT) only has the free checks on types, while TargetLowering (TL) has on SDValue and destination type.

Yes. This is a limitation of the current API.  The design decision behind it was that in many cases you want to know the cost of IR before you generate it. 
For example, during vectorization you want to know how a particular IR would look if you were to vectorize it. Also, we wanted to rely on tables as much as possible. We did not want to write code to resemble ISel in order to estimate the cost. Is this something that we can live with ?

More information about the llvm-dev mailing list