-
Notifications
You must be signed in to change notification settings - Fork 140
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
Opaque Pointers #533
Opaque Pointers #533
Conversation
…ementType() wherever possible and deprecate everything else; TODO: How to deal with the legacy stuff that got deprecated?
…te from it as we need to call it from DTAResolver where we explicitly check for the opaque-pointer condition. Added an entry to the BreakingChanges about the removed IfdsFieldSensTaintAnalysis
void DTAResolver::otherInst(const llvm::Instruction *Inst) { | ||
if (Inst->getType()->isOpaquePointerTy()) { | ||
/// XXX: We may want to get these information on a different way, e.g. by | ||
/// analyzing the debug info | ||
return; | ||
} |
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.
This remains a TODO, doesn't it?
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.
Yes, we may want to add a ticket in the issue board for this
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.
Agreed. Maybe someone who uses DTA might contribute to fix this. Add to BreakingChanges.md?
lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/ConstantHelper.cpp
Show resolved
Hide resolved
lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValue.cpp
Show resolved
Hide resolved
lib/PhasarLLVM/DataFlow/IfdsIde/Problems/IDETypeStateAnalysis.cpp
Outdated
Show resolved
Hide resolved
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.
lgtm, what a huge chunk of work 👍
merging will take place at the right moment®
Currently, PhASAR relies on being able to query pointer-element-types. When moving to LLVM 15, this won't be possible anymore by default (there might be some configuration options to re-enable them for some time, but we should get used to not using them anymore).
This PR removes the dependencies to non-opaque pointers wherever possible without changing the semantics.
For some cases, this is not (easily) possible, so they got marked as
deprecated
.