LLVM
15.0.0git
|
#include "llvm/AsmParser/LLParser.h"
#include "llvm/ADT/APSInt.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/None.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/AsmParser/LLToken.h"
#include "llvm/AsmParser/SlotMapping.h"
#include "llvm/BinaryFormat/Dwarf.h"
#include "llvm/IR/Argument.h"
#include "llvm/IR/AutoUpgrade.h"
#include "llvm/IR/BasicBlock.h"
#include "llvm/IR/CallingConv.h"
#include "llvm/IR/Comdat.h"
#include "llvm/IR/ConstantRange.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/DebugInfoMetadata.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/GlobalIFunc.h"
#include "llvm/IR/GlobalObject.h"
#include "llvm/IR/InlineAsm.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/Intrinsics.h"
#include "llvm/IR/LLVMContext.h"
#include "llvm/IR/Metadata.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/Operator.h"
#include "llvm/IR/Value.h"
#include "llvm/IR/ValueSymbolTable.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/SaveAndRestore.h"
#include "llvm/Support/raw_ostream.h"
#include <algorithm>
#include <cassert>
#include <cstring>
#include <vector>
#include "llvm/IR/Attributes.inc"
#include "llvm/IR/Metadata.def"
Go to the source code of this file.
Namespaces | |
llvm | |
This is an optimization pass for GlobalISel generic memory operations. | |
Macros | |
#define | GET_ATTR_NAMES |
#define | ATTRIBUTE_ENUM(ENUM_NAME, DISPLAY_NAME) |
#define | HANDLE_SPECIALIZED_MDNODE_LEAF(CLASS) |
#define | DECLARE_FIELD(NAME, TYPE, INIT) TYPE NAME INIT |
#define | NOP_FIELD(NAME, TYPE, INIT) |
#define | REQUIRE_FIELD(NAME, TYPE, INIT) |
#define | PARSE_MD_FIELD(NAME, TYPE, DEFAULT) |
#define | PARSE_MD_FIELDS() |
#define | GET_OR_DISTINCT(CLASS, ARGS) (IsDistinct ? CLASS::getDistinct ARGS : CLASS::get ARGS) |
#define | VISIT_MD_FIELDS(OPTIONAL, REQUIRED) |
#define | VISIT_MD_FIELDS(OPTIONAL, REQUIRED) |
#define | VISIT_MD_FIELDS(OPTIONAL, REQUIRED) |
#define | VISIT_MD_FIELDS(OPTIONAL, REQUIRED) |
#define | VISIT_MD_FIELDS(OPTIONAL, REQUIRED) |
#define | VISIT_MD_FIELDS(OPTIONAL, REQUIRED) |
#define | VISIT_MD_FIELDS(OPTIONAL, REQUIRED) |
#define | VISIT_MD_FIELDS(OPTIONAL, REQUIRED) |
#define | VISIT_MD_FIELDS(OPTIONAL, REQUIRED) |
#define | VISIT_MD_FIELDS(OPTIONAL, REQUIRED) |
#define | VISIT_MD_FIELDS(OPTIONAL, REQUIRED) |
#define | VISIT_MD_FIELDS(OPTIONAL, REQUIRED) |
#define | VISIT_MD_FIELDS(OPTIONAL, REQUIRED) |
#define | VISIT_MD_FIELDS(OPTIONAL, REQUIRED) |
#define | VISIT_MD_FIELDS(OPTIONAL, REQUIRED) |
#define | VISIT_MD_FIELDS(OPTIONAL, REQUIRED) |
#define | VISIT_MD_FIELDS(OPTIONAL, REQUIRED) |
#define | VISIT_MD_FIELDS(OPTIONAL, REQUIRED) |
#define | VISIT_MD_FIELDS(OPTIONAL, REQUIRED) |
#define | VISIT_MD_FIELDS(OPTIONAL, REQUIRED) |
#define | VISIT_MD_FIELDS(OPTIONAL, REQUIRED) |
#define | VISIT_MD_FIELDS(OPTIONAL, REQUIRED) |
#define | VISIT_MD_FIELDS(OPTIONAL, REQUIRED) |
#define | VISIT_MD_FIELDS(OPTIONAL, REQUIRED) |
#define | VISIT_MD_FIELDS(OPTIONAL, REQUIRED) |
#define | VISIT_MD_FIELDS(OPTIONAL, REQUIRED) |
#define | VISIT_MD_FIELDS(OPTIONAL, REQUIRED) |
#define | VISIT_MD_FIELDS(OPTIONAL, REQUIRED) |
Functions | |
static std::string | getTypeString (Type *T) |
static void | setContextOpaquePointers (LLLexer &L, LLVMContext &C) |
static bool | isValidVisibilityForLinkage (unsigned V, unsigned L) |
static void | maybeSetDSOLocal (bool DSOLocal, GlobalValue &GV) |
static std::string | typeComparisonErrorMessage (StringRef Message, Type *Ty1, Type *Ty2) |
static bool | isSanitizer (lltok::Kind Kind) |
static Attribute::AttrKind | tokenToAttribute (lltok::Kind Kind) |
static GlobalValue * | createGlobalFwdRef (Module *M, PointerType *PTy) |
static unsigned | parseOptionalLinkageAux (lltok::Kind Kind, bool &HasLinkage) |
static void | resolveFwdRef (ValueInfo *Fwd, ValueInfo &Resolved) |
Variables | |
static ValueInfo | EmptyVI |
static const auto | FwdVIRef = (GlobalValueSummaryMapTy::value_type *)-8 |
#define ATTRIBUTE_ENUM | ( | ENUM_NAME, | |
DISPLAY_NAME | |||
) |
Definition at line 4500 of file LLParser.cpp.
#define GET_ATTR_NAMES |
#define GET_OR_DISTINCT | ( | CLASS, | |
ARGS | |||
) | (IsDistinct ? CLASS::getDistinct ARGS : CLASS::get ARGS) |
Definition at line 4522 of file LLParser.cpp.
#define HANDLE_SPECIALIZED_MDNODE_LEAF | ( | CLASS | ) |
#define NOP_FIELD | ( | NAME, | |
TYPE, | |||
INIT | |||
) |
Definition at line 4501 of file LLParser.cpp.
#define PARSE_MD_FIELD | ( | NAME, | |
TYPE, | |||
DEFAULT | |||
) |
Definition at line 4505 of file LLParser.cpp.
#define PARSE_MD_FIELDS | ( | ) |
Definition at line 4508 of file LLParser.cpp.
#define REQUIRE_FIELD | ( | NAME, | |
TYPE, | |||
INIT | |||
) |
Definition at line 4502 of file LLParser.cpp.
#define VISIT_MD_FIELDS | ( | OPTIONAL, | |
REQUIRED | |||
) |
#define VISIT_MD_FIELDS | ( | OPTIONAL, | |
REQUIRED | |||
) |
#define VISIT_MD_FIELDS | ( | OPTIONAL, | |
REQUIRED | |||
) |
#define VISIT_MD_FIELDS | ( | OPTIONAL, | |
REQUIRED | |||
) |
#define VISIT_MD_FIELDS | ( | OPTIONAL, | |
REQUIRED | |||
) |
#define VISIT_MD_FIELDS | ( | OPTIONAL, | |
REQUIRED | |||
) |
#define VISIT_MD_FIELDS | ( | OPTIONAL, | |
REQUIRED | |||
) |
#define VISIT_MD_FIELDS | ( | OPTIONAL, | |
REQUIRED | |||
) |
#define VISIT_MD_FIELDS | ( | OPTIONAL, | |
REQUIRED | |||
) |
#define VISIT_MD_FIELDS | ( | OPTIONAL, | |
REQUIRED | |||
) |
#define VISIT_MD_FIELDS | ( | OPTIONAL, | |
REQUIRED | |||
) |
#define VISIT_MD_FIELDS | ( | OPTIONAL, | |
REQUIRED | |||
) |
#define VISIT_MD_FIELDS | ( | OPTIONAL, | |
REQUIRED | |||
) |
#define VISIT_MD_FIELDS | ( | OPTIONAL, | |
REQUIRED | |||
) |
#define VISIT_MD_FIELDS | ( | OPTIONAL, | |
REQUIRED | |||
) |
#define VISIT_MD_FIELDS | ( | OPTIONAL, | |
REQUIRED | |||
) |
#define VISIT_MD_FIELDS | ( | OPTIONAL, | |
REQUIRED | |||
) |
#define VISIT_MD_FIELDS | ( | OPTIONAL, | |
REQUIRED | |||
) |
#define VISIT_MD_FIELDS | ( | OPTIONAL, | |
REQUIRED | |||
) |
#define VISIT_MD_FIELDS | ( | OPTIONAL, | |
REQUIRED | |||
) |
#define VISIT_MD_FIELDS | ( | OPTIONAL, | |
REQUIRED | |||
) |
#define VISIT_MD_FIELDS | ( | OPTIONAL, | |
REQUIRED | |||
) |
#define VISIT_MD_FIELDS | ( | OPTIONAL, | |
REQUIRED | |||
) |
#define VISIT_MD_FIELDS | ( | OPTIONAL, | |
REQUIRED | |||
) |
#define VISIT_MD_FIELDS | ( | OPTIONAL, | |
REQUIRED | |||
) |
#define VISIT_MD_FIELDS | ( | OPTIONAL, | |
REQUIRED | |||
) |
#define VISIT_MD_FIELDS | ( | OPTIONAL, | |
REQUIRED | |||
) |
#define VISIT_MD_FIELDS | ( | OPTIONAL, | |
REQUIRED | |||
) |
|
inlinestatic |
Definition at line 1483 of file LLParser.cpp.
References llvm::Function::Create(), llvm::GlobalValue::ExternalWeakLinkage, llvm::PointerType::getAddressSpace(), llvm::Type::getInt8Ty(), llvm::Type::getNonOpaquePointerElementType(), llvm::PointerType::isOpaque(), M, and llvm::GlobalValue::NotThreadLocal.
|
static |
Definition at line 55 of file LLParser.cpp.
References llvm::raw_string_ostream::str(), and T.
|
static |
Definition at line 1106 of file LLParser.cpp.
References llvm::lltok::kw_no_sanitize_address, llvm::lltok::kw_no_sanitize_hwaddress, llvm::lltok::kw_no_sanitize_memtag, and llvm::lltok::kw_sanitize_address_dyninit.
|
static |
Definition at line 923 of file LLParser.cpp.
References llvm::GlobalValue::DefaultVisibility, and llvm::GlobalValue::isLocalLinkage().
|
static |
Definition at line 930 of file LLParser.cpp.
References llvm::GlobalValue::setDSOLocal().
|
static |
Definition at line 1736 of file LLParser.cpp.
References llvm::GlobalValue::AppendingLinkage, llvm::GlobalValue::AvailableExternallyLinkage, llvm::GlobalValue::CommonLinkage, llvm::GlobalValue::ExternalLinkage, llvm::GlobalValue::ExternalWeakLinkage, llvm::GlobalValue::InternalLinkage, llvm::lltok::kw_appending, llvm::lltok::kw_available_externally, llvm::lltok::kw_common, llvm::lltok::kw_extern_weak, llvm::lltok::kw_external, llvm::lltok::kw_internal, llvm::lltok::kw_linkonce, llvm::lltok::kw_linkonce_odr, llvm::lltok::kw_private, llvm::lltok::kw_weak, llvm::lltok::kw_weak_odr, llvm::GlobalValue::LinkOnceAnyLinkage, llvm::GlobalValue::LinkOnceODRLinkage, llvm::GlobalValue::PrivateLinkage, llvm::GlobalValue::WeakAnyLinkage, and llvm::GlobalValue::WeakODRLinkage.
Definition at line 8309 of file LLParser.cpp.
References assert(), llvm::ValueInfo::isReadOnly(), llvm::ValueInfo::isWriteOnly(), llvm::ValueInfo::setReadOnly(), and llvm::ValueInfo::setWriteOnly().
|
static |
Definition at line 62 of file LLParser.cpp.
References llvm::lltok::Eof, llvm::lltok::Error, llvm::LLLexer::getTyVal(), llvm::LLLexer::Lex(), and llvm::lltok::star.
Referenced by llvm::LLParser::Run().
|
static |
Definition at line 1323 of file LLParser.cpp.
References llvm::Attribute::None.
Definition at line 935 of file LLParser.cpp.
References llvm::raw_string_ostream::str().
|
static |
Definition at line 7950 of file LLParser.cpp.
|
static |
Definition at line 8307 of file LLParser.cpp.