You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The static CallGraph has its own VertexInfo and only knows one name for the function, currently the canonical function. That information is seeded with / derived from the static information in the bitcode.
Dynamically, we might be generating newly-optimized version of existing functions that have different names. In addition, if the optimization generates a new function (via say versioning), then the call-graph will be stale and unaware of how to guide the profiler when it is examining the branch target buffer.
Previously I think we avoided saving the FunctionInfo inside the Vertex because it makes destruction annoying, but if we fix #30 properly, we can make VertexInfo a wrapper around a pointer to FunctionInfo to handle the aliasing problem.
To handle the "new edge" thing for function versioning, we can expose the ability to add new vertices / edges. Then, before sending the code off, we need to analyze the optimized module for fresh call edges.
The text was updated successfully, but these errors were encountered:
The static CallGraph has its own VertexInfo and only knows one name for the function, currently the canonical function. That information is seeded with / derived from the static information in the bitcode.
Dynamically, we might be generating newly-optimized version of existing functions that have different names. In addition, if the optimization generates a new function (via say versioning), then the call-graph will be stale and unaware of how to guide the profiler when it is examining the branch target buffer.
Previously I think we avoided saving the FunctionInfo inside the Vertex because it makes destruction annoying, but if we fix #30 properly, we can make VertexInfo a wrapper around a pointer to FunctionInfo to handle the aliasing problem.
To handle the "new edge" thing for function versioning, we can expose the ability to add new vertices / edges. Then, before sending the code off, we need to analyze the optimized module for fresh call edges.
The text was updated successfully, but these errors were encountered: