[Bug debug/45673] -fcompare-debug failure with minor difference in dumps
--- Comment #3 from aoliva at gcc dot gnu dot org 2010-09-21 08:02 --- Mine -- 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|UNCONFIRMED |ASSIGNED Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2010-09-21 08:02:06 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45673
[Bug debug/45673] -fcompare-debug failure with minor difference in dumps
--- Comment #4 from aoliva at gcc dot gnu dot org 2010-09-21 08:53 --- Created an attachment (id=21854) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21854action=view) Patch that fixes the problem Here's the patch I'm testing. Turns out it's not enough to take only the second pointer type into account, the first also matters because we'll get different dump output depending on whether they're equal or not. In this case, we failed to distinguish (void*)0B and (struct type*)0B in the first operands. Richi, care to pre-approve it in case it passes regstrap? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45673
[Bug tree-optimization/45656] [4.5 Regression]: gfortran.dg/forall_4.f90 -O3, wrong code with -g
--- Comment #4 from aoliva at gcc dot gnu dot org 2010-09-21 09:19 --- Mine. It's something wrong in combine, causing the cmp insn to be deleted as trivially dead. -- 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=45656
[Bug tree-optimization/45656] [4.5 Regression]: gfortran.dg/forall_4.f90 -O3, wrong code with -g
--- Comment #5 from aoliva at gcc dot gnu dot org 2010-09-21 10:04 --- Created an attachment (id=21855) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21855action=view) Patch that fixes the problem cse was losing track of cc0 set/use because of intervening debug insns. Anyone got a CC0 host to bootstrap-test this on? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45656
[Bug debug/45408] -fcompare-debug failure with -O2 -ftree-vectorize -fno-var-tracking-assignments
--- Comment #6 from aoliva at gcc dot gnu dot org 2010-09-13 03:42 --- Subject: Bug 45408 Author: aoliva Date: Mon Sep 13 03:42:07 2010 New Revision: 164242 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=164242 Log: PR debug/45604 PR debug/45419 PR debug/45408 * tree-pretty-print.c (dump_generic_node): Disregard top-level types of MEM_REF pointer types to the same type. Modified: trunk/gcc/ChangeLog trunk/gcc/tree-pretty-print.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45408
[Bug testsuite/45604] [4.6 regression] New test failures
--- Comment #2 from aoliva at gcc dot gnu dot org 2010-09-13 03:42 --- Subject: Bug 45604 Author: aoliva Date: Mon Sep 13 03:42:07 2010 New Revision: 164242 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=164242 Log: PR debug/45604 PR debug/45419 PR debug/45408 * tree-pretty-print.c (dump_generic_node): Disregard top-level types of MEM_REF pointer types to the same type. Modified: trunk/gcc/ChangeLog trunk/gcc/tree-pretty-print.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45604
[Bug debug/45419] -fcompare-debug failure at -O3
--- Comment #19 from aoliva at gcc dot gnu dot org 2010-09-13 03:42 --- Subject: Bug 45419 Author: aoliva Date: Mon Sep 13 03:42:07 2010 New Revision: 164242 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=164242 Log: PR debug/45604 PR debug/45419 PR debug/45408 * tree-pretty-print.c (dump_generic_node): Disregard top-level types of MEM_REF pointer types to the same type. Modified: trunk/gcc/ChangeLog trunk/gcc/tree-pretty-print.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45419
[Bug testsuite/45604] [4.6 regression] New test failures
--- Comment #3 from aoliva at gcc dot gnu dot org 2010-09-13 04:58 --- Fixed -- aoliva at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45604
[Bug rtl-optimization/43494] [4.4/4.5/4.6 Regression] Overlooked dependency causes wrong scheduling, wrong code
--- Comment #27 from aoliva at gcc dot gnu dot org 2010-09-10 23:16 --- Shouldn't we do something else when hashing PRE_MODIFY? I don't know, what else do you have in mind? I'm posting an updated patch that implements your other suggestions momentarily. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43494
[Bug testsuite/45604] [4.6 regression] New test failures
--- Comment #1 from aoliva at gcc dot gnu dot org 2010-09-09 18:07 --- Mine, thanks, testing a patch. Sorry about the breakage, I seem to have compared test results with a baseline that already had the errors :-( -- 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|UNCONFIRMED |ASSIGNED Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2010-09-09 18:07:11 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45604
[Bug debug/45408] -fcompare-debug failure with -O2 -ftree-vectorize -fno-var-tracking-assignments
--- Comment #5 from aoliva at gcc dot gnu dot org 2010-09-08 21:54 --- Subject: Bug 45408 Author: aoliva Date: Wed Sep 8 21:53:48 2010 New Revision: 164031 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=164031 Log: PR debug/45419 PR debug/45408 * tree-pretty-print.c (dump_generic_node): Disregard top-level qualifiers in otherwise equal MEM_REF pointer types. * fold-const.c (operand_equal_p): Compare pointer type of MEM_REFs. * tree.c (iterative_hash_expr): Hash the pointer type of MEM_REFs. Modified: trunk/gcc/ChangeLog trunk/gcc/fold-const.c trunk/gcc/tree-pretty-print.c trunk/gcc/tree.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45408
[Bug debug/45419] -fcompare-debug failure at -O3
--- Comment #17 from aoliva at gcc dot gnu dot org 2010-09-08 21:54 --- Subject: Bug 45419 Author: aoliva Date: Wed Sep 8 21:53:48 2010 New Revision: 164031 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=164031 Log: PR debug/45419 PR debug/45408 * tree-pretty-print.c (dump_generic_node): Disregard top-level qualifiers in otherwise equal MEM_REF pointer types. * fold-const.c (operand_equal_p): Compare pointer type of MEM_REFs. * tree.c (iterative_hash_expr): Hash the pointer type of MEM_REFs. Modified: trunk/gcc/ChangeLog trunk/gcc/fold-const.c trunk/gcc/tree-pretty-print.c trunk/gcc/tree.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45419
[Bug debug/45531] -fcompare-debug failure with -fvar-tracking-uninit, codegen differences
--- Comment #3 from aoliva at gcc dot gnu dot org 2010-09-08 21:54 --- Subject: Bug 45531 Author: aoliva Date: Wed Sep 8 21:54:02 2010 New Revision: 164032 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=164032 Log: PR debug/45531 * cfglayout.c (fixup_reorder_chain): Skip debug insns. Modified: trunk/gcc/ChangeLog trunk/gcc/cfglayout.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45531
[Bug debug/45419] -fcompare-debug failure at -O3
--- Comment #18 from aoliva at gcc dot gnu dot org 2010-09-08 21:56 --- Fixed -- aoliva at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45419
[Bug debug/45531] -fcompare-debug failure with -fvar-tracking-uninit, codegen differences
--- Comment #4 from aoliva at gcc dot gnu dot org 2010-09-08 22:00 --- Fixed -- aoliva at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45531
[Bug debug/45531] -fcompare-debug failure with -fvar-tracking-uninit, codegen differences
--- Comment #2 from aoliva at gcc dot gnu dot org 2010-09-05 13:02 --- Testing a patch to ignore debug insns in fixup_reorder_chain. -- 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|UNCONFIRMED |ASSIGNED Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2010-09-05 13:02:26 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45531
[Bug rtl-optimization/45454] [4.6 Regression] ICE: in verify_target_availability, at sel-sched.c:1614
--- Comment #4 from aoliva at gcc dot gnu dot org 2010-09-05 20:44 --- When I first tried to make sel-sched work with VTA, we didn't create dependencies of non-debug insns on debug insns. Now we do. Other schedulers know that these deps don't prevent insn movement, just signal the need for resetting debug insns. sel-sched doesn't know how to deal with that yet, that's why it fails more noisily now. Looking into it, but no promises. -- 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|UNCONFIRMED |ASSIGNED Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2010-09-05 20:44:31 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45454
[Bug debug/45419] -fcompare-debug failure at -O3
--- Comment #15 from aoliva at gcc dot gnu dot org 2010-09-04 15:26 --- Got 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=45419
[Bug debug/45408] -fcompare-debug failure with -O2 -ftree-vectorize -fno-var-tracking-assignments
--- Comment #4 from aoliva at gcc dot gnu dot org 2010-09-04 15:27 --- *** This bug has been marked as a duplicate of 45419 *** -- aoliva at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||DUPLICATE http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45408
[Bug debug/45419] -fcompare-debug failure at -O3
--- Comment #16 from aoliva at gcc dot gnu dot org 2010-09-04 15:27 --- *** Bug 45408 has been marked as a duplicate of this bug. *** -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45419
[Bug debug/45130] -fcompare-debug failure with -Os -fsched-spec-load -fschedule-insns
--- Comment #3 from aoliva at gcc dot gnu dot org 2010-09-04 15:28 --- *** This bug has been marked as a duplicate of 45136 *** -- aoliva at gcc dot gnu dot org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||DUPLICATE http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45130
[Bug debug/45136] -fcompare-debug failure with -Os -fschedule-insns
--- Comment #8 from aoliva at gcc dot gnu dot org 2010-09-04 15:28 --- *** Bug 45130 has been marked as a duplicate of this bug. *** -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45136
[Bug debug/45419] -fcompare-debug failure at -O3
--- Comment #13 from aoliva at gcc dot gnu dot org 2010-09-03 08:59 --- The different types arise when, say, we copyprop a const-unqualified variable into a MEM_REF that used to reference a const-qualified temp. The top-level const qualifications are irrelevant at that point, for we're dealing with rvalues of pointer types. I'm experimenting with simply dropping the TYPE_QUALS test from tree-pretty-print. This fixed the pt.c -fcompare-debug problem. Richard, is there any reason for top-level qualifiers to be relevant in MEM_REF operands? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45419
[Bug debug/45419] -fcompare-debug failure at -O3
--- Comment #12 from aoliva at gcc dot gnu dot org 2010-09-02 12:21 --- 'been looking into this as well. cp/pt.c -fcompare-debug fails for me on x86_64-linux-gnu. I'm not sure yet why we get different different types for the integer_csts in operand 0 of MEM_REFs, but it occurred to me that we could add a flag to operand_equal_p to check that all types are the same. Ideally, we'd have corresponding flags for hashing as well, but not necessarly for correctness. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45419
[Bug debug/45408] -fcompare-debug failure with -O2 -ftree-vectorize -fno-var-tracking-assignments
--- Comment #2 from aoliva at gcc dot gnu dot org 2010-08-30 08:53 --- I can't duplicate this on r163635 trunk, on x86_64-linux-gnu. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45408
[Bug rtl-optimization/45136] -fcompare-debug failure with -Os -fschedule-insns
--- Comment #6 from aoliva at gcc dot gnu dot org 2010-08-30 19:13 --- The debug insns aren't at the end of the block in the beginning of sched, so we don't disregard them at first, but they become end-of-block insns after the trailing non-debug insns are pulled into other earlier blocks in the same region. I'm testing a patch that revamps the way we deal with boundary notes and debug insns. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45136
[Bug rtl-optimization/45136] -fcompare-debug failure with -Os -fschedule-insns
--- Comment #7 from aoliva at gcc dot gnu dot org 2010-08-30 19:14 --- The debug insns aren't at the end of the block in the beginning of sched, so we don't disregard them at first, but they become end-of-block insns after the trailing non-debug insns are pulled into other earlier blocks in the same region. I'm testing a patch that revamps the way we deal with boundary notes and debug insns. -- 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=45136
[Bug debug/44610] VTA produces wrong variable location information
--- Comment #6 from aoliva at gcc dot gnu dot org 2010-06-25 21:11 --- Subject: Bug 44610 Author: aoliva Date: Fri Jun 25 21:11:32 2010 New Revision: 161413 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161413 Log: PR debug/44610 * simplify-rtx.c (delegitimize_mem_from_attrs): Don't use a base address if the offset is unknown. Modified: trunk/gcc/ChangeLog trunk/gcc/simplify-rtx.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44610
[Bug debug/44610] VTA produces wrong variable location information
--- Comment #7 from aoliva at gcc dot gnu dot org 2010-06-25 21:12 --- Subject: Bug 44610 Author: aoliva Date: Fri Jun 25 21:11:56 2010 New Revision: 161414 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161414 Log: PR debug/44610 * simplify-rtx.c (delegitimize_mem_from_attrs): Don't use a base address if the offset is unknown. Modified: branches/gcc-4_5-branch/gcc/ChangeLog branches/gcc-4_5-branch/gcc/simplify-rtx.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44610
[Bug debug/44610] VTA produces wrong variable location information
--- Comment #8 from aoliva at gcc dot gnu dot org 2010-06-25 21:13 --- Fixed -- aoliva at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44610
[Bug middle-end/12392] very long optimized compile
--- Comment #32 from aoliva at gcc dot gnu dot org 2010-06-24 17:58 --- I don't see how a bug reported in 2003 against 3.2 and marked as failing up to 4.0 could possibly be related in any way with VTA. Clearly that bug was fixed. Sure, VTA does perform poorly with these testcases, but this is not the bug that was reported, and we already have other bugs about VTA performance. -- aoliva at gcc dot gnu dot org changed: What|Removed |Added Severity|normal |blocker http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12392
[Bug ada/22220] Unable to build gnattools native i586
--- Comment #5 from aoliva at gcc dot gnu dot org 2010-06-23 07:00 --- I've just run into this very problem building i-c.adb on ia64-linux-gnu, using gcc-3.4.6 as the bootstrap compiler to build today's trunk daily bump, r161240. I think I hadn't had Ada enabled on this platform before, so it's the first I saw of it. I had no trouble bootstrapping 4.0.4 with Ada enabled on the same machine, with the same initial compiler, and then I could use the newly-built 4.0.4 to build the trunk as intended. However, gcc/doc/install.texi still says Ada is supposed to build with gcc 3.4, so at the very last we have a documentation problem. The compiler output for i-c.adb looks about the same as the one in the initial description, except that the warnings about the unrecognized Ada_05 pragmas weren't there. -- aoliva at gcc dot gnu dot org changed: What|Removed |Added CC||aoliva at gcc dot gnu dot ||org Status|RESOLVED|REOPENED Resolution|INVALID | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=0
[Bug debug/42648] [4.5/4.6 Regression] gcc.dg/guality/pr41353-1.c FAILs at -On, n 0
--- Comment #10 from aoliva at gcc dot gnu dot org 2010-06-24 03:34 --- I can only duplicate this problem, even on 4.5 branch, using an old version of GDB, on ia64-linux-gnu. With GDB 7.1, it gets the variables as expected. -- aoliva at gcc dot gnu dot org changed: What|Removed |Added Status|REOPENED|RESOLVED Resolution||WORKSFORME http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42648
[Bug middle-end/12392] very long optimized compile
--- Comment #30 from aoliva at gcc dot gnu dot org 2010-06-24 04:01 --- Patch installed on 2009-10-01, assuming fixed. -- aoliva at gcc dot gnu dot org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12392
[Bug debug/44610] VTA produces wrong variable location information
--- Comment #4 from aoliva at gcc dot gnu dot org 2010-06-23 04:30 --- Mine -- 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|UNCONFIRMED |ASSIGNED Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2010-06-23 04:30:09 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44610
[Bug debug/44610] VTA produces wrong variable location information
--- Comment #5 from aoliva at gcc dot gnu dot org 2010-06-23 04:35 --- Created an attachment (id=20984) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20984action=view) Patch that fixes the problem The MEMs for each HImode in the DImode args all have NULL MEM_OFFSET (we indeed don have a constant offset within the loop, for it varies), but when we delegitimize those addresses during var-tracking, we assume no MEM_OFFSET means zero MEM_OFFSET, which maps all MEMs to the same VALUE. The assumption turns out to be wrong. We can't delegitimize a MEM to the base address when it may be offset by an unknown amount. Testing the patch now. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44610
[Bug lto/44248] -fcompare-debug failure with -flto/-fwhopr -g
--- Comment #4 from aoliva at gcc dot gnu dot org 2010-06-20 23:58 --- Subject: Bug 44248 Author: aoliva Date: Sun Jun 20 23:57:54 2010 New Revision: 161056 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=161056 Log: PR debug/44248 * lto-streamer-in.c (input_bb): Leave debug stmts alone. (input_function): Drop them here, if VTA is disabled. Modified: trunk/gcc/ChangeLog trunk/gcc/lto-streamer-in.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44248
[Bug lto/44248] -fcompare-debug failure with -flto/-fwhopr -g
--- Comment #5 from aoliva at gcc dot gnu dot org 2010-06-21 02:58 --- Fixed -- aoliva at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44248
[Bug debug/43656] -fcompare-debug failure with -O2 -fschedule-insns -fsched-pressure -funroll-loops -fgraphite-identity
--- Comment #8 from aoliva at gcc dot gnu dot org 2010-06-14 19:18 --- Subject: Bug 43656 Author: aoliva Date: Mon Jun 14 19:18:04 2010 New Revision: 160761 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=160761 Log: PR debug/43656 * haifa-sched.c (setup_insn_reg_pressure_info, update_register_pressure): Reject debug insns. (ready_sort): Don't setup reg pressure for debug insns. (schedule_insn): Don't update reg pressure for debug insns. Modified: trunk/gcc/ChangeLog trunk/gcc/haifa-sched.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43656
[Bug debug/43650] -fcompare-debug failure with -O2 -fpeel-loops -fgraphite-identity
--- Comment #4 from aoliva at gcc dot gnu dot org 2010-06-14 19:18 --- Subject: Bug 43650 Author: aoliva Date: Mon Jun 14 19:18:18 2010 New Revision: 160762 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=160762 Log: PR debug/43650 PR debug/44181 PR debug/44247 * tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Skip debug stmts. (canonicalize_loop_ivs): Likewise. Modified: trunk/gcc/ChangeLog trunk/gcc/tree-ssa-loop-manip.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43650
[Bug debug/44181] -fcompare-debug failure (length) with -Os -fgraphite-identity
--- Comment #6 from aoliva at gcc dot gnu dot org 2010-06-14 19:18 --- Subject: Bug 44181 Author: aoliva Date: Mon Jun 14 19:18:18 2010 New Revision: 160762 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=160762 Log: PR debug/43650 PR debug/44181 PR debug/44247 * tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Skip debug stmts. (canonicalize_loop_ivs): Likewise. Modified: trunk/gcc/ChangeLog trunk/gcc/tree-ssa-loop-manip.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44181
[Bug debug/44247] -fcompare-debug failure with -O1 -fgraphite-identity
--- Comment #3 from aoliva at gcc dot gnu dot org 2010-06-14 19:18 --- Subject: Bug 44247 Author: aoliva Date: Mon Jun 14 19:18:18 2010 New Revision: 160762 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=160762 Log: PR debug/43650 PR debug/44181 PR debug/44247 * tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Skip debug stmts. (canonicalize_loop_ivs): Likewise. Modified: trunk/gcc/ChangeLog trunk/gcc/tree-ssa-loop-manip.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44247
[Bug debug/43656] -fcompare-debug failure with -O2 -fschedule-insns -fsched-pressure -funroll-loops -fgraphite-identity
--- Comment #9 from aoliva at gcc dot gnu dot org 2010-06-14 19:19 --- Fixed -- aoliva at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43656
[Bug debug/44181] -fcompare-debug failure (length) with -Os -fgraphite-identity
--- Comment #7 from aoliva at gcc dot gnu dot org 2010-06-14 19:22 --- Fixed -- aoliva at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44181
[Bug lto/44248] -fcompare-debug failure with -flto/-fwhopr -g
--- Comment #2 from aoliva at gcc dot gnu dot org 2010-06-15 02:48 --- Mine -- 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|UNCONFIRMED |ASSIGNED Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2010-06-15 02:48:47 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44248
[Bug lto/44248] -fcompare-debug failure with -flto/-fwhopr -g
--- Comment #3 from aoliva at gcc dot gnu dot org 2010-06-15 02:51 --- Created an attachment (id=20911) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20911action=view) Patch that fixes the problem Testing this now. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44248
[Bug debug/42648] [4.5/4.6 Regression] gcc.dg/guality/pr41353-1.c FAILs at -On, n 0
--- Comment #9 from aoliva at gcc dot gnu dot org 2010-06-11 10:49 --- Steve, lto and whopr seem to have been introduced in a way that broke VTA. This is not ia64-specific, and it's not what this bug is about. I guess what you're seeing are other cases of lossage, that we might have to look into, but it's better to open separate bugs for them, to avoid confusing the issue further. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42648
[Bug debug/43222] two DEBUG i = 0 generated after loop copy header
--- Comment #7 from aoliva at gcc dot gnu dot org 2010-06-11 11:45 --- Not a bug -- aoliva at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43222
[Bug tree-optimization/44181] -fcompare-debug failure (length) with -Os -fgraphite-identity
--- Comment #2 from aoliva at gcc dot gnu dot org 2010-06-11 12:23 --- Mine -- 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 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44181
[Bug tree-optimization/44181] -fcompare-debug failure (length) with -Os -fgraphite-identity
--- Comment #3 from aoliva at gcc dot gnu dot org 2010-06-11 12:23 --- Created an attachment (id=20887) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20887action=view) Patch that fixes the problem Here's the patch I'm testing now. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44181
[Bug tree-optimization/44181] -fcompare-debug failure (length) with -Os -fgraphite-identity
--- Comment #4 from aoliva at gcc dot gnu dot org 2010-06-11 12:28 --- *** Bug 44247 has been marked as a duplicate of this bug. *** -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44181
[Bug middle-end/44247] -fcompare-debug failure with -O1 -fgraphite-identity
--- Comment #2 from aoliva at gcc dot gnu dot org 2010-06-11 12:28 --- The patch for bug 44181 fixes this one as well. *** This bug has been marked as a duplicate of 44181 *** -- aoliva at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||DUPLICATE http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44247
[Bug debug/44181] -fcompare-debug failure (length) with -Os -fgraphite-identity
--- Comment #5 from aoliva at gcc dot gnu dot org 2010-06-11 12:56 --- *** Bug 43650 has been marked as a duplicate of this bug. *** -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44181
[Bug tree-optimization/43650] -fcompare-debug failure with -O2 -fpeel-loops -fgraphite-identity
--- Comment #3 from aoliva at gcc dot gnu dot org 2010-06-11 12:56 --- Unlike PR43656, this one is also fixed by the patch proposed for PR44181. *** This bug has been marked as a duplicate of 44181 *** -- aoliva at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||DUPLICATE http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43650
[Bug debug/43656] -fcompare-debug failure with -O2 -fschedule-insns -fsched-pressure -funroll-loops -fgraphite-identity
--- Comment #5 from aoliva at gcc dot gnu dot org 2010-06-11 13:57 --- Mine -- 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 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43656
[Bug debug/43656] -fcompare-debug failure with -O2 -fschedule-insns -fsched-pressure -funroll-loops -fgraphite-identity
--- Comment #6 from aoliva at gcc dot gnu dot org 2010-06-11 14:00 --- Created an attachment (id=20892) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20892action=view) Patch that fixes the problem This patch (perhaps in addition to the patch for PR 44181, I haven't tried the old tree without that patch) fixes sched to disregard any apparent register pressure from debug insns. I'm going to give it some more testing before posting it. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43656
[Bug debug/41371] [4.5/4.6 Regression] var-tracking is slow and memory hungry
--- Comment #41 from aoliva at gcc dot gnu dot org 2010-06-10 16:44 --- Subject: Bug 41371 Author: aoliva Date: Thu Jun 10 16:43:46 2010 New Revision: 160559 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=160559 Log: PR debug/41371 * var-tracking.c (find_loc_in_1pdv): Remove recursion, only tail-recurse into canonical node. Fast-forward over non-canonical VALUEs. Modified: trunk/gcc/ChangeLog trunk/gcc/var-tracking.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41371
[Bug debug/41371] [4.5/4.6 Regression] var-tracking is slow and memory hungry
--- Comment #42 from aoliva at gcc dot gnu dot org 2010-06-10 17:01 --- Subject: Bug 41371 Author: aoliva Date: Thu Jun 10 17:01:32 2010 New Revision: 160563 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=160563 Log: PR debug/41371 * var-tracking.c (find_loc_in_1pdv): Remove recursion, only tail-recurse into canonical node. Fast-forward over non-canonical VALUEs. Modified: branches/gcc-4_5-branch/gcc/ChangeLog branches/gcc-4_5-branch/gcc/var-tracking.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41371
[Bug debug/42648] [4.5/4.6 Regression] gcc.dg/guality/pr41353-1.c FAILs at -On, n 0
--- Comment #7 from aoliva at gcc dot gnu dot org 2010-06-10 18:50 --- Steve, I only see problems on ia64 at -O3, and that's because VTA is disabled when selective scheduling is enabled. Uros, I can't duplicate the problem with a cross compiler for alpha: the debug info in the assembly output and in the vartrack dump looks just right to me. I'm not sure how to proceed, maybe post evidence that GCC is actually producing incorrect debug info, rather than that say the assembler is mangling it or GDB is misinterpreting it? Richard, if you can still duplicate the problem on your end, can you help? debug bind stmts for incoming args are not expected at the entry point, they're only inserted when the function is inlined or early in the var-tracking pass. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42648
[Bug rtl-optimization/44013] [4.5 Regression] VTA produces wrong code
--- Comment #12 from aoliva at gcc dot gnu dot org 2010-06-09 04:54 --- Fixed -- aoliva at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44013
[Bug debug/41371] [4.5/4.6 Regression] var-tracking is slow and memory hungry
--- Comment #40 from aoliva at gcc dot gnu dot org 2010-06-09 04:56 --- Fixed -- aoliva at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41371
[Bug debug/41371] [4.5/4.6 Regression] var-tracking is slow and memory hungry
--- Comment #33 from aoliva at gcc dot gnu dot org 2010-06-04 09:51 --- Mine -- 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|REOPENED|ASSIGNED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41371
[Bug debug/41371] [4.5/4.6 Regression] var-tracking is slow and memory hungry
--- Comment #34 from aoliva at gcc dot gnu dot org 2010-06-04 10:03 --- Created an attachment (id=20836) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20836action=view) Patch that fixes the bug and verifies recursion is bounded as expected This patch (except for comments and ChangeLog) completed stage1 libs, more testing needed. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41371
[Bug debug/43222] two DEBUG i = 0 generated after loop copy header
--- Comment #6 from aoliva at gcc dot gnu dot org 2010-06-02 06:28 --- Andrew, the debug stmts are indeed originally from the loop header's PHI nodes. Before ch we have: i_1 = init; # i = i_1 goto header; body: i_3 = whatever(i_2); # i = i_3 header: i_2 = PHI i_1, i_3; # i = i_2 if (cond) goto body; else goto exit; copy_loop_header turns this into: i_1 = init; # i = i_1 copy: i_4 = PHI i_1; # i = i_4 if (cond) goto body; else goto exit; body: i_3 = whatever(i_2); # i = i_3 header: i_2 = PHI i_3; # i = i_2 if (cond) goto body; else goto exit; and that's correct. Then cfgcleanup realizes the headers can be merged with their preds, and that kills the PHI nodes, but there's no reason why this should kill the debug stmts. Of course we could arrange for some cleanup passes to detect and remove debug stmts in case they become redundant, but I don't see that we have a bug here. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43222
[Bug debug/43119] debug info vs. scheduling
--- Comment #2 from aoliva at gcc dot gnu dot org 2010-06-02 06:43 --- My mid-term vision to address this sort of problem does not involve adding more debug bind insns (I don't quite see how to get them right), but rather emit a new kind of debug stmt/insn so as to emit is_stmt notes in lineno, so we can set breakpoints at the right spot for line 19, rather than at the moved-ahead insns, avoiding all the bouncing back-and-forth when stepping in optimized programs. I ought to go ahead and implement this one of these days. -- 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 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43119
[Bug rtl-optimization/44013] VTA produces wrong code
--- Comment #7 from aoliva at gcc dot gnu dot org 2010-06-02 05:08 --- Mine -- 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 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44013
[Bug rtl-optimization/44013] VTA produces wrong code
--- Comment #8 from aoliva at gcc dot gnu dot org 2010-06-02 05:19 --- Created an attachment (id=20804) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20804action=view) Patch that fixes the problem Here's the patch I'm regstrapping now. It avoids relying on the implied dependency. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44013
[Bug debug/43478] Missing DW_AT_location for a variable
--- Comment #15 from aoliva at gcc dot gnu dot org 2010-06-02 05:27 --- The debug info machinery is doing the best it can given the behavior of reassoc, so I'm stepping away from this bug. Getting reassoc to generate stmts at a different place may have improvement of debug info as a side effect, but I'll leave that to someone more familiar with reassoc. -- aoliva at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|aoliva at gcc dot gnu dot |unassigned at gcc dot gnu |org |dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43478
[Bug debug/43478] Missing DW_AT_location for a variable
--- Comment #6 from aoliva at gcc dot gnu dot org 2010-04-29 07:52 --- Created an attachment (id=20513) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20513action=view) Patch that implements the idea, but does not improve debug info for this testcase Alas, the idea seems to work, but it won't make any difference to the testcase at hand: we bind the debug temp to rax, just returned from a function and about to be overwritten before we reach the debug bind insn for y. The attached patch is WIP, still missing documentation comments and testing. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43478
[Bug debug/43478] Missing DW_AT_location for a variable
--- Comment #4 from aoliva at gcc dot gnu dot org 2010-04-22 02:39 --- After much pondering, an idea that might fix this problem and many others hit me: instead of just resetting debug stmts that refer to an earlier REG_DEAD, emit a debug temp that binds to the reg before it dies, and refer to the debug temp instead of to the REG. Then, if the value is still live or computable, we'll still get to it. I'm going to give it a try. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43478
[Bug debug/43478] Missing DW_AT_location for a variable
--- Comment #3 from aoliva at gcc dot gnu dot org 2010-04-15 11:34 --- Created an attachment (id=20387) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20387action=view) Patch that fixes this instance of the problem I'm not convinced we have a bug here. The transformations are all correct, and the unfortunate result is that the variable is completely optimized away. Saying so is fine. That said, it is indeed possible to change tree-ssa-reassoc so that the new stmts are inserted after the debug stmt at hand. I get the impression this would always be safe to do, but it feels like a bit of a waste of effort, and it would hardly fix more general situations, and it might choose an insertion point that is just as unfortunate, and perhaps more surprising. Anyhow, this is the patch I'm testing now. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43478
[Bug debug/43478] Missing DW_AT_location for a variable
--- Comment #2 from aoliva at gcc dot gnu dot org 2010-04-15 00:58 --- Mine -- 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 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43478
[Bug debug/42648] [4.5 Regression] gcc.dg/guality/pr41353-1.c FAILs at -On, n 0
--- Comment #3 from aoliva at gcc dot gnu dot org 2010-04-05 07:48 --- Yeah, fixed (i686-linux-gnu) by revision 156693, from Feb 11. I couldn't duplicate it at all on x86_64-linux-gnu. If the problem is still present on some other platform, please reopen and specify. -- aoliva at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42648
[Bug debug/42648] [4.5 Regression] gcc.dg/guality/pr41353-1.c FAILs at -On, n 0
--- Comment #2 from aoliva at gcc dot gnu dot org 2010-04-05 05:06 --- This appears to have been fixed already. Looking into it. -- 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=42648
[Bug debug/41371] [4.5 Regression] var-tracking is slow and memory hungry
--- Comment #18 from aoliva at gcc dot gnu dot org 2010-03-06 20:26 --- Subject: Bug 41371 Author: aoliva Date: Sat Mar 6 20:26:15 2010 New Revision: 157257 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=157257 Log: * var-tracking.c (dataflow_set_merge): Swap src and src2. Reverted: 2010-01-13 Jakub Jelinek ja...@redhat.com PR debug/41371 * var-tracking.c (values_to_unmark): New variable. (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in values_to_unmark vector. Moved body to... (find_loc_in_1pdv_1): ... this. Don't clear VALUE_RECURSED_INTO, instead queue it into values_to_unmark vector. (vt_find_locations): Free values_to_unmark vector. Modified: trunk/gcc/ChangeLog trunk/gcc/var-tracking.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41371
[Bug debug/42897] [4.5 Regression] yet another ice in verify_ssa
--- Comment #5 from aoliva at gcc dot gnu dot org 2010-03-06 20:28 --- Subject: Bug 42897 Author: aoliva Date: Sat Mar 6 20:28:04 2010 New Revision: 157258 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=157258 Log: PR debug/42897 * tree-vect-loop.c (vect_transform_loop): Kill out-of-loop debug uses of relevant DEFs that are dead outside the loop too. Modified: trunk/gcc/ChangeLog trunk/gcc/tree-vect-loop.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42897
[Bug debug/42897] [4.5 Regression] yet another ice in verify_ssa
--- Comment #6 from aoliva at gcc dot gnu dot org 2010-03-06 20:30 --- Subject: Bug 42897 Author: aoliva Date: Sat Mar 6 20:30:10 2010 New Revision: 157259 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=157259 Log: PR debug/42897 * gimple-iterator.c (gsi_remove): Propagate only PHI DEFs removed permanently. Modified: trunk/gcc/ChangeLog trunk/gcc/gimple-iterator.c trunk/gcc/tree-phinodes.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42897
[Bug debug/42897] [4.5 Regression] yet another ice in verify_ssa
--- Comment #7 from aoliva at gcc dot gnu dot org 2010-03-06 21:08 --- Fixed -- aoliva at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42897
[Bug debug/42897] [4.5 Regression] yet another ice in verify_ssa
--- Comment #3 from aoliva at gcc dot gnu dot org 2010-01-30 09:13 --- Mine, testing patches. -- 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 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42897
[Bug debug/42896] [4.5 Regression] Random debug generation differences, bootstrap fails
--- Comment #11 from aoliva at gcc dot gnu dot org 2010-01-30 09:13 --- Mine, patch posted. -- 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=42896
[Bug debug/42861] [4.4/4.5 Regression] Spill slots not tracked during var-tracking
--- Comment #2 from aoliva at gcc dot gnu dot org 2010-01-25 19:46 --- Mine. Got 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 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42861
[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/42395] [4.5 Regression] error: definition in block 12 does not dominate use in block 19 with -O3 -g
--- Comment #6 from aoliva at gcc dot gnu dot org 2010-01-09 14:40 --- Subject: Bug 42395 Author: aoliva Date: Sat Jan 9 14:40:40 2010 New Revision: 155761 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=155761 Log: gcc/ChangeLog: PR debug/42604 PR debug/42395 * tree-vect-loop-manip.c (adjust_info): New type. (adjust_vec): New pointer to vector. (adjust_debug_stmts_now, adjust_vec_debug_stmts): New. (adjust_debug_stmts, adjust_phi_and_debug_stmts): New. (slpeel_update_phis_for_duplicate_loop): Use them. (slpeel_update_phi_nodes_for_guard1): Likewise. (slpeel_update_phi_nodes_for_guard2): Likewise. (slpeel_tree_peel_loop_to_edge): Likewise. (vect_update_ivs_after_vectorizer): Likewise. gcc/testsuite/ChangeLog: PR debug/42604 PR debug/42395 * gcc.dg/vect/pr42604.c: New. * gcc.dg/vect/pr42395.c: New. Added: trunk/gcc/testsuite/gcc.dg/vect/pr42395.c trunk/gcc/testsuite/gcc.dg/vect/pr42604.c Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/tree-vect-loop-manip.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42395
[Bug debug/42604] [4.5 Regression] VTA ICE in the vectorizer
--- Comment #2 from aoliva at gcc dot gnu dot org 2010-01-09 14:40 --- Subject: Bug 42604 Author: aoliva Date: Sat Jan 9 14:40:40 2010 New Revision: 155761 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=155761 Log: gcc/ChangeLog: PR debug/42604 PR debug/42395 * tree-vect-loop-manip.c (adjust_info): New type. (adjust_vec): New pointer to vector. (adjust_debug_stmts_now, adjust_vec_debug_stmts): New. (adjust_debug_stmts, adjust_phi_and_debug_stmts): New. (slpeel_update_phis_for_duplicate_loop): Use them. (slpeel_update_phi_nodes_for_guard1): Likewise. (slpeel_update_phi_nodes_for_guard2): Likewise. (slpeel_tree_peel_loop_to_edge): Likewise. (vect_update_ivs_after_vectorizer): Likewise. gcc/testsuite/ChangeLog: PR debug/42604 PR debug/42395 * gcc.dg/vect/pr42604.c: New. * gcc.dg/vect/pr42395.c: New. Added: trunk/gcc/testsuite/gcc.dg/vect/pr42395.c trunk/gcc/testsuite/gcc.dg/vect/pr42604.c Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/tree-vect-loop-manip.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42604
[Bug middle-end/42363] [4.5 Regression] ICE: verify_flow_info failed for gcc.c-torture/compile/pr37913.c -O1 -g
--- Comment #7 from aoliva at gcc dot gnu dot org 2010-01-09 14:41 --- Subject: Bug 42363 Author: aoliva Date: Sat Jan 9 14:40:59 2010 New Revision: 155762 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=155762 Log: gcc/ChangeLog: PR middle-end/42363 * gimplify.c (gimplify_modify_expr): Drop lhs on noreturn calls. * tree-cfg.c (is_ctrl_altering_stmt): Don't compute flags twice. (verify_gimple_call): Reject LHS in noreturn calls. gcc/testsuite/ChangeLog: PR middle-end/42363 * gcc.dg/torture/pr42363.c: New. Added: trunk/gcc/testsuite/gcc.dg/torture/pr42363.c Modified: trunk/gcc/ChangeLog trunk/gcc/gimplify.c trunk/gcc/testsuite/ChangeLog trunk/gcc/tree-cfg.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42363
[Bug debug/42629] -fcompare-debug failure (length) with -O1 -fsched-pressure -fschedule-insns
--- Comment #3 from aoliva at gcc dot gnu dot org 2010-01-09 14:41 --- Subject: Bug 42629 Author: aoliva Date: Sat Jan 9 14:41:17 2010 New Revision: 155763 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=155763 Log: gcc/ChangeLog: PR debug/42629 * haifa-sched.c (dying_use_p): Debug insns don't count. gcc/testsuite/ChangeLog: PR debug/42629 * gcc.dg/pr42629.c: New. Added: trunk/gcc/testsuite/gcc.dg/pr42629.c Modified: trunk/gcc/ChangeLog trunk/gcc/haifa-sched.c trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42629
[Bug debug/42630] -fcompare-debug failure (length) with -O1 -fvariable-expansion-in-unroller -funroll-loops
--- Comment #4 from aoliva at gcc dot gnu dot org 2010-01-09 14:42 --- Subject: Bug 42630 Author: aoliva Date: Sat Jan 9 14:41:35 2010 New Revision: 155764 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=155764 Log: gcc/ChangeLog: PR debug/42630 * loop-unroll.c (referenced_in_one_insn_in_loop_p): Count debug uses in new incoming argument. Free body. (reset_debug_uses_in_loop): New. (analyze_insn_to_expand_var): Call the latter if the former found anything. Fix whitespace. Reject invalid dest overlaps before going through all insns in the loop. gcc/testsuite/ChangeLog: PR debug/42630 * gcc.dg/pr42630.c: New. Added: trunk/gcc/testsuite/gcc.dg/pr42630.c Modified: trunk/gcc/ChangeLog trunk/gcc/loop-unroll.c trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42630
[Bug rtl-optimization/42631] [4.5 Regression] -fcompare-debug failure with -O1 -funroll-loops
--- Comment #13 from aoliva at gcc dot gnu dot org 2010-01-09 14:42 --- Subject: Bug 42631 Author: aoliva Date: Sat Jan 9 14:41:51 2010 New Revision: 155765 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=155765 Log: gcc/ChangeLog: PR debug/42631 * web.c (union_defs): Add used argument, to combine uses of uninitialized regs. (entry_register): Adjust type and tests of used argument. (web_main): Widen used for new use. Pass it to union_defs. * df.h (union_defs): Adjust prototype. gcc/testsuite/ChangeLog: PR debug/42631 * gcc.dg/pr42631.c: New. Added: trunk/gcc/testsuite/gcc.dg/pr42631.c Modified: trunk/gcc/ChangeLog trunk/gcc/df.h trunk/gcc/testsuite/ChangeLog trunk/gcc/web.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42631
[Bug rtl-optimization/42631] [4.5 Regression] -fcompare-debug failure with -O1 -funroll-loops
--- Comment #14 from aoliva at gcc dot gnu dot org 2010-01-09 14:50 --- Fixed -- aoliva at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42631
[Bug debug/42630] -fcompare-debug failure (length) with -O1 -fvariable-expansion-in-unroller -funroll-loops
--- Comment #5 from aoliva at gcc dot gnu dot org 2010-01-09 14:50 --- Fixed -- aoliva at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42630
[Bug debug/42629] -fcompare-debug failure (length) with -O1 -fsched-pressure -fschedule-insns
--- Comment #4 from aoliva at gcc dot gnu dot org 2010-01-09 14:51 --- Fixed -- aoliva at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42629
[Bug middle-end/42363] [4.5 Regression] ICE: verify_flow_info failed for gcc.c-torture/compile/pr37913.c -O1 -g
--- Comment #8 from aoliva at gcc dot gnu dot org 2010-01-09 14:51 --- Fixed -- aoliva at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42363
[Bug debug/42395] [4.5 Regression] error: definition in block 12 does not dominate use in block 19 with -O3 -g
--- Comment #7 from aoliva at gcc dot gnu dot org 2010-01-09 14:51 --- Fixed -- aoliva at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42395
[Bug debug/42604] [4.5 Regression] VTA ICE in the vectorizer
--- Comment #3 from aoliva at gcc dot gnu dot org 2010-01-09 14:52 --- Fixed -- aoliva at gcc dot gnu dot org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42604
[Bug other/42530] ICE in verify_ssa when using -O -g -ffast-math -floop-parallelize-all
--- Comment #2 from aoliva at gcc dot gnu dot org 2010-01-07 12:47 --- 'been looking at it a bit. It's graphite's rewrite_commutative_reductions_out_of_ssa that removes SSA PHI nodes from the IR without actually releasing them, so we don't get a chance to propagate the DEFs into debug stmts. I tried to explicitly call the debug stmt propagate function, before and after release, to no avail. I went no further than that, for the time being, and I'm not sure when/if I'll get back to it. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42530
[Bug debug/42629] -fcompare-debug failure (length) with -O1 -fsched-pressure -fschedule-insns
--- Comment #2 from aoliva at gcc dot gnu dot org 2010-01-07 13:15 --- Mine -- 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|UNCONFIRMED |ASSIGNED Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2010-01-07 13:15:22 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42629
[Bug rtl-optimization/42631] [4.5 Regression] -fcompare-debug failure with -O1 -funroll-loops
--- Comment #4 from aoliva at gcc dot gnu dot org 2010-01-07 13:53 --- Yeah, it surprised me a bit too, but now that I looked into it I see it makes perfect sense. There was a PHI node before the debug stmt that expanded into this debug insn. The variable is indeed live at that location, even though in the first loop iteration it won't have been initialized yet. So the note is absolutely correct, and we somehow have to deal with it. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42631
[Bug rtl-optimization/42631] [4.5 Regression] -fcompare-debug failure with -O1 -funroll-loops
--- Comment #6 from aoliva at gcc dot gnu dot org 2010-01-07 20:44 --- Mine -- 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=42631
[Bug rtl-optimization/42631] [4.5 Regression] -fcompare-debug failure with -O1 -funroll-loops
--- Comment #7 from aoliva at gcc dot gnu dot org 2010-01-08 01:01 --- The interesting question to ask is *why* web regards three different uses of the same uninitialized pseudo as different webs. That's what doesn't make sense to me. Apparently DF avoids dealing with uninitialized variables while constructing UD chains. If this was improved (say, creating an artificial def for the uninitialized pseudo), this symptom (the -fcompare-debug failure) would be automatically fixed. However, I can come up with a kludge for web, such as special-casing uninitialized uses in debug insns or so. Thoughts? -- aoliva at gcc dot gnu dot org changed: What|Removed |Added CC||steven at gcc dot gnu dot ||org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42631
[Bug rtl-optimization/42631] [4.5 Regression] -fcompare-debug failure with -O1 -funroll-loops
--- Comment #8 from aoliva at gcc dot gnu dot org 2010-01-08 01:27 --- Kenny, you think we should fix DF to create artificial defs for uninitialized vars, or use some kludge in web to avoid creating one web per uninitialized use? -- aoliva at gcc dot gnu dot org changed: What|Removed |Added CC||zadeck at naturalbridge dot ||com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42631