[LLVMdev] TLI vs. TTI

Hal Finkel hfinkel at anl.gov
Fri Jul 18 12:14:21 PDT 2014


----- Original Message -----
> From: "Matt Arsenault" <arsenm2 at gmail.com>
> To: "LLVM Developers Mailing List" <llvmdev at cs.uiuc.edu>
> Sent: Friday, July 18, 2014 1:15:14 PM
> Subject: [LLVMdev] TLI vs. TTI
> 
> Hi,
> 
> I noticed many functions in the TargetTransformInfo interface are
> duplicates of those already in TargetLowering (e.g. isTruncateFree).
> Is the expectation really that targets will reimplement the same
> functions twice? AArch64’s TTI uses some TLI calls in some of its
> implementations, but why doesn’t the base TargetTransformInfo call
> the TargetLowering versions by default?

Are the implementations different? The default TTI implementation does use the relevant TLI function:

bool BasicTTI::isTruncateFree(Type *Ty1, Type *Ty2) const {
  return getTLI()->isTruncateFree(Ty1, Ty2);
}

 -Hal

> 
> - Matt
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> 

-- 
Hal Finkel
Assistant Computational Scientist
Leadership Computing Facility
Argonne National Laboratory




More information about the llvm-dev mailing list