summaryrefslogtreecommitdiff
path: root/contrib/llvm/lib/Bitcode/Reader/MetadataLoader.h
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/llvm/lib/Bitcode/Reader/MetadataLoader.h')
-rw-r--r--contrib/llvm/lib/Bitcode/Reader/MetadataLoader.h85
1 files changed, 0 insertions, 85 deletions
diff --git a/contrib/llvm/lib/Bitcode/Reader/MetadataLoader.h b/contrib/llvm/lib/Bitcode/Reader/MetadataLoader.h
deleted file mode 100644
index fe2b20273249..000000000000
--- a/contrib/llvm/lib/Bitcode/Reader/MetadataLoader.h
+++ /dev/null
@@ -1,85 +0,0 @@
-//===-- Bitcode/Reader/MetadataLoader.h - Load Metadatas -------*- C++ -*-====//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-//
-// This class handles loading Metadatas.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_LIB_BITCODE_READER_METADATALOADER_H
-#define LLVM_LIB_BITCODE_READER_METADATALOADER_H
-
-#include "llvm/ADT/SmallVector.h"
-#include "llvm/Support/Error.h"
-
-#include <functional>
-#include <memory>
-
-namespace llvm {
-class BitcodeReaderValueList;
-class BitstreamCursor;
-class DISubprogram;
-class Error;
-class Function;
-class Instruction;
-class Metadata;
-class MDNode;
-class Module;
-class Type;
-
-/// Helper class that handles loading Metadatas and keeping them available.
-class MetadataLoader {
- class MetadataLoaderImpl;
- std::unique_ptr<MetadataLoaderImpl> Pimpl;
- Error parseMetadata(bool ModuleLevel);
-
-public:
- ~MetadataLoader();
- MetadataLoader(BitstreamCursor &Stream, Module &TheModule,
- BitcodeReaderValueList &ValueList, bool IsImporting,
- std::function<Type *(unsigned)> getTypeByID);
- MetadataLoader &operator=(MetadataLoader &&);
- MetadataLoader(MetadataLoader &&);
-
- // Parse a module metadata block
- Error parseModuleMetadata() { return parseMetadata(true); }
-
- // Parse a function metadata block
- Error parseFunctionMetadata() { return parseMetadata(false); }
-
- /// Set the mode to strip TBAA metadata on load.
- void setStripTBAA(bool StripTBAA = true);
-
- /// Return true if the Loader is stripping TBAA metadata.
- bool isStrippingTBAA();
-
- // Return true there are remaining unresolved forward references.
- bool hasFwdRefs() const;
-
- /// Return the given metadata, creating a replaceable forward reference if
- /// necessary.
- Metadata *getMetadataFwdRefOrLoad(unsigned Idx);
-
- /// Return the DISubprogram metadata for a Function if any, null otherwise.
- DISubprogram *lookupSubprogramForFunction(Function *F);
-
- /// Parse a `METADATA_ATTACHMENT` block for a function.
- Error parseMetadataAttachment(
- Function &F, const SmallVectorImpl<Instruction *> &InstructionList);
-
- /// Parse a `METADATA_KIND` block for the current module.
- Error parseMetadataKinds();
-
- unsigned size() const;
- void shrinkTo(unsigned N);
-
- /// Perform bitcode upgrades on llvm.dbg.* calls.
- void upgradeDebugIntrinsics(Function &F);
-};
-}
-
-#endif // LLVM_LIB_BITCODE_READER_METADATALOADER_H