Support ForEachExpand on non-root functions.
BUG=6000538
Change-Id: I36e78ced0715b060af0938f1480df240cf6ba707
diff --git a/lib/ExecutionEngine/Compiler.h b/lib/ExecutionEngine/Compiler.h
index b99588a..8cc3d2e 100644
--- a/lib/ExecutionEngine/Compiler.h
+++ b/lib/ExecutionEngine/Compiler.h
@@ -80,6 +80,8 @@
static const llvm::StringRef PragmaMetadataName;
static const llvm::StringRef ExportVarMetadataName;
static const llvm::StringRef ExportFuncMetadataName;
+ static const llvm::StringRef ExportForEachNameMetadataName;
+ static const llvm::StringRef ExportForEachMetadataName;
static const llvm::StringRef ObjectSlotMetadataName;
friend class CodeEmitter;
@@ -176,11 +178,13 @@
#if USE_MCJIT
static void *resolveSymbolAdapter(void *context, char const *name);
#endif
- int runInternalPasses();
+ int runInternalPasses(std::vector<std::string>& Names,
+ std::vector<uint32_t>& Signatures);
int runLTO(llvm::TargetData *TD,
llvm::NamedMDNode const *ExportVarMetadata,
- llvm::NamedMDNode const *ExportFuncMetadata);
+ llvm::NamedMDNode const *ExportFuncMetadata,
+ std::vector<std::string>& ForEachExpandList);
bool hasError() const {
return !mError.empty();