31 assert(Accuracy > 0.0 &&
"Invalid fpmath accuracy!");
43 assert(Weights.
size() >= 1 &&
"Need at least one branch weights!");
49 for (
unsigned i = 0, e = Weights.
size();
i != e; ++
i)
94 Args.push_back(Extra);
139 for (
unsigned i = 0, e = Fields.
size();
i != e; ++
i) {
142 Vals[
i * 3 + 2] = Fields[
i].TBAA;
154 for (
unsigned i = 0, e = Fields.size();
i != e; ++
i) {
155 Ops[
i * 2 + 1] = Fields[
i].first;
173 uint64_t
Offset,
bool IsConstant) {
MDNode * createRange(const APInt &Lo, const APInt &Hi)
Return metadata describing the range [Lo, Hi).
MDNode * createAnonymousAARoot(StringRef Name=StringRef(), MDNode *Extra=nullptr)
Return metadata appropriate for a AA root node (scope or TBAA).
MDNode * createUnpredictable()
Return metadata specifying that a branch or switch is unpredictable.
ConstantAsMetadata * createConstant(Constant *C)
Return the given constant as metadata.
void replaceOperandWith(unsigned I, Metadata *New)
Replace a specific operand.
static MDString * get(LLVMContext &Context, StringRef Str)
static IntegerType * getInt64Ty(LLVMContext &C)
MDNode * createFPMath(float Accuracy)
Return metadata with the given settings.
struct fuzzer::@269 Flags
static Type * getFloatTy(LLVMContext &C)
size_t size() const
size - Get the array size.
The instances of the Type class are immutable: once they are created, they are never changed...
This is an important base class in LLVM.
This file contains the declarations for the subclasses of Constant, which represent the different fla...
unsigned getBitWidth() const
Return the number of bits in the APInt.
MDNode * createAliasScopeDomain(StringRef Name)
Return metadata appropriate for an alias scope domain node with the given name.
Class to represent integer types.
MDNode * createFunctionEntryCount(uint64_t Count)
Return metadata containing the entry count for a function.
MDNode * createTBAAStructNode(ArrayRef< TBAAStructField > Fields)
Return metadata for a tbaa.struct node with the given struct field descriptions.
MDNode * createBranchWeights(uint32_t TrueWeight, uint32_t FalseWeight)
Return metadata containing two branch weights.
MDNode * createTBAAScalarTypeNode(StringRef Name, MDNode *Parent, uint64_t Offset=0)
Return metadata for a TBAA scalar type node with the given name, an offset and a parent in the TBAA t...
static IntegerType * get(LLVMContext &C, unsigned NumBits)
This static method is the primary way of constructing an IntegerType.
This is the shared class of boolean and integer constants.
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small...
static Constant * get(Type *Ty, uint64_t V, bool isSigned=false)
If Ty is a vector type, return a Constant with a splat of the given value.
static Constant * get(Type *Ty, double V)
This returns a ConstantFP, or a vector containing a splat of a ConstantFP, for the specified value in...
static GCRegistry::Add< ShadowStackGC > C("shadow-stack","Very portable GC for uncooperative code generators")
Class for arbitrary precision integers.
static TempMDTuple getTemporary(LLVMContext &Context, ArrayRef< Metadata * > MDs)
LLVM_NODISCARD LLVM_ATTRIBUTE_ALWAYS_INLINE bool empty() const
empty - Check if the string is empty.
static MDTuple * get(LLVMContext &Context, ArrayRef< Metadata * > MDs)
MDNode * createTBAAStructTypeNode(StringRef Name, ArrayRef< std::pair< MDNode *, uint64_t >> Fields)
Return metadata for a TBAA struct node in the type DAG with the given name, a list of pairs (offset...
static IntegerType * getInt32Ty(LLVMContext &C)
MDString * createString(StringRef Str)
Return the given string as metadata.
MDNode * createAliasScope(StringRef Name, MDNode *Domain)
Return metadata appropriate for an alias scope node with the given name.
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
MDNode * createTBAAStructTagNode(MDNode *BaseType, MDNode *AccessType, uint64_t Offset, bool IsConstant=false)
Return metadata for a TBAA tag node with the given base type, access type and offset relative to the ...
MDNode * createTBAANode(StringRef Name, MDNode *Parent, bool isConstant=false)
Return metadata for a non-root TBAA node with the given name, parent in the TBAA tree, and value for 'pointsToConstantMemory'.
MDNode * createFunctionSectionPrefix(StringRef Prefix)
Return metadata containing the section prefix for a function.
StringRef - Represent a constant reference to a string, i.e.
MDNode * createTBAARoot(StringRef Name)
Return metadata appropriate for a TBAA root node with the given name.