[PATCH, pretty-ipa] Nuke call graph edges when inlining in all cases
Sat Jan 3 13:41:00 GMT 2009
> optimize_inline_calls() always discards all edges outgoing from the
> function into which it has previously inlined other stuff. However,
> this function is called from ipa-inline.c only when there actually is
> some inlining (or early inlining) to do. Consequently, the outgoing
> edges are either stripped off or left hanging there depending on
> inlining decisions.
> For the sake of consistency, the following patch moves the edge
> cleansing to the two callers of this function and performs it
> Bootstrapped and tested on x86_64-suse-linux, OK for pretty-ipa?
It woudl probably make most sense to make this pass manager property
destroyed by local passes. Early inliner is not only reason why edges
are wrong, i.e. with -fno-early-inlining I think your patch will make
worng edges to appear to later local passes....
It is not very pretty to modify entires of every local pass we have to
destroy cgraph edges, but I wonder what alternatives we have?
More information about the Gcc-patches