14#ifndef LLVM_TRANSFORMS_UTILS_FUNCTIONIMPORTUTILS_H
15#define LLVM_TRANSFORMS_UTILS_FUNCTIONIMPORTUTILS_H
41 bool HasExportedFunctions =
false;
54 bool ClearDSOLocalOnDeclarations;
72 bool isNonRenamableLocal(
const GlobalValue &GV)
const;
77 bool isPerformingImport()
const {
return GlobalsToImport !=
nullptr; }
78 bool isModuleExporting()
const {
return HasExportedFunctions; }
86 std::string getPromotedName(
const GlobalValue *SGV);
92 void processGlobalsForThinLTO();
109 bool ClearDSOLocalOnDeclarations);
117 bool ClearDSOLocalOnDeclarations,
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.