LLVM  8.0.1
Classes | Macros | Functions | Variables
MetadataLoader.cpp File Reference
#include "MetadataLoader.h"
#include "ValueList.h"
#include "llvm/ADT/APFloat.h"
#include "llvm/ADT/APInt.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/DenseSet.h"
#include "llvm/ADT/None.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/Twine.h"
#include "llvm/Bitcode/BitcodeReader.h"
#include "llvm/Bitcode/BitstreamReader.h"
#include "llvm/Bitcode/LLVMBitCodes.h"
#include "llvm/IR/Argument.h"
#include "llvm/IR/Attributes.h"
#include "llvm/IR/AutoUpgrade.h"
#include "llvm/IR/BasicBlock.h"
#include "llvm/IR/CallingConv.h"
#include "llvm/IR/Comdat.h"
#include "llvm/IR/Constant.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/DebugInfo.h"
#include "llvm/IR/DebugInfoMetadata.h"
#include "llvm/IR/DebugLoc.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/DiagnosticPrinter.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/GVMaterializer.h"
#include "llvm/IR/GlobalAlias.h"
#include "llvm/IR/GlobalIFunc.h"
#include "llvm/IR/GlobalIndirectSymbol.h"
#include "llvm/IR/GlobalObject.h"
#include "llvm/IR/GlobalValue.h"
#include "llvm/IR/GlobalVariable.h"
#include "llvm/IR/InlineAsm.h"
#include "llvm/IR/InstrTypes.h"
#include "llvm/IR/Instruction.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/IR/Intrinsics.h"
#include "llvm/IR/LLVMContext.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/ModuleSummaryIndex.h"
#include "llvm/IR/OperandTraits.h"
#include "llvm/IR/TrackingMDRef.h"
#include "llvm/IR/Type.h"
#include "llvm/IR/ValueHandle.h"
#include "llvm/Support/AtomicOrdering.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/ManagedStatic.h"
#include "llvm/Support/MemoryBuffer.h"
#include "llvm/Support/raw_ostream.h"
#include <algorithm>
#include <cassert>
#include <cstddef>
#include <cstdint>
#include <deque>
#include <limits>
#include <map>
#include <memory>
#include <string>
#include <system_error>
#include <tuple>
#include <utility>
#include <vector>

Go to the source code of this file.

Classes

class  llvm::MetadataLoader::MetadataLoaderImpl
 

Macros

#define DEBUG_TYPE   "bitcode-reader"
 
#define GET_OR_DISTINCT(CLASS, ARGS)   (IsDistinct ? CLASS::getDistinct ARGS : CLASS::get ARGS)
 

Functions

 STATISTIC (NumMDStringLoaded, "Number of MDStrings loaded")
 
 STATISTIC (NumMDNodeTemporary, "Number of MDNode::Temporary created")
 
 STATISTIC (NumMDRecordLoaded, "Number of Metadata records loaded")
 
static Error error (const Twine &Message)
 

Variables

static cl::opt< boolImportFullTypeDefinitions ("import-full-type-definitions", cl::init(false), cl::Hidden, cl::desc("Import full type definitions for ThinLTO."))
 Flag whether we need to import full type definitions for ThinLTO. More...
 
static cl::opt< boolDisableLazyLoading ("disable-ondemand-mds-loading", cl::init(false), cl::Hidden, cl::desc("Force disable the lazy-loading on-demand of metadata when " "loading bitcode for importing."))
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "bitcode-reader"

Definition at line 88 of file MetadataLoader.cpp.

◆ GET_OR_DISTINCT

#define GET_OR_DISTINCT (   CLASS,
  ARGS 
)    (IsDistinct ? CLASS::getDistinct ARGS : CLASS::get ARGS)

Function Documentation

◆ error()

static Error error ( const Twine Message)
static

◆ STATISTIC() [1/3]

STATISTIC ( NumMDStringLoaded  ,
"Number of MDStrings loaded"   
)

◆ STATISTIC() [2/3]

STATISTIC ( NumMDNodeTemporary  ,
"Number of MDNode::Temporary created"   
)

◆ STATISTIC() [3/3]

STATISTIC ( NumMDRecordLoaded  ,
"Number of Metadata records loaded"   
)

Variable Documentation

◆ DisableLazyLoading

cl::opt<bool> DisableLazyLoading("disable-ondemand-mds-loading", cl::init(false), cl::Hidden, cl::desc("Force disable the lazy-loading on-demand of metadata when " "loading bitcode for importing."))
static

◆ ImportFullTypeDefinitions

cl::opt<bool> ImportFullTypeDefinitions("import-full-type-definitions", cl::init(false), cl::Hidden, cl::desc("Import full type definitions for ThinLTO."))
static

Flag whether we need to import full type definitions for ThinLTO.

Currently needed for Darwin and LLDB.