-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
Add edges
vector to CodeInstance/CodeInfo to keep backedges as edges
#54894
base: master
Are you sure you want to change the base?
Commits on Oct 23, 2024
-
add edges metadata field to CodeInfo/CodeInstance, prepare for using
This records all invoke targets as edges as a functionality test, before finishing the implementation of recording the edges accurately during inference (via backedges + inference).
Configuration menu - View commit details
-
Copy full SHA for 904d459 - Browse repository at this point
Copy the full SHA 904d459View commit details -
inference: compute edges more precisely in post-inference
Start computing edges from stmt_info later (after CodeInstance is able to have been allocated for recursion) instead of immediately.
Configuration menu - View commit details
-
Copy full SHA for 2a7ba03 - Browse repository at this point
Copy the full SHA 2a7ba03View commit details -
Configuration menu - View commit details
-
Copy full SHA for bd8b204 - Browse repository at this point
Copy the full SHA bd8b204View commit details -
Configuration menu - View commit details
-
Copy full SHA for 01838f9 - Browse repository at this point
Copy the full SHA 01838f9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5f7fa3f - Browse repository at this point
Copy the full SHA 5f7fa3fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2b74dd4 - Browse repository at this point
Copy the full SHA 2b74dd4View commit details -
propagate results of
_hasmethod
/applicable
usingMethodResultPure
To avoid calling `add_edges!` directly. In fact, it might be better to define something like `VirtualizedCallInfo` rather than using `MethodResultPure`.
Configuration menu - View commit details
-
Copy full SHA for aa93701 - Browse repository at this point
Copy the full SHA aa93701View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4d1a1f1 - Browse repository at this point
Copy the full SHA 4d1a1f1View commit details -
make
CallInfo
propagate theedges
list ofCodeInstance
sRemaining TODOs: - Finalize the format for `sv.edges`. There might be cases where no `edge::CodeInstance` exists as a result of `abstract_call_method`, and in such cases, we might still need to use `MethodInstance` in the `edges` list. - Ensure that when the local caching mode is specified (i.e. for const-prop'ed calls and call-site-inlined calls), the const-propped edge should be propagated instead of the regular edge. - Make use of the `CodeInstance` held by `CallInfo` during inlining for slightly better performance by avoiding the global cache lookup.
Configuration menu - View commit details
-
Copy full SHA for a6e7b20 - Browse repository at this point
Copy the full SHA a6e7b20View commit details