ΒΆbool attributesPermitTailCall(
    const llvm::Function* F,
    const llvm::Instruction* I,
    const llvm::ReturnInst* Ret,
    const llvm::TargetLoweringBase& TLI,
    bool* AllowDifferingSizes = nullptr)

Description

Test if given that the input instruction is in the tail call position, if there is an attribute mismatch between the caller and the callee that will inhibit tail call optimizations.\p AllowDifferingSizes is an output parameter which, if forming a tail call is permitted, determines whether it's permitted only if the size of the caller's and callee's return types match exactly.

Declared at: llvm/include/llvm/CodeGen/Analysis.h:124

Parameters

const llvm::Function* F
const llvm::Instruction* I
const llvm::ReturnInst* Ret
const llvm::TargetLoweringBase& TLI
bool* AllowDifferingSizes = nullptr