Hi,
internal functions and their calls are not represented in the call
graph, so the if statement removed by this patch will never go through.
While I am making an effort to introduce some internal calls into the call
graph, it is for optimization purposes, so the check would be in the way
even in that case.
Bootstrapped and regtested on x86_64-linux by replacing the return with
__builtin_abort without any failures.
I did encounter one segfault when compiling gfortran.dg/pr46844.f,
however it was in the frontend and it was happening even with a clean
tree, so it was likely some misconfiguration issue. I did more tests
on different machines and they were all okay, just mentioning this for
the sake of transparency.
OK for master?
Best regards,
Josef
gcc/ChangeLog:
* ipa-prop.cc (ipa_compute_jump_functions_for_edge): Remove
dead if statement checking for internal calls.
Signed-off-by: Josef Melcr <[email protected]>
---
gcc/ipa-prop.cc | 2 --
1 file changed, 2 deletions(-)
diff --git a/gcc/ipa-prop.cc b/gcc/ipa-prop.cc
index 668932ec329..3f9f45b02c8 100644
--- a/gcc/ipa-prop.cc
+++ b/gcc/ipa-prop.cc
@@ -2501,8 +2501,6 @@ ipa_compute_jump_functions_for_edge (struct
ipa_func_body_info *fbi,
if (flag_devirtualize)
vec_safe_grow_cleared (args->polymorphic_call_contexts, arg_num, true);
- if (gimple_call_internal_p (call))
- return;
if (ipa_func_spec_opts_forbid_analysis_p (cs->caller))
return;
--
2.55.0