[PATCH] D36401: TTI: Use a better default for areInlineCompatibl

Florian Hahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 7 08:21:29 PDT 2017

fhahn added inline comments.

Comment at: include/llvm/CodeGen/BasicTTIImpl.h:1092
+  bool areInlineCompatible(const Function *Caller,
+                           const Function *Callee) const {
I think this implementation is not conservative enough for some targets. For example, the ARM backend has a more conservative implementation https://github.com/llvm-mirror/llvm/blob/master/lib/Target/ARM/ARMTargetTransformInfo.cpp#L18

Some target-features in the ARM backend have impact on the generated code (e.g. thumb-mode). So if we allow inlining for all subsets, we could change the "thumbness" of the inline function. Other backends might have similar tricky target-features to deal with.


More information about the llvm-commits mailing list