<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/115437>115437</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[mlir][CallGraph] Missed visibility for CallGraphNode to construct AbstractEdge
</td>
</tr>
<tr>
<th>Labels</th>
<td>
mlir
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
Luhaocong
</td>
</tr>
</table>
<pre>
Hi River @River707 @tensorflower-gardener ,In `CallGraph Analysis`, I find a `AbstractEdge` will always be added to target `CallGraphNode` from `externalCallerNode`, no matter the target is a public or private `FunctionOpInterface` (which is subclass of `CallOpInterface`) .
https://github.com/llvm/llvm-project/blob/c17a914675f8fcadbf0ef440aae7e0ab6c49ec0c/mlir/lib/Analysis/CallGraph.cpp#L125-L131
Is there any plan to add visibility for `CallOpInterface` to get better analysis result ?Or could you please give me some advice, I can try to fix this problem?
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUU8tu5TYM_Rp5Q-RCluXXwos8xm2AtAP0DyiJtlXIliHJN3P_vpDz6ATtZja2AB4ekoeHGKOdN6KB1Q-sfirwSIsPw8uxoNd-mwvlzW343QL8Za8UgEl-Plre5neiLfowOf9K4W7GYGjLoG8je3hk3ePzBqzhj-jcbwH3Be43dLdoI2s4E4_wDJPdDGAG3auYAur0zczEGg6v1jlA94q3CIoAjSEDyUPCMFP6QvunN2fKFPyaA_QjUdjQZQCF92iut3lYMSUKkBb6YLIREPZDOavBB9iDvWKizDMem07Wb9_35y1RmFCfZZjoXherl5wZD6Udxgh--mjpK5qJHi7A-BPj92_fJaU9suqeiZGJcbZpOdRF-5WJ0bnrx-9uD_5v0omJUTmvmBh12WJfyqatp27SaNTEaZKSI1JLHFWjZU-aaybG1dmQeWzO-9RcjJ-KXfS-M1G9lKK-eymr8uf-nmNWJxDgdoPd4ZZVR2PgaqNV1tl0g8mH_x83Y7Ooik6Z8b02BIqHSx_G6MfvAbQ_nIGbP2B3hJFgtleClSD6Ne_7ajW9mUTnHsItc0_2B6TFRtiDV45WVo2FGSrTVz0WNJRtVfJacC6LZeCSdzXKRkwtJzWpTgrRlVz0bTNNXdcVdhBcyLLkHW9lI-WFC2natueqKlukyjDJaUXrLnkjFx_mwsZ40FCWtazawqEiF8_LEeJNc5FvKAznBtUxRya5szHFfxmSTe68tjOhfmL1w-daWP0Ef9gY6T9if_E6ZCW032IKh07w8-UUR3DDLzvsnCob5H2w6yD-CQAA__8kmlNV">