ipa-inline-transform.c
24.4 KB
-
Fix g++.dg/torture/pr59226.C · a414fd42
this patch fixes ICE in g++.dg/torture/pr59226.C which was triggered by new comdat_local sanity check. What happens here is that function gets inlined into its own thunk which makes it !comdat_local_p but the updating code does not notice since thunk calls comdat local alias of the function itself and we look at alias target rather than original callee. This also shows that we miss optimization here. Currently we will not inline thunk out of its comdat local group w/o inlining function it is associated with into it. We should teach inline_call to reoslve edges to aliases while inlining and relax calls_comdat_local flag. But this needs bit more work, so I fix the ICE first. * ipa-inline-transform.c (inline_call): Fix maintenatnce of comdat_local From-SVN: r279021
Jan Hubicka committed