[Bug debug/47106] -fcompare-debug failure (length) with -fpartial-inlining -flto -fconserve-stack
aoliva at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Dec 30 20:15:00 GMT 2010
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47106
--- Comment #2 from Alexandre Oliva <aoliva at gcc dot gnu.org> 2010-12-30 20:15:22 UTC ---
Created attachment 22870
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22870
Patch that fixes the bug, regstrapping
When estimating the stack size of a function, we shouldn't set TREE_USED in the
loop over local decls, for this makes us count every block var that is local
when accounting block vars: since we preserve more block vars for debugging
purposes, we end up counting them all in the latter pass, even if they weren't
marked as TREE_USED before the loop over locals.
Simply removing the set would be enough to fix the bug, but I figured we'd get
more accurate results if we refrained from counting variables twice, so I added
a bitmap. This fixes the bug, testing a bootstrap with these flags now.
More information about the Gcc-bugs
mailing list