LLVM: include/llvm/Transforms/Utils/FunctionImportUtils.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13

14#ifndef LLVM_TRANSFORMS_UTILS_FUNCTIONIMPORTUTILS_H

15#define LLVM_TRANSFORMS_UTILS_FUNCTIONIMPORTUTILS_H

16

20

21namespace llvm {

23

24

25

27

29

30

32

33

34

36

37

38

39

40

41 bool HasExportedFunctions = false;

42

43

44

45

46

47

48

49

50

51

52

53

54 bool ClearDSOLocalOnDeclarations;

55

56

57

59

60

61

62

64

65

67

68#ifndef NDEBUG

69

70

71

72 bool isNonRenamableLocal(const GlobalValue &GV) const;

73#endif

74

75

76

77 bool isPerformingImport() const { return GlobalsToImport != nullptr; }

78 bool isModuleExporting() const { return HasExportedFunctions; }

79

80

81

82 bool doImportAsDefinition(const GlobalValue *SGV);

83

84

85

86 std::string getPromotedName(const GlobalValue *SGV);

87

88

89

90

91

92 void processGlobalsForThinLTO();

93 void processGlobalForThinLTO(GlobalValue &GV);

94

95

96

97

98

100

101

102

104

105public:

109 bool ClearDSOLocalOnDeclarations);

111};

112

113

114

117 bool ClearDSOLocalOnDeclarations,

119

120}

121

122#endif

ModuleSummaryIndex.h This file contains the declarations the classes that hold the module index and s...

This file implements a set that has insertion order iteration characteristics.

Implements a dense probed hash-table based set.

LLVM_ABI FunctionImportGlobalProcessing(Module &M, const ModuleSummaryIndex &Index, SetVector< GlobalValue * > *GlobalsToImport, bool ClearDSOLocalOnDeclarations)

LinkageTypes

An enumeration for the kinds of linkage for global values.

Class to hold module path string table and global value map, and encapsulate methods for operating on...

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

A vector that has set insertion semantics.

SmallPtrSet - This class implements a set which is optimized for holding SmallSize or less elements.

This is an optimization pass for GlobalISel generic memory operations.

LLVM_ABI void renameModuleForThinLTO(Module &M, const ModuleSummaryIndex &Index, bool ClearDSOLocalOnDeclarations, SetVector< GlobalValue * > *GlobalsToImport=nullptr)

Perform in-place global value handling on the given Module for exported local functions renamed and p...

Struct that holds a reference to a particular GUID in a global value summary.