LLVM: include/llvm/Linker/IRMover.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9#ifndef LLVM_LINKER_IRMOVER_H

10#define LLVM_LINKER_IRMOVER_H

11

18#include

19

20namespace llvm {

30

32 struct StructTypeKeyInfo {

47 };

48

49

51

52public:

54

56

57

59

60 public:

66 };

67

69

73

76

77

78

79

80

81

82

83

84

85

86

89 LazyCallback AddLazyFor, bool IsPerformingImport);

91

92private:

94 IdentifiedStructTypeSet IdentifiedStructTypes;

95 MDMapT SharedMDs;

96 NamedMDNodesT NamedMDNodes;

97};

98

99}

100

101#endif

static GCRegistry::Add< CoreCLRGC > E("coreclr", "CoreCLR-compatible GC")

This file defines the DenseMap class.

This file defines the DenseSet and SmallDenseSet classes.

This file defines the SmallPtrSet class.

ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...

Implements a dense probed hash-table based set.

Lightweight error class with error context and mandatory checking.

LLVM_ABI void addNonOpaque(StructType *Ty)

LLVM_ABI bool hasType(StructType *Ty)

LLVM_ABI void switchToNonOpaque(StructType *Ty)

LLVM_ABI void addOpaque(StructType *Ty)

LLVM_ABI StructType * findNonOpaque(ArrayRef< Type * > ETypes, bool IsPacked)

LLVM_ABI IRMover(Module &M)

LLVM_ABI Error move(std::unique_ptr< Module > Src, ArrayRef< GlobalValue * > ValuesToLink, LazyCallback AddLazyFor, bool IsPerformingImport)

Move in the provide values in ValuesToLink from Src.

Module & getModule()

Definition IRMover.h:90

std::function< void(GlobalValue &)> ValueAdder

Definition IRMover.h:70

DenseMap< const NamedMDNode *, SmallPtrSet< const MDNode *, 8 > > NamedMDNodesT

Definition IRMover.h:74

llvm::unique_function< void(GlobalValue &GV, ValueAdder Add)> LazyCallback

Definition IRMover.h:71

A Module instance is used to store all the information related to an LLVM module.

Class to represent struct types.

Tracking metadata reference.

The instances of the Type class are immutable: once they are created, they are never changed.

unique_function is a type-erasing functor similar to std::function.

This is an optimization pass for GlobalISel generic memory operations.

LLVM_ATTRIBUTE_VISIBILITY_DEFAULT AnalysisKey InnerAnalysisManagerProxy< AnalysisManagerT, IRUnitT, ExtraArgTs... >::Key

LLVM_ABI KeyTy(ArrayRef< Type * > E, bool P)

bool IsPacked

Definition IRMover.h:35

LLVM_ABI bool operator==(const KeyTy &that) const

ArrayRef< Type * > ETypes

Definition IRMover.h:34

LLVM_ABI bool operator!=(const KeyTy &that) const