|
LLVM 22.0.0git
|
#include "llvm/IR/IRBuilder.h"#include "llvm/ADT/ArrayRef.h"#include "llvm/IR/Constant.h"#include "llvm/IR/Constants.h"#include "llvm/IR/DerivedTypes.h"#include "llvm/IR/Function.h"#include "llvm/IR/GlobalValue.h"#include "llvm/IR/GlobalVariable.h"#include "llvm/IR/IntrinsicInst.h"#include "llvm/IR/Intrinsics.h"#include "llvm/IR/LLVMContext.h"#include "llvm/IR/Module.h"#include "llvm/IR/NoFolder.h"#include "llvm/IR/Operator.h"#include "llvm/IR/ProfDataUtils.h"#include "llvm/IR/Statepoint.h"#include "llvm/IR/Type.h"#include "llvm/IR/Value.h"#include "llvm/Support/Casting.h"#include <cassert>#include <cstdint>#include <optional>#include <vector>Go to the source code of this file.
Functions | |
| static Value * | CreateVScaleMultiple (IRBuilderBase &B, Type *Ty, uint64_t Scale) |
| static bool | isConstantOne (const Value *Val) |
| isConstantOne - Return true only if val is constant int 1 | |
| static MaybeAlign | getAlign (Value *Ptr) |
| template<typename T0> | |
| static std::vector< Value * > | getStatepointArgs (IRBuilderBase &B, uint64_t ID, uint32_t NumPatchBytes, Value *ActualCallee, uint32_t Flags, ArrayRef< T0 > CallArgs) |
| template<typename T1, typename T2, typename T3> | |
| static std::vector< OperandBundleDef > | getStatepointBundles (std::optional< ArrayRef< T1 > > TransitionArgs, std::optional< ArrayRef< T2 > > DeoptArgs, ArrayRef< T3 > GCArgs) |
| template<typename T0, typename T1, typename T2, typename T3> | |
| static CallInst * | CreateGCStatepointCallCommon (IRBuilderBase *Builder, uint64_t ID, uint32_t NumPatchBytes, FunctionCallee ActualCallee, uint32_t Flags, ArrayRef< T0 > CallArgs, std::optional< ArrayRef< T1 > > TransitionArgs, std::optional< ArrayRef< T2 > > DeoptArgs, ArrayRef< T3 > GCArgs, const Twine &Name) |
| template<typename T0, typename T1, typename T2, typename T3> | |
| static InvokeInst * | CreateGCStatepointInvokeCommon (IRBuilderBase *Builder, uint64_t ID, uint32_t NumPatchBytes, FunctionCallee ActualInvokee, BasicBlock *NormalDest, BasicBlock *UnwindDest, uint32_t Flags, ArrayRef< T0 > InvokeArgs, std::optional< ArrayRef< T1 > > TransitionArgs, std::optional< ArrayRef< T2 > > DeoptArgs, ArrayRef< T3 > GCArgs, const Twine &Name) |
|
static |
Definition at line 680 of file IRBuilder.cpp.
References llvm::CallBase::addParamAttr(), llvm::Attribute::get(), llvm::FunctionCallee::getCallee(), llvm::FunctionCallee::getFunctionType(), llvm::Intrinsic::getOrInsertDeclaration(), getStatepointArgs(), getStatepointBundles(), and llvm::Value::getType().
Referenced by llvm::IRBuilderBase::CreateGCStatepointCall(), llvm::IRBuilderBase::CreateGCStatepointCall(), and llvm::IRBuilderBase::CreateGCStatepointCall().
|
static |
Definition at line 734 of file IRBuilder.cpp.
References llvm::Attribute::get(), llvm::FunctionCallee::getCallee(), llvm::FunctionCallee::getFunctionType(), llvm::Intrinsic::getOrInsertDeclaration(), getStatepointArgs(), getStatepointBundles(), llvm::Value::getType(), and II.
Referenced by llvm::IRBuilderBase::CreateGCStatepointInvoke(), llvm::IRBuilderBase::CreateGCStatepointInvoke(), and llvm::IRBuilderBase::CreateGCStatepointInvoke().
|
static |
Definition at line 116 of file IRBuilder.cpp.
References B().
Referenced by llvm::IRBuilderBase::CreateElementCount(), and llvm::IRBuilderBase::CreateTypeSize().
|
static |
Definition at line 443 of file IRBuilder.cpp.
References A(), llvm::dyn_cast(), llvm::getAlign(), and Ptr.
Referenced by llvm::VPWidenLoadRecipe::clone(), llvm::VPWidenStoreRecipe::clone(), foldPatternedLoads(), and needsConstrainedOpcode().
|
static |
Definition at line 646 of file IRBuilder.cpp.
References llvm::append_range(), B(), and llvm::ArrayRef< T >::size().
Referenced by CreateGCStatepointCallCommon(), and CreateGCStatepointInvokeCommon().
|
static |
Definition at line 665 of file IRBuilder.cpp.
References llvm::ArrayRef< T >::size().
Referenced by CreateGCStatepointCallCommon(), and CreateGCStatepointInvokeCommon().
isConstantOne - Return true only if val is constant int 1
Definition at line 254 of file IRBuilder.cpp.
References assert(), llvm::dyn_cast(), and llvm::ConstantInt::isOne().
Referenced by llvm::IRBuilderBase::CreateMalloc().