forked from OSchip/llvm-project
[ORC] Rename MultiThreadedSimpleCompiler to ConcurrentIRCompiler.
The new name is a better fit: This class does not actually spawn any new threads for compilation, it is just safe to call from multiple threads concurrently. The "Simple" part of the name did not convey much either, so it was dropped. llvm-svn: 344567
This commit is contained in:
parent
8f9a2446e0
commit
9f342d9038
|
@ -38,7 +38,7 @@ namespace orc {
|
|||
|
||||
/// Simple compile functor: Takes a single IR module and returns an ObjectFile.
|
||||
/// This compiler supports a single compilation thread and LLVMContext only.
|
||||
/// For multithreaded compilation, use MultiThreadedSimpleCompiler below.
|
||||
/// For multithreaded compilation, use ConcurrentIRCompiler below.
|
||||
class SimpleCompiler {
|
||||
public:
|
||||
using CompileResult = std::unique_ptr<MemoryBuffer>;
|
||||
|
@ -105,10 +105,10 @@ private:
|
|||
///
|
||||
/// This class creates a new TargetMachine and SimpleCompiler instance for each
|
||||
/// compile.
|
||||
class MultiThreadedSimpleCompiler {
|
||||
class ConcurrentIRCompiler {
|
||||
public:
|
||||
MultiThreadedSimpleCompiler(JITTargetMachineBuilder JTMB,
|
||||
ObjectCache *ObjCache = nullptr)
|
||||
ConcurrentIRCompiler(JITTargetMachineBuilder JTMB,
|
||||
ObjectCache *ObjCache = nullptr)
|
||||
: JTMB(std::move(JTMB)), ObjCache(ObjCache) {}
|
||||
|
||||
void setObjectCache(ObjectCache *ObjCache) { this->ObjCache = ObjCache; }
|
||||
|
|
|
@ -96,7 +96,7 @@ LLJIT::LLJIT(std::unique_ptr<ExecutionSession> ES, JITTargetMachineBuilder JTMB,
|
|||
ObjLinkingLayer(*this->ES,
|
||||
[this](VModuleKey K) { return getMemoryManager(K); }),
|
||||
CompileLayer(*this->ES, ObjLinkingLayer,
|
||||
MultiThreadedSimpleCompiler(std::move(JTMB))),
|
||||
ConcurrentIRCompiler(std::move(JTMB))),
|
||||
CtorRunner(Main), DtorRunner(Main) {
|
||||
assert(NumCompileThreads != 0 &&
|
||||
"Multithreaded LLJIT instance can not be created with 0 threads");
|
||||
|
|
Loading…
Reference in New Issue