-
Notifications
You must be signed in to change notification settings - Fork 35
Out-Of-Process Interpreter for CppInterOp #717
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
clang-tidy made some suggestions
There were too many comments to post at once. Showing the first 10 out of 16. Check the log or trigger a new build to see more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
clang-tidy made some suggestions
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
clang-tidy made some suggestions
c56d565 to
7217df9
Compare
|
Before pushing commits to this PR please either ping me, or delete caches as they are made. This PR has caused a large number of llvm cached builds to be deleted on main, which in turn has required multiple PRs workflow runs to be stopped while the cache is rebuilt. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
clang-tidy made some suggestions
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #717 +/- ##
==========================================
- Coverage 79.83% 79.56% -0.28%
==========================================
Files 9 9
Lines 3963 4057 +94
==========================================
+ Hits 3164 3228 +64
- Misses 799 829 +30
🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please look at the comments.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
clang-tidy made some suggestions
The tests are not covering over 1/4 of this patch. @kr-2003 can you improve the coverage? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Few comments. I guess everything else is fine. Please also look at the github-actions's comments.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
clang-tidy made some suggestions
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
clang-tidy made some suggestions
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
clang-tidy made some suggestions
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
clang-tidy made some suggestions
|
|
||
| if (NOT EMSCRIPTEN) | ||
| set(EXTRA_TEST_SOURCE_FILES "") | ||
| set(EXTRA_TEST_SOURCE_FILES Utils.cpp) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why we add this line on top and the same here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The reason it was reset to nothing previously was to stop the cuda tests being run twice. Given Utils.cpp is needed unconditionally then its not needed in EXTRA_TEST_SOURCE_FILES . Utils.cpp should just be included in both lists of test files, and anything which changed EXTRA_TEST_SOURCE_FILES should be reverted.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
clang-tidy made some suggestions
| bool use_oop_jit; | ||
|
|
||
| TestConfig(bool oop_jit, const std::string& n) | ||
| : name(std::move(n)), use_oop_jit(oop_jit) {} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
warning: std::move of the const variable 'n' has no effect; remove std::move() or make the variable non-const [performance-move-const-arg]
| : name(std::move(n)), use_oop_jit(oop_jit) {} | |
| : name(n), use_oop_jit(oop_jit) {} |
This PR enables Out-Of-Process Interpreter for CppInterOp.
Under the hood, it uses LLVM's
llvm-jitlink-executorandlib ORC RTto delegate the JIT execution to different process. The user just needs to pass--use-oop-jitflag as ClangArgs while constructing the interpreter to use this feature.