#include "llvm/IR/MDBuilder.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/Metadata.h"
usingnamespacellvm;
MDString *MDBuilder::createString(StringRef Str) { … }
ConstantAsMetadata *MDBuilder::createConstant(Constant *C) { … }
MDNode *MDBuilder::createFPMath(float Accuracy) { … }
MDNode *MDBuilder::createBranchWeights(uint32_t TrueWeight,
uint32_t FalseWeight, bool IsExpected) { … }
MDNode *MDBuilder::createLikelyBranchWeights() { … }
MDNode *MDBuilder::createUnlikelyBranchWeights() { … }
MDNode *MDBuilder::createBranchWeights(ArrayRef<uint32_t> Weights,
bool IsExpected) { … }
MDNode *MDBuilder::createUnpredictable() { … }
MDNode *MDBuilder::createFunctionEntryCount(
uint64_t Count, bool Synthetic,
const DenseSet<GlobalValue::GUID> *Imports) { … }
MDNode *MDBuilder::createFunctionSectionPrefix(StringRef Prefix) { … }
MDNode *MDBuilder::createRange(const APInt &Lo, const APInt &Hi) { … }
MDNode *MDBuilder::createRange(Constant *Lo, Constant *Hi) { … }
MDNode *MDBuilder::createCallees(ArrayRef<Function *> Callees) { … }
MDNode *MDBuilder::createCallbackEncoding(unsigned CalleeArgNo,
ArrayRef<int> Arguments,
bool VarArgArePassed) { … }
MDNode *MDBuilder::mergeCallbackEncodings(MDNode *ExistingCallbacks,
MDNode *NewCB) { … }
MDNode *MDBuilder::createRTTIPointerPrologue(Constant *PrologueSig,
Constant *RTTI) { … }
MDNode *MDBuilder::createPCSections(ArrayRef<PCSection> Sections) { … }
MDNode *MDBuilder::createAnonymousAARoot(StringRef Name, MDNode *Extra) { … }
MDNode *MDBuilder::createTBAARoot(StringRef Name) { … }
MDNode *MDBuilder::createTBAANode(StringRef Name, MDNode *Parent,
bool isConstant) { … }
MDNode *MDBuilder::createAliasScopeDomain(StringRef Name) { … }
MDNode *MDBuilder::createAliasScope(StringRef Name, MDNode *Domain) { … }
MDNode *MDBuilder::createTBAAStructNode(ArrayRef<TBAAStructField> Fields) { … }
MDNode *MDBuilder::createTBAAStructTypeNode(
StringRef Name, ArrayRef<std::pair<MDNode *, uint64_t>> Fields) { … }
MDNode *MDBuilder::createTBAAScalarTypeNode(StringRef Name, MDNode *Parent,
uint64_t Offset) { … }
MDNode *MDBuilder::createTBAAStructTagNode(MDNode *BaseType, MDNode *AccessType,
uint64_t Offset, bool IsConstant) { … }
MDNode *MDBuilder::createTBAATypeNode(MDNode *Parent, uint64_t Size,
Metadata *Id,
ArrayRef<TBAAStructField> Fields) { … }
MDNode *MDBuilder::createTBAAAccessTag(MDNode *BaseType, MDNode *AccessType,
uint64_t Offset, uint64_t Size,
bool IsImmutable) { … }
MDNode *MDBuilder::createMutableTBAAAccessTag(MDNode *Tag) { … }
MDNode *MDBuilder::createIrrLoopHeaderWeight(uint64_t Weight) { … }
MDNode *MDBuilder::createPseudoProbeDesc(uint64_t GUID, uint64_t Hash,
StringRef FName) { … }
MDNode *
MDBuilder::createLLVMStats(ArrayRef<std::pair<StringRef, uint64_t>> LLVMStats) { … }