ΒΆOptional<llvm::InlineResult>
getAttributeBasedInliningDecision(
    llvm::CallBase& Call,
    llvm::Function* Callee,
    llvm::TargetTransformInfo& CalleeTTI,
    function_ref<const llvm::TargetLibraryInfo&(
        llvm::Function&)> GetTLI)

Description

Returns InlineResult::success() if the call site should be always inlined because of user directives, and the inlining is viable. Returns InlineResult::failure() if the inlining may never happen because of user directives or incompatibilities detectable without needing callee traversal. Otherwise returns None, meaning that inlining should be decided based on other criteria (e.g. cost modeling).

Declared at: llvm/include/llvm/Analysis/InlineCost.h:289

Parameters

llvm::CallBase& Call
llvm::Function* Callee
llvm::TargetTransformInfo& CalleeTTI
function_ref<const llvm::TargetLibraryInfo&( llvm::Function&)> GetTLI