This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug middle-end/48585] [4.7 Regression] 483.xalancbmk in SPEC CPU 2006 failed to build


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48585

--- Comment #10 from Jan Hubicka <hubicka at gcc dot gnu.org> 2011-04-21 11:07:03 UTC ---
Hmm, I am not sure I follow here.  So the bug seems to be that
1) ipa-cp produces a clone
2) somehow after WPA we inline the original function, not the clone
right?

How this can lead to more direct calls?  Is the call represented as call to
clone in the callgraph?  If not, I guess ipa-cp produced clone but kept
original copy around and we are inlining real cal to original copy. This can
happen.

If callgraph has call to clone properly represented, but somehow we end up
inlining original, I would expect the original to have monotonously fewer
direct calls, so we should have the call destination we discovered during
inlining around...

Only case i can think this might legally happen is inlining producing direct
call via devirtualization from folding.  In this case cgraph don't see the
posibility and we need to add the cgraph node (we already checked that the
destination is not static function in other unit)

Honza


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]