summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLang Hames <lhames@gmail.com>2015-02-21 20:44:36 +0000
committerLang Hames <lhames@gmail.com>2015-02-21 20:44:36 +0000
commite738061c4900016238adf741e37dae099afe7c65 (patch)
tree5aa02ee105c792fd3959002f907ad99a1d39edc5
parent60c5bbff29731d46df8aaf7c806993351ca4aa57 (diff)
downloadbcm5719-llvm-e738061c4900016238adf741e37dae099afe7c65.tar.gz
bcm5719-llvm-e738061c4900016238adf741e37dae099afe7c65.zip
[Orc] Move Orc code into a namespace (llvm::orc), update Kaleidoscope code.
NFC. llvm-svn: 230143
-rw-r--r--llvm/examples/Kaleidoscope/Orc/fully_lazy/toy.cpp2
-rw-r--r--llvm/examples/Kaleidoscope/Orc/initial/toy.cpp2
-rw-r--r--llvm/examples/Kaleidoscope/Orc/lazy_codegen/toy.cpp2
-rw-r--r--llvm/examples/Kaleidoscope/Orc/lazy_irgen/toy.cpp2
-rw-r--r--llvm/include/llvm/ExecutionEngine/Orc/CloneSubModule.h17
-rw-r--r--llvm/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h5
-rw-r--r--llvm/include/llvm/ExecutionEngine/Orc/CompileUtils.h5
-rw-r--r--llvm/include/llvm/ExecutionEngine/Orc/IRCompileLayer.h5
-rw-r--r--llvm/include/llvm/ExecutionEngine/Orc/IndirectionUtils.h4
-rw-r--r--llvm/include/llvm/ExecutionEngine/Orc/JITSymbol.h4
-rw-r--r--llvm/include/llvm/ExecutionEngine/Orc/LazyEmittingLayer.h5
-rw-r--r--llvm/include/llvm/ExecutionEngine/Orc/LookasideRTDyldMM.h5
-rw-r--r--llvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h4
-rw-r--r--llvm/include/llvm/ExecutionEngine/Orc/OrcTargetSupport.h4
-rw-r--r--llvm/lib/ExecutionEngine/Orc/CloneSubModule.cpp16
-rw-r--r--llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp4
-rw-r--r--llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.cpp7
-rw-r--r--llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h10
-rw-r--r--llvm/lib/ExecutionEngine/Orc/OrcTargetSupport.cpp6
19 files changed, 85 insertions, 24 deletions
diff --git a/llvm/examples/Kaleidoscope/Orc/fully_lazy/toy.cpp b/llvm/examples/Kaleidoscope/Orc/fully_lazy/toy.cpp
index b1aca7803da..475d4eba622 100644
--- a/llvm/examples/Kaleidoscope/Orc/fully_lazy/toy.cpp
+++ b/llvm/examples/Kaleidoscope/Orc/fully_lazy/toy.cpp
@@ -20,7 +20,9 @@
#include <sstream>
#include <string>
#include <vector>
+
using namespace llvm;
+using namespace llvm::orc;
//===----------------------------------------------------------------------===//
// Lexer
diff --git a/llvm/examples/Kaleidoscope/Orc/initial/toy.cpp b/llvm/examples/Kaleidoscope/Orc/initial/toy.cpp
index ae0d4ad33da..c01aff2f99b 100644
--- a/llvm/examples/Kaleidoscope/Orc/initial/toy.cpp
+++ b/llvm/examples/Kaleidoscope/Orc/initial/toy.cpp
@@ -20,7 +20,9 @@
#include <sstream>
#include <string>
#include <vector>
+
using namespace llvm;
+using namespace llvm::orc;
//===----------------------------------------------------------------------===//
// Lexer
diff --git a/llvm/examples/Kaleidoscope/Orc/lazy_codegen/toy.cpp b/llvm/examples/Kaleidoscope/Orc/lazy_codegen/toy.cpp
index 168ebdd87ae..ee42d79e585 100644
--- a/llvm/examples/Kaleidoscope/Orc/lazy_codegen/toy.cpp
+++ b/llvm/examples/Kaleidoscope/Orc/lazy_codegen/toy.cpp
@@ -19,7 +19,9 @@
#include <sstream>
#include <string>
#include <vector>
+
using namespace llvm;
+using namespace llvm::orc;
//===----------------------------------------------------------------------===//
// Lexer
diff --git a/llvm/examples/Kaleidoscope/Orc/lazy_irgen/toy.cpp b/llvm/examples/Kaleidoscope/Orc/lazy_irgen/toy.cpp
index af02e939452..162b0e58999 100644
--- a/llvm/examples/Kaleidoscope/Orc/lazy_irgen/toy.cpp
+++ b/llvm/examples/Kaleidoscope/Orc/lazy_irgen/toy.cpp
@@ -19,7 +19,9 @@
#include <sstream>
#include <string>
#include <vector>
+
using namespace llvm;
+using namespace llvm::orc;
//===----------------------------------------------------------------------===//
// Lexer
diff --git a/llvm/include/llvm/ExecutionEngine/Orc/CloneSubModule.h b/llvm/include/llvm/ExecutionEngine/Orc/CloneSubModule.h
index 208a4f7692b..1bd3955e879 100644
--- a/llvm/include/llvm/ExecutionEngine/Orc/CloneSubModule.h
+++ b/llvm/include/llvm/ExecutionEngine/Orc/CloneSubModule.h
@@ -25,21 +25,36 @@ class Function;
class GlobalVariable;
class Module;
+namespace orc {
+
+/// @brief Functor type for describing how CloneSubModule should mutate a
+/// GlobalVariable.
typedef std::function<void(GlobalVariable &, const GlobalVariable &,
ValueToValueMapTy &)> HandleGlobalVariableFtor;
+/// @brief Functor type for describing how CloneSubModule should mutate a
+/// Function.
typedef std::function<void(Function &, const Function &, ValueToValueMapTy &)>
HandleFunctionFtor;
+/// @brief Copies the initializer from Orig to New.
+///
+/// Type is suitable for implicit conversion to a HandleGlobalVariableFtor.
void copyGVInitializer(GlobalVariable &New, const GlobalVariable &Orig,
ValueToValueMapTy &VMap);
+/// @brief Copies the body of Orig to New.
+///
+/// Type is suitable for implicit conversion to a HandleFunctionFtor.
void copyFunctionBody(Function &New, const Function &Orig,
ValueToValueMapTy &VMap);
+/// @brief Clone a subset of the module Src into Dst.
void CloneSubModule(Module &Dst, const Module &Src,
HandleGlobalVariableFtor HandleGlobalVariable,
HandleFunctionFtor HandleFunction, bool KeepInlineAsm);
-}
+
+} // End namespace orc.
+} // End namespace llvm.
#endif // LLVM_EXECUTIONENGINE_ORC_CLONESUBMODULE_H
diff --git a/llvm/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h b/llvm/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h
index 7fb25db0322..0e218e2e7f4 100644
--- a/llvm/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h
+++ b/llvm/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h
@@ -22,6 +22,7 @@
#include <list>
namespace llvm {
+namespace orc {
/// @brief Compile-on-demand layer.
///
@@ -347,6 +348,8 @@ private:
CompileCallbackMgrT CompileCallbackMgr;
ModuleSetInfoListT ModuleSetInfos;
};
-}
+
+} // End namespace orc.
+} // End namespace llvm.
#endif // LLVM_EXECUTIONENGINE_ORC_COMPILEONDEMANDLAYER_H
diff --git a/llvm/include/llvm/ExecutionEngine/Orc/CompileUtils.h b/llvm/include/llvm/ExecutionEngine/Orc/CompileUtils.h
index a054ca659d3..49a1fbadb29 100644
--- a/llvm/include/llvm/ExecutionEngine/Orc/CompileUtils.h
+++ b/llvm/include/llvm/ExecutionEngine/Orc/CompileUtils.h
@@ -21,6 +21,7 @@
#include "llvm/Target/TargetMachine.h"
namespace llvm {
+namespace orc {
/// @brief Simple compile functor: Takes a single IR module and returns an
/// ObjectFile.
@@ -54,6 +55,8 @@ public:
private:
TargetMachine &TM;
};
-}
+
+} // End namespace orc.
+} // End namespace llvm.
#endif // LLVM_EXECUTIONENGINE_ORC_COMPILEUTILS_H
diff --git a/llvm/include/llvm/ExecutionEngine/Orc/IRCompileLayer.h b/llvm/include/llvm/ExecutionEngine/Orc/IRCompileLayer.h
index 19f55e9551c..6a476221739 100644
--- a/llvm/include/llvm/ExecutionEngine/Orc/IRCompileLayer.h
+++ b/llvm/include/llvm/ExecutionEngine/Orc/IRCompileLayer.h
@@ -21,6 +21,7 @@
#include <memory>
namespace llvm {
+namespace orc {
/// @brief Eager IR compiling layer.
///
@@ -138,6 +139,8 @@ private:
CompileFtor Compile;
ObjectCache *ObjCache;
};
-}
+
+} // End namespace orc.
+} // End namespace llvm.
#endif // LLVM_EXECUTIONENGINE_ORC_IRCOMPILINGLAYER_H
diff --git a/llvm/include/llvm/ExecutionEngine/Orc/IndirectionUtils.h b/llvm/include/llvm/ExecutionEngine/Orc/IndirectionUtils.h
index 50e9a4352dd..e9d3d34085d 100644
--- a/llvm/include/llvm/ExecutionEngine/Orc/IndirectionUtils.h
+++ b/llvm/include/llvm/ExecutionEngine/Orc/IndirectionUtils.h
@@ -22,6 +22,7 @@
#include <sstream>
namespace llvm {
+namespace orc {
/// @brief Base class for JITLayer independent aspects of
/// JITCompileCallbackManager.
@@ -239,6 +240,7 @@ public:
FullyPartitionedModule fullyPartition(Module &M);
-}
+} // End namespace orc.
+} // End namespace llvm.
#endif // LLVM_EXECUTIONENGINE_ORC_INDIRECTIONUTILS_H
diff --git a/llvm/include/llvm/ExecutionEngine/Orc/JITSymbol.h b/llvm/include/llvm/ExecutionEngine/Orc/JITSymbol.h
index c0b627e60b9..07a7dbb9a1f 100644
--- a/llvm/include/llvm/ExecutionEngine/Orc/JITSymbol.h
+++ b/llvm/include/llvm/ExecutionEngine/Orc/JITSymbol.h
@@ -19,6 +19,7 @@
#include <functional>
namespace llvm {
+namespace orc {
/// @brief Represents an address in the target process's address space.
typedef uint64_t TargetAddress;
@@ -67,6 +68,7 @@ private:
GetAddressFtor GetAddress;
};
-}
+} // End namespace orc.
+} // End namespace llvm.
#endif // LLVM_EXECUTIONENGINE_ORC_JITSYMBOL_H
diff --git a/llvm/include/llvm/ExecutionEngine/Orc/LazyEmittingLayer.h b/llvm/include/llvm/ExecutionEngine/Orc/LazyEmittingLayer.h
index 9579cd35cad..d1214af1e30 100644
--- a/llvm/include/llvm/ExecutionEngine/Orc/LazyEmittingLayer.h
+++ b/llvm/include/llvm/ExecutionEngine/Orc/LazyEmittingLayer.h
@@ -22,6 +22,7 @@
#include <list>
namespace llvm {
+namespace orc {
/// @brief Lazy-emitting IR layer.
///
@@ -273,6 +274,8 @@ LazyEmittingLayer<BaseLayerT>::EmissionDeferredSet::create(
return llvm::make_unique<EmissionDeferredSetImpl<ModuleSetT>>(std::move(Ms),
std::move(MM));
}
-}
+
+} // End namespace orc.
+} // End namespace llvm.
#endif // LLVM_EXECUTIONENGINE_ORC_LAZYEMITTINGLAYER_H
diff --git a/llvm/include/llvm/ExecutionEngine/Orc/LookasideRTDyldMM.h b/llvm/include/llvm/ExecutionEngine/Orc/LookasideRTDyldMM.h
index dd49c94dcca..44564045656 100644
--- a/llvm/include/llvm/ExecutionEngine/Orc/LookasideRTDyldMM.h
+++ b/llvm/include/llvm/ExecutionEngine/Orc/LookasideRTDyldMM.h
@@ -20,6 +20,7 @@
#include <vector>
namespace llvm {
+namespace orc {
/// @brief Defines an adapter for RuntimeDyldMM that allows lookups for external
/// symbols to go via a functor, before falling back to the lookup logic
@@ -84,6 +85,8 @@ createLookasideRTDyldMM(ExternalLookupFtor &&ExternalLookup,
std::forward<ExternalLookupFtor>(ExternalLookup),
std::forward<DylibLookupFtor>(DylibLookup));
}
-}
+
+} // End namespace orc.
+} // End namespace llvm.
#endif // LLVM_EXECUTIONENGINE_ORC_LOOKASIDERTDYLDMM_H
diff --git a/llvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h b/llvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h
index ad7c9ebdd9b..36af0feabda 100644
--- a/llvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h
+++ b/llvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h
@@ -22,6 +22,7 @@
#include <memory>
namespace llvm {
+namespace orc {
class ObjectLinkingLayerBase {
protected:
@@ -260,6 +261,7 @@ private:
CreateRTDyldMMFtor CreateMemoryManager;
};
-} // end namespace llvm
+} // End namespace orc.
+} // End namespace llvm
#endif // LLVM_EXECUTIONENGINE_ORC_OBJECTLINKINGLAYER_H
diff --git a/llvm/include/llvm/ExecutionEngine/Orc/OrcTargetSupport.h b/llvm/include/llvm/ExecutionEngine/Orc/OrcTargetSupport.h
index 29e49c33333..c6f866a0469 100644
--- a/llvm/include/llvm/ExecutionEngine/Orc/OrcTargetSupport.h
+++ b/llvm/include/llvm/ExecutionEngine/Orc/OrcTargetSupport.h
@@ -17,6 +17,7 @@
#include "IndirectionUtils.h"
namespace llvm {
+namespace orc {
class OrcX86_64 {
public:
@@ -49,6 +50,7 @@ public:
};
-}
+} // End namespace orc.
+} // End namespace llvm.
#endif // LLVM_EXECUTIONENGINE_ORC_ORCTARGETSUPPORT_H
diff --git a/llvm/lib/ExecutionEngine/Orc/CloneSubModule.cpp b/llvm/lib/ExecutionEngine/Orc/CloneSubModule.cpp
index 64a33c80f20..a3196ad2f78 100644
--- a/llvm/lib/ExecutionEngine/Orc/CloneSubModule.cpp
+++ b/llvm/lib/ExecutionEngine/Orc/CloneSubModule.cpp
@@ -4,15 +4,16 @@
#include "llvm/IR/Module.h"
#include "llvm/Transforms/Utils/Cloning.h"
-using namespace llvm;
+namespace llvm {
+namespace orc {
-void llvm::copyGVInitializer(GlobalVariable &New, const GlobalVariable &Orig,
+void copyGVInitializer(GlobalVariable &New, const GlobalVariable &Orig,
ValueToValueMapTy &VMap) {
if (Orig.hasInitializer())
New.setInitializer(MapValue(Orig.getInitializer(), VMap));
}
-void llvm::copyFunctionBody(Function &New, const Function &Orig,
+void copyFunctionBody(Function &New, const Function &Orig,
ValueToValueMapTy &VMap) {
if (!Orig.isDeclaration()) {
Function::arg_iterator DestI = New.arg_begin();
@@ -27,9 +28,9 @@ void llvm::copyFunctionBody(Function &New, const Function &Orig,
}
}
-void llvm::CloneSubModule(llvm::Module &Dst, const Module &Src,
- HandleGlobalVariableFtor HandleGlobalVariable,
- HandleFunctionFtor HandleFunction, bool CloneInlineAsm) {
+void CloneSubModule(llvm::Module &Dst, const Module &Src,
+ HandleGlobalVariableFtor HandleGlobalVariable,
+ HandleFunctionFtor HandleFunction, bool CloneInlineAsm) {
ValueToValueMapTy VMap;
@@ -102,3 +103,6 @@ void llvm::CloneSubModule(llvm::Module &Dst, const Module &Src,
}
}
+
+} // End namespace orc.
+} // End namespace llvm.
diff --git a/llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp b/llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp
index 57616a54840..11deb4acbeb 100644
--- a/llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp
+++ b/llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp
@@ -8,6 +8,7 @@
using namespace llvm;
namespace llvm {
+namespace orc {
GlobalVariable* createImplPointer(Function &F, const Twine &Name,
Constant *Initializer) {
@@ -106,4 +107,5 @@ FullyPartitionedModule fullyPartition(Module &M) {
return MP;
}
-}
+} // End namespace orc.
+} // End namespace llvm.
diff --git a/llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.cpp b/llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.cpp
index 75d1b1f7431..48fd31e51a6 100644
--- a/llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.cpp
+++ b/llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.cpp
@@ -13,7 +13,7 @@
namespace {
static struct RegisterJIT {
- RegisterJIT() { llvm::OrcMCJITReplacement::Register(); }
+ RegisterJIT() { llvm::orc::OrcMCJITReplacement::Register(); }
} JITRegistrator;
}
@@ -21,6 +21,7 @@ static struct RegisterJIT {
extern "C" void LLVMLinkInOrcMCJITReplacement() {}
namespace llvm {
+namespace orc {
GenericValue
OrcMCJITReplacement::runFunction(Function *F,
@@ -122,4 +123,6 @@ OrcMCJITReplacement::runFunction(Function *F,
llvm_unreachable("Full-featured argument passing not supported yet!");
}
-}
+
+} // End namespace orc.
+} // End namespace llvm.
diff --git a/llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h b/llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h
index f09d13e87bd..1b7b16187c8 100644
--- a/llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h
+++ b/llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h
@@ -22,6 +22,7 @@
#include "llvm/Object/Archive.h"
namespace llvm {
+namespace orc {
class OrcMCJITReplacement : public ExecutionEngine {
@@ -104,11 +105,12 @@ class OrcMCJITReplacement : public ExecutionEngine {
};
private:
+
static ExecutionEngine *
createOrcMCJITReplacement(std::string *ErrorMsg,
std::unique_ptr<RTDyldMemoryManager> OrcJMM,
- std::unique_ptr<llvm::TargetMachine> TM) {
- return new llvm::OrcMCJITReplacement(std::move(OrcJMM), std::move(TM));
+ std::unique_ptr<TargetMachine> TM) {
+ return new OrcMCJITReplacement(std::move(OrcJMM), std::move(TM));
}
public:
@@ -323,6 +325,8 @@ private:
std::vector<object::OwningBinary<object::Archive>> Archives;
};
-}
+
+} // End namespace orc.
+} // End namespace llvm.
#endif // LLVM_LIB_EXECUTIONENGINE_ORC_MCJITREPLACEMENT_H
diff --git a/llvm/lib/ExecutionEngine/Orc/OrcTargetSupport.cpp b/llvm/lib/ExecutionEngine/Orc/OrcTargetSupport.cpp
index e71fc65ce24..b5dda8e4ee5 100644
--- a/llvm/lib/ExecutionEngine/Orc/OrcTargetSupport.cpp
+++ b/llvm/lib/ExecutionEngine/Orc/OrcTargetSupport.cpp
@@ -2,7 +2,7 @@
#include "llvm/ExecutionEngine/Orc/OrcTargetSupport.h"
#include <array>
-using namespace llvm;
+using namespace llvm::orc;
namespace {
@@ -47,6 +47,7 @@ uint64_t executeCompileCallback(JITCompileCallbackManagerBase<TargetT> *JCBM,
}
namespace llvm {
+namespace orc {
const char* OrcX86_64::ResolverBlockName = "orc_resolver_block";
@@ -123,4 +124,5 @@ OrcX86_64::insertCompileCallbackTrampolines(Module &M,
return GetLabelName;
}
-}
+} // End namespace orc.
+} // End namespace llvm.
OpenPOWER on IntegriCloud