llvm::InlineCost ExtremeInliner::getInlineCost(llvm::CallSite callSite) { llvm::Function *caller = callSite.getCaller(); if (caller != m_function) { return llvm::InlineCost::getNever(); } const llvm::Type *type = callSite.getType(); if (!m_inlineVoids && (type->isVoidTy() || type->isFloatTy() || type->isDoubleTy() || llvm::isa<llvm::PointerType>(type))) { return llvm::InlineCost::getNever(); } return llvm::InlineCost::getAlways(); }