[PATCH] D121413: [clang-repl] Add an accessor to our underlying execution engine
v.g.vassilev closed this revision. v.g.vassilev added a comment. Herald added a subscriber: StephenFan. Landed in https://github.com/llvm/llvm-project/commit/788e0f7f3e96a9d61c2412e452c4589e2693b79a CHANGES SINCE LAST ACTION https://reviews.llvm.org/D121413/new/ https://reviews.llvm.org/D121413 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D121413: [clang-repl] Add an accessor to our underlying execution engine
v.g.vassilev updated this revision to Diff 414494. v.g.vassilev added a comment. Order fwd decls alphabetically. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D121413/new/ https://reviews.llvm.org/D121413 Files: clang/include/clang/Interpreter/Interpreter.h clang/lib/Interpreter/IncrementalExecutor.h clang/lib/Interpreter/Interpreter.cpp Index: clang/lib/Interpreter/Interpreter.cpp === --- clang/lib/Interpreter/Interpreter.cpp +++ clang/lib/Interpreter/Interpreter.cpp @@ -196,6 +196,12 @@ return IncrParser->getCI(); } +const llvm::orc::LLJIT *Interpreter::getExecutionEngine() const { + if (IncrExecutor) +return IncrExecutor->getExecutionEngine(); + return nullptr; +} + llvm::Expected Interpreter::Parse(llvm::StringRef Code) { return IncrParser->Parse(Code); Index: clang/lib/Interpreter/IncrementalExecutor.h === --- clang/lib/Interpreter/IncrementalExecutor.h +++ clang/lib/Interpreter/IncrementalExecutor.h @@ -45,6 +45,7 @@ llvm::Error runCtors() const; llvm::Expected getSymbolAddress(llvm::StringRef Name, SymbolNameKind NameKind) const; + llvm::orc::LLJIT *getExecutionEngine() const { return Jit.get(); } }; } // end namespace clang Index: clang/include/clang/Interpreter/Interpreter.h === --- clang/include/clang/Interpreter/Interpreter.h +++ clang/include/clang/Interpreter/Interpreter.h @@ -26,6 +26,7 @@ namespace llvm { namespace orc { +class LLJIT; class ThreadSafeContext; } class Module; @@ -58,6 +59,7 @@ static llvm::Expected> create(std::unique_ptr CI); const CompilerInstance *getCompilerInstance() const; + const llvm::orc::LLJIT *getExecutionEngine() const; llvm::Expected Parse(llvm::StringRef Code); llvm::Error Execute(PartialTranslationUnit ); llvm::Error ParseAndExecute(llvm::StringRef Code) { Index: clang/lib/Interpreter/Interpreter.cpp === --- clang/lib/Interpreter/Interpreter.cpp +++ clang/lib/Interpreter/Interpreter.cpp @@ -196,6 +196,12 @@ return IncrParser->getCI(); } +const llvm::orc::LLJIT *Interpreter::getExecutionEngine() const { + if (IncrExecutor) +return IncrExecutor->getExecutionEngine(); + return nullptr; +} + llvm::Expected Interpreter::Parse(llvm::StringRef Code) { return IncrParser->Parse(Code); Index: clang/lib/Interpreter/IncrementalExecutor.h === --- clang/lib/Interpreter/IncrementalExecutor.h +++ clang/lib/Interpreter/IncrementalExecutor.h @@ -45,6 +45,7 @@ llvm::Error runCtors() const; llvm::Expected getSymbolAddress(llvm::StringRef Name, SymbolNameKind NameKind) const; + llvm::orc::LLJIT *getExecutionEngine() const { return Jit.get(); } }; } // end namespace clang Index: clang/include/clang/Interpreter/Interpreter.h === --- clang/include/clang/Interpreter/Interpreter.h +++ clang/include/clang/Interpreter/Interpreter.h @@ -26,6 +26,7 @@ namespace llvm { namespace orc { +class LLJIT; class ThreadSafeContext; } class Module; @@ -58,6 +59,7 @@ static llvm::Expected> create(std::unique_ptr CI); const CompilerInstance *getCompilerInstance() const; + const llvm::orc::LLJIT *getExecutionEngine() const; llvm::Expected Parse(llvm::StringRef Code); llvm::Error Execute(PartialTranslationUnit ); llvm::Error ParseAndExecute(llvm::StringRef Code) { ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D121413: [clang-repl] Add an accessor to our underlying execution engine
v.g.vassilev created this revision. v.g.vassilev added reviewers: rsmith, lhames, sgraenitz. Herald added a project: All. v.g.vassilev requested review of this revision. This patch will allow better incremental adoption of these changes in downstream cling and other users which want to experiment by customizing the execution engine. Repository: rC Clang https://reviews.llvm.org/D121413 Files: clang/include/clang/Interpreter/Interpreter.h clang/lib/Interpreter/IncrementalExecutor.h clang/lib/Interpreter/Interpreter.cpp Index: clang/lib/Interpreter/Interpreter.cpp === --- clang/lib/Interpreter/Interpreter.cpp +++ clang/lib/Interpreter/Interpreter.cpp @@ -196,6 +196,12 @@ return IncrParser->getCI(); } +const llvm::orc::LLJIT *Interpreter::getExecutionEngine() const { + if (IncrExecutor) +return IncrExecutor->getExecutionEngine(); + return nullptr; +} + llvm::Expected Interpreter::Parse(llvm::StringRef Code) { return IncrParser->Parse(Code); Index: clang/lib/Interpreter/IncrementalExecutor.h === --- clang/lib/Interpreter/IncrementalExecutor.h +++ clang/lib/Interpreter/IncrementalExecutor.h @@ -45,6 +45,7 @@ llvm::Error runCtors() const; llvm::Expected getSymbolAddress(llvm::StringRef Name, SymbolNameKind NameKind) const; + llvm::orc::LLJIT *getExecutionEngine() const { return Jit.get(); } }; } // end namespace clang Index: clang/include/clang/Interpreter/Interpreter.h === --- clang/include/clang/Interpreter/Interpreter.h +++ clang/include/clang/Interpreter/Interpreter.h @@ -27,6 +27,7 @@ namespace llvm { namespace orc { class ThreadSafeContext; +class LLJIT; } class Module; } // namespace llvm @@ -58,6 +59,7 @@ static llvm::Expected> create(std::unique_ptr CI); const CompilerInstance *getCompilerInstance() const; + const llvm::orc::LLJIT *getExecutionEngine() const; llvm::Expected Parse(llvm::StringRef Code); llvm::Error Execute(PartialTranslationUnit ); llvm::Error ParseAndExecute(llvm::StringRef Code) { Index: clang/lib/Interpreter/Interpreter.cpp === --- clang/lib/Interpreter/Interpreter.cpp +++ clang/lib/Interpreter/Interpreter.cpp @@ -196,6 +196,12 @@ return IncrParser->getCI(); } +const llvm::orc::LLJIT *Interpreter::getExecutionEngine() const { + if (IncrExecutor) +return IncrExecutor->getExecutionEngine(); + return nullptr; +} + llvm::Expected Interpreter::Parse(llvm::StringRef Code) { return IncrParser->Parse(Code); Index: clang/lib/Interpreter/IncrementalExecutor.h === --- clang/lib/Interpreter/IncrementalExecutor.h +++ clang/lib/Interpreter/IncrementalExecutor.h @@ -45,6 +45,7 @@ llvm::Error runCtors() const; llvm::Expected getSymbolAddress(llvm::StringRef Name, SymbolNameKind NameKind) const; + llvm::orc::LLJIT *getExecutionEngine() const { return Jit.get(); } }; } // end namespace clang Index: clang/include/clang/Interpreter/Interpreter.h === --- clang/include/clang/Interpreter/Interpreter.h +++ clang/include/clang/Interpreter/Interpreter.h @@ -27,6 +27,7 @@ namespace llvm { namespace orc { class ThreadSafeContext; +class LLJIT; } class Module; } // namespace llvm @@ -58,6 +59,7 @@ static llvm::Expected> create(std::unique_ptr CI); const CompilerInstance *getCompilerInstance() const; + const llvm::orc::LLJIT *getExecutionEngine() const; llvm::Expected Parse(llvm::StringRef Code); llvm::Error Execute(PartialTranslationUnit ); llvm::Error ParseAndExecute(llvm::StringRef Code) { ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits