LLVM 20.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/DebugInfoMetadata.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/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 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 725 of file IRBuilder.cpp.
References llvm::CallBase::addParamAttr(), llvm::IRBuilderBase::CreateCall(), llvm::Attribute::get(), llvm::FunctionCallee::getCallee(), llvm::IRBuilderBase::getContext(), llvm::FunctionCallee::getFunctionType(), llvm::IRBuilderBase::GetInsertBlock(), llvm::Intrinsic::getOrInsertDeclaration(), llvm::GlobalValue::getParent(), llvm::BasicBlock::getParent(), getStatepointArgs(), getStatepointBundles(), getType(), and Name.
|
static |
Definition at line 779 of file IRBuilder.cpp.
References llvm::IRBuilderBase::CreateInvoke(), llvm::Attribute::get(), llvm::FunctionCallee::getCallee(), llvm::IRBuilderBase::getContext(), llvm::FunctionCallee::getFunctionType(), llvm::IRBuilderBase::GetInsertBlock(), llvm::Intrinsic::getOrInsertDeclaration(), llvm::GlobalValue::getParent(), llvm::BasicBlock::getParent(), getStatepointArgs(), getStatepointBundles(), getType(), II, and Name.
|
static |
Definition at line 500 of file IRBuilder.cpp.
Referenced by computeKnownBitsFromOperator(), and foldPatternedLoads().
|
static |
Definition at line 683 of file IRBuilder.cpp.
References llvm::append_range(), B, and llvm::ArrayRef< T >::size().
Referenced by CreateGCStatepointCallCommon(), and CreateGCStatepointInvokeCommon().
|
static |
Definition at line 702 of file IRBuilder.cpp.
References llvm::append_range(), and llvm::ArrayRef< T >::size().
Referenced by CreateGCStatepointCallCommon(), and CreateGCStatepointInvokeCommon().
isConstantOne - Return true only if val is constant int 1
Definition at line 284 of file IRBuilder.cpp.
References assert(), and llvm::ConstantInt::isOne().
Referenced by llvm::IRBuilderBase::CreateMalloc().