-
Notifications
You must be signed in to change notification settings - Fork 22
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
Dependency loss caused by not instrumenting the STL standard library. #665
Comments
hello @J1372628520 this is, if i understand your correctly, expected behavior. Since only data accesses originating from parts of the code which are instrumented are known to DiscoPoP, data accesses which are caused by other code sections (for example, the STL in your example) can not be known and thus lead to the missed dependencies. Unfortunately, i do not see a reliable way around this. If you have any suggestions, please let me know! |
I have a suggestion. When the pass find a STL function caller, just insert __dp_read __dp_write for the caller's parameters and skip the STL function's callee. |
Hi @RainMolisa |
yeah!It's true. However ,the data dependencies in STL case is prior knowledge.
In discopop version 3.2.1, the 'resize' will expand and make may data dependencies which the user don't care. however, if you set DP_PROJECT_ROOT_DIR, you will lose 'vec' 's data dependencies. |
Additionally, we have identified an issue: when the code makes extensive use of the STL standard library, such as smart pointers, if we do not instrument the STL template class libraries, dependency loss occurs. We look forward to your response.
The text was updated successfully, but these errors were encountered: