This is the mail archive of the gcc@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] |
On Thu, 30 Oct 2003, Richard Guenther wrote: > Well, I wouldnt need to have it in official 3.4, I just use a locally > patched gcc for my work. Btw. I tried the above (but obviously missed some > parts, as it doesnt work), see attached patch. I somehow circumvented most > of the problems you mention above, but it seems the functions are not > considered for inlining though cgraph_inline_p is modified to honour > the case of a callee of a leafify function (you didnt mean > cgraph_inline_p by inline_call_p?). I missed to mark the cgraph edges created after inlining, with this chunk added I get leafify behavior as wanted. But I still see these artificial libstdc++ functions not inlined - they seem to be triggered by temporary objects created inside the loop and never optimized away (as 3.3 did). I'll try to dig further and come up with a testcase. (Final) patch is attached. It breaks debugging (-g3) with the following ICE: /home/rguenth/ix86/pooma/tat-serial-gcc34/pooma/linux/src/Evaluator/InlineEvaluator.h:102: internal compiler error: in gen_subprogram_die, at dwarf2out.c:10607 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. make: *** [tramp3d.o] Error 1 It seems that unnecessary (inlined) function bodies are emit and debugging is confused by this. But I really dont know how to prevent this. Linking is fine. Any idea? Richard. -- Richard Guenther <richard dot guenther at uni-tuebingen dot de> WWW: http://www.tat.physik.uni-tuebingen.de/~rguenth/
Attachment:
leafify-3.4-8
Description: leafify patch
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |