[Bug debug/42782] [4.5 Regression] VTA missed location: parameter via stack
--- Comment #6 from jakub at gcc dot gnu dot org 2010-01-22 17:02 --- Fixed. -- jakub at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42782
[Bug debug/42782] [4.5 Regression] VTA missed location: parameter via stack
--- Comment #5 from jakub at gcc dot gnu dot org 2010-01-20 22:57 --- Subject: Bug 42782 Author: jakub Date: Wed Jan 20 22:57:20 2010 New Revision: 156092 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=156092 Log: PR debug/42782 * var-tracking.c: Include tree-flow.h. (mem_dies_at_call): New. (dataflow_set_preserve_mem_locs): Use it. (dataflow_set_remove_mem_locs): Likewise. (dump_var): Renamed from dump_variable. Adjust all callers. (dump_var_slot): Renamed from dump_variable_slot. Likewise. * Makefile.in (var-tracking.o): Adjust deps. * gcc.dg/guality/pr42782.c: New. Added: trunk/gcc/testsuite/gcc.dg/guality/pr42782.c Modified: trunk/gcc/ChangeLog trunk/gcc/Makefile.in trunk/gcc/testsuite/ChangeLog trunk/gcc/var-tracking.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42782
[Bug debug/42782] [4.5 Regression] VTA missed location: parameter via stack
--- Comment #4 from aoliva at gcc dot gnu dot org 2010-01-19 08:44 --- Mine (testing a patch) -- aoliva at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |aoliva at gcc dot gnu dot |dot org |org Status|NEW |ASSIGNED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42782
[Bug debug/42782] [4.5 Regression] VTA missed location: parameter via stack
--- Comment #2 from jakub at gcc dot gnu dot org 2010-01-18 10:13 --- Reproduced. Works with -fno-var-tracking-assignments, and looks to be a var-tracking.c problem - the testcase doesn't contain (and doesn't need to contain) any DEBUG_INSNs. -- jakub at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Keywords||wrong-debug Priority|P3 |P2 Last reconfirmed|-00-00 00:00:00 |2010-01-18 10:13:58 date|| Summary|VTA missed location:|[4.5 Regression] VTA missed |parameter via stack |location: parameter via ||stack Target Milestone|--- |4.5.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42782
[Bug debug/42782] [4.5 Regression] VTA missed location: parameter via stack
--- Comment #3 from jakub at gcc dot gnu dot org 2010-01-18 10:57 --- The problem is that dataflow_set_preserve_mem_locs and/or dataflow_set_remove_mem_locs removes all MEMs (with the exception of those referring to decl with 0 MEM_OFFSET in the first function) upon encountering a CALL. For parameters (ARG_POINTER_REGNUM based, or even HARD_FRAME_POINTER_REGNUM based ones I believe) we don't need to remove them, as long as the decl isn't addressable and thus the call shouldn't have modified them. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42782