14#ifndef LLVM_TRANSFORMS_UTILS_CALLPROMOTIONUTILS_H
15#define LLVM_TRANSFORMS_UTILS_CALLPROMOTIONUTILS_H
32 const char **FailureReason =
nullptr);
42 CastInst **RetBitCast =
nullptr);
52 MDNode *BranchWeights =
nullptr);
amdgpu Simplify well known AMD library false FunctionCallee Callee
This is an optimization pass for GlobalISel generic memory operations.
bool isLegalToPromote(const CallBase &CB, Function *Callee, const char **FailureReason=nullptr)
Return true if the given indirect call site can be made to call Callee.
CallBase & promoteCallWithIfThenElse(CallBase &CB, Function *Callee, MDNode *BranchWeights=nullptr)
Promote the given indirect call site to conditionally call Callee.
CallBase & versionCallSite(CallBase &CB, Value *Callee, MDNode *BranchWeights)
Predicate and clone the given call site.
CallBase & promoteCall(CallBase &CB, Function *Callee, CastInst **RetBitCast=nullptr)
Promote the given indirect call site to unconditionally call Callee.
bool tryPromoteCall(CallBase &CB)
Try to promote (devirtualize) a virtual call on an Alloca.