[Orc] Move Orc code into a namespace (llvm::orc), update Kaleidoscope code.

NFC.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@230143 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Lang Hames
2015-02-21 20:44:36 +00:00
parent 59d81dbafb
commit 8d353ae157
19 changed files with 85 additions and 24 deletions
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
+3 -1
View File
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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