-
Notifications
You must be signed in to change notification settings - Fork 440
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
Assertion triggered after modifying code #12
Comments
Hi Kim, Thanks for your question. SVF does not support incremental recalculation at this stage. PAG will keep the same even if the analysis analysis is released or deleted. I would strongly suggest you separate the instrumentation as an additional pass. You may wish to first generate the instrumented bc code and analyze the new bc again by SVF. For example: You can also use llvm metadata/annotation (please refer to "llvm/IR/Metadata.h") to mark the newly instrumented instructions for your alias queries in your later passes. Separating instrumentations from analyses will also make you code base clean. Good luck! |
Hi Yulei, I see - ok, thanks a lot for the quick reply and the suggestion! |
remove llvm dependencies for dot dump
Hello!
I'm currently using the SVF analysis for a project and I run into an issue using the analysis
for newly inserted instructions. In short, I get the following error whenever I try to check
whether the newly inserted instruction (AllocaInst) aliases with another value :
SVF/include/MemoryModel/MemModel.h:554:
SymID SymbolTableInfo::getValSym(const llvm::Value*): Assertion `iter!=valSymMap.end() &&"value sym not found"' failed.
Below is a test pass that should throw this error for any loop containing a load.
Weirdly, this only happens if I compile Svf & the pass in Debug mode, but not if I build it in
MinSizeRel mode.
In general I believe that I need to update the pointer analysis after having modified the code, however, I'm not sure how to properly update the analysis. The test pass below contains some of my failed trials of naively re-running it (see commented lines).
What I am doing wrong? How do I properly update/re-run the analysis? And, do you know why this is
only happening if compiled in Debug mode?
The text was updated successfully, but these errors were encountered: