[Bug middle-end/41264] [4.5 Regression] variable-tracking unbelievably slow

2009-10-13 Thread matz at gcc dot gnu dot org
--- Comment #12 from matz at gcc dot gnu dot org 2009-10-14 06:14 --- Yeah, I'm sorry, I attached the testcase to the wrong bug report as said in comment #5. It was about combinatoric explosion not about slow var-tracking. I should probably have deleted the attachment from

[Bug tree-optimization/41783] New: r151561 (PRE fix) regresses zeusmp

2009-10-21 Thread matz at gcc dot gnu dot org
Severity: normal Priority: P3 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: matz at gcc dot gnu dot org GCC host triplet: x86_64-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41783

[Bug tree-optimization/41783] r151561 (PRE fix) regresses zeusmp

2009-10-21 Thread matz at gcc dot gnu dot org
--- Comment #5 from matz at gcc dot gnu dot org 2009-10-21 15:20 --- Yes, I mean the second insertion. The phi node generated for that one (in the first j-loop) prevents vectorization in r151561 (I haven't really tested newer revs that r151590). Maybe some other stuff in later

[Bug tree-optimization/41783] r151561 (PRE fix) regresses zeusmp

2009-10-21 Thread matz at gcc dot gnu dot org
--- Comment #6 from matz at gcc dot gnu dot org 2009-10-21 15:22 --- Hmm, at least I don't remember any patch dealing with phi translation right now. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41783

[Bug tree-optimization/41783] r151561 (PRE fix) regresses zeusmp

2009-10-21 Thread matz at gcc dot gnu dot org
--- Comment #8 from matz at gcc dot gnu dot org 2009-10-21 15:35 --- But the important one (for zeusmp) is the first loop. That isn't vectorized anymore (but was in r151560, i.e. there it vectorized two loops). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41783

[Bug tree-optimization/41783] r151561 (PRE fix) regresses zeusmp

2009-10-22 Thread matz at gcc dot gnu dot org
--- Comment #11 from matz at gcc dot gnu dot org 2009-10-22 15:13 --- Have patch. -- matz at gcc dot gnu dot org changed: What|Removed |Added AssignedTo

[Bug c/41797] Segmentation fault on compiling using pre-compiled headers

2009-10-22 Thread matz at gcc dot gnu dot org
--- Comment #2 from matz at gcc dot gnu dot org 2009-10-22 15:26 --- Works with 4.3 and 4.5 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41797

[Bug tree-optimization/41783] r151561 (PRE fix) regresses zeusmp

2009-10-26 Thread matz at gcc dot gnu dot org
--- Comment #12 from matz at gcc dot gnu dot org 2009-10-26 13:00 --- Subject: Bug 41783 Author: matz Date: Mon Oct 26 13:00:36 2009 New Revision: 153551 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=153551 Log: PR tree-optimization/41783 * tree-ssa

[Bug tree-optimization/41783] r151561 (PRE fix) regresses zeusmp

2009-10-26 Thread matz at gcc dot gnu dot org
--- Comment #13 from matz at gcc dot gnu dot org 2009-10-26 13:04 --- Fixed. -- matz at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED

[Bug tree-optimization/42078] [4.5 Regression] ICE in gimple_assign_set_rhs_code

2009-11-18 Thread matz at gcc dot gnu dot org
--- Comment #7 from matz at gcc dot gnu dot org 2009-11-18 15:04 --- I'm not terribly thrilled by having to clutter the code with 20 lines of code which should have been maybe two :-/ Even less so as nothing can make use of the info. Let's drop it for now with a comment.

[Bug middle-end/32004] [4.3 regression] : gcc.target/i386/pr21291.c

2007-05-20 Thread matz at gcc dot gnu dot org
--- Comment #9 from matz at gcc dot gnu dot org 2007-05-21 07:45 --- Richard, the problem isn't the compare or where to store the live values alen and blen (FYI, the store looks invalid, because reload will not immediately stop when it sees an invalid asm insn, but instead just pat

[Bug middle-end/32004] [4.3 regression] : gcc.target/i386/pr21291.c

2007-05-21 Thread matz at gcc dot gnu dot org
--- Comment #12 from matz at gcc dot gnu dot org 2007-05-21 09:03 --- Exactly. If during expansion or at some other time before reload, doesn't matter that much. Of course there's a remote possibility that some RTL passes between expand and reload would do the copy prop

[Bug middle-end/32004] [4.3 regression] : gcc.target/i386/pr21291.c

2007-05-21 Thread matz at gcc dot gnu dot org
--- Comment #14 from matz at gcc dot gnu dot org 2007-05-21 09:35 --- Yes. The place where I would think the work-around to become definitive is exactly before regclass. Between it and reload nothing interesting happens transformation wise. -- http://gcc.gnu.org/bugzilla

[Bug objc++/32052] [4.3 Regression] encode-2.mm, encode-3.mm fail on at least powerpc-darwin

2007-05-23 Thread matz at gcc dot gnu dot org
--- Comment #1 from matz at gcc dot gnu dot org 2007-05-23 09:36 --- The ObjC frontend seems to use IDENTIFIER_POINTER directly to produce this encoding. This doesn't contain template arguments anymore. And from quick reading of obj-act.c it's also not clear if it was really

[Bug c++/30252] [4.2 regression] miscompilation of sigc++-2.0 based code with -fstrict-aliasing

2007-06-05 Thread matz at gcc dot gnu dot org
--- Comment #37 from matz at gcc dot gnu dot org 2007-06-05 18:24 --- > We are pointing to cell, and using that to access cell.i No. We are pointing to cell.ii, and use that pointer to access cell.ii.i (via in->i). Hence of course the points-to set of 'in' needs to i

[Bug target/31309] 6 byte assignment at end of structure reads/writes past end of structure causing SEGV when that memory is not accessable.

2007-07-06 Thread matz at gcc dot gnu dot org
--- Comment #9 from matz at gcc dot gnu dot org 2007-07-06 15:42 --- This helps (the loop already tries to copy the content byte wise, but uses the wrong modes for that), but someone knowledgeable in that bitfield business should look at it. In particular it might happen that

[Bug c++/23472] [hammer] __attribute__((constructor)) called twice with -funit-at-a-time

2007-07-11 Thread matz at gcc dot gnu dot org
--- Comment #4 from matz at gcc dot gnu dot org 2007-07-11 15:37 --- Nope. -- matz at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED

[Bug debug/43077] VTA issues caused by SSA expand

2010-02-18 Thread matz at gcc dot gnu dot org
--- Comment #1 from matz at gcc dot gnu dot org 2010-02-18 15:13 --- Created an attachment (id=19910) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19910&action=view) candidate fix Try this. I don't know how to write guality tests, but I think it has the effects

[Bug debug/43077] VTA issues caused by SSA expand

2010-02-18 Thread matz at gcc dot gnu dot org
--- Comment #3 from matz at gcc dot gnu dot org 2010-02-18 16:12 --- At least varb isn't printed in fn3, because dse2 (after prologue_epilogue) makes the expressions in the debug_insn be (clobber 0). Presumably because frame elimination rewrites the address-takings, but not the

[Bug debug/43077] VTA issues caused by SSA expand

2010-02-18 Thread matz at gcc dot gnu dot org
--- Comment #4 from matz at gcc dot gnu dot org 2010-02-18 16:40 --- Created an attachment (id=19916) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19916&action=view) do reg elimination This will fix some more of the var[bc] references by eliminating all registers in DEBUG

[Bug debug/43077] VTA issues caused by SSA expand

2010-02-18 Thread matz at gcc dot gnu dot org
--- Comment #5 from matz at gcc dot gnu dot org 2010-02-18 16:50 --- That leaves 'c' which isn't printed, because the setup of c (a stackslot) is schedules to be part of the function call setup, the breakpoint is before that setup, and hence the location of 'c'

[Bug debug/43077] VTA issues caused by SSA expand

2010-02-19 Thread matz at gcc dot gnu dot org
--- Comment #10 from matz at gcc dot gnu dot org 2010-02-19 12:33 --- Okay. You were right, my tree was a outdated. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43077

[Bug tree-optimization/38785] [4.3/4.4/4.5 Regression] huge performance regression on EEMBC bitmnp01

2010-02-19 Thread matz at gcc dot gnu dot org
--- Comment #23 from matz at gcc dot gnu dot org 2010-02-19 13:19 --- Richi: not really. It tries to separate paths where at least one has mostly constants in their PHI args. This applies to this testcase for the first chain of PHI nodes, which are separated as intended. But this

[Bug debug/43077] VTA issues caused by SSA expand

2010-02-23 Thread matz at gcc dot gnu dot org
--- Comment #12 from matz at gcc dot gnu dot org 2010-02-23 14:31 --- Yeah, I have a patch already which emits it before the last real use of an SSA name (which by design of TER is a point where all constituent subexpressions still have their correct value). -- http://gcc.gnu.org

[Bug debug/43077] VTA issues caused by SSA expand

2010-02-23 Thread matz at gcc dot gnu dot org
--- Comment #13 from matz at gcc dot gnu dot org 2010-02-23 16:42 --- Subject: Bug 43077 Author: matz Date: Tue Feb 23 16:41:52 2010 New Revision: 157009 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=157009 Log: PR debug/43077 * cfgexpand (expand_de

[Bug debug/43077] VTA issues caused by SSA expand

2010-02-23 Thread matz at gcc dot gnu dot org
--- Comment #14 from matz at gcc dot gnu dot org 2010-02-23 16:46 --- Fixed. -- matz at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED

[Bug middle-end/43300] [4.5 Regression] ICE: in emit_move_insn, at expr.c:3432

2010-03-09 Thread matz at gcc dot gnu dot org
--- Comment #4 from matz at gcc dot gnu dot org 2010-03-09 16:47 --- This happens only for vector modes which aren't supported by the target. They will be assigned BLKmode stack slots which right now aren't handled correctly (incidentally I wonder why Graphite is needed to e

[Bug c++/43333] New: __is_pod seems broken

2010-03-11 Thread matz at gcc dot gnu dot org
Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: matz at gcc dot gnu dot org GCC host triplet: x86_64-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4

[Bug middle-end/43300] [4.5 Regression] ICE: in emit_move_insn, at expr.c:3432

2010-03-15 Thread matz at gcc dot gnu dot org
--- Comment #5 from matz at gcc dot gnu dot org 2010-03-15 16:13 --- Subject: Bug 43300 Author: matz Date: Mon Mar 15 16:13:28 2010 New Revision: 157461 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=157461 Log: PR middle-end/43300 * tree-out

[Bug middle-end/43300] [4.5 Regression] ICE: in emit_move_insn, at expr.c:3432

2010-03-15 Thread matz at gcc dot gnu dot org
--- Comment #6 from matz at gcc dot gnu dot org 2010-03-15 16:15 --- Fixed. I put in a testcase that doesn't need graphite. -- matz at gcc dot gnu dot org changed: What|Removed |

[Bug tree-optimization/43402] New: dom1 miscompiles binary search

2010-03-17 Thread matz at gcc dot gnu dot org
-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: matz at gcc dot gnu dot org GCC host triplet: x86_64-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43402

[Bug tree-optimization/43402] dom1 miscompiles binary search

2010-03-17 Thread matz at gcc dot gnu dot org
--- Comment #1 from matz at gcc dot gnu dot org 2010-03-17 14:02 --- Created an attachment (id=20127) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20127&action=view) testcase Testcase reduced from ucnv_bld.c of libicu -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43402

[Bug tree-optimization/43402] [4.5 Regression] dom1 miscompiles binary search

2010-03-17 Thread matz at gcc dot gnu dot org
--- Comment #3 from matz at gcc dot gnu dot org 2010-03-17 15:31 --- It seems the jump threading somehow confuses cfgcleanup. Right after the jumps are threaded (in tree_ssa_dominator_optimize after the call to thread_through_all_blocks) the function looks like so: : goto

[Bug tree-optimization/43402] [4.5 Regression] dom1 miscompiles binary search

2010-03-17 Thread matz at gcc dot gnu dot org
--- Comment #4 from matz at gcc dot gnu dot org 2010-03-17 15:36 --- Um, we cleanup the CFG before updating SSA form, hence no wonder that the missing PHI nodes confuse it. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43402

[Bug tree-optimization/43402] [4.5 Regression] dom1 miscompiles binary search

2010-03-17 Thread matz at gcc dot gnu dot org
--- Comment #5 from matz at gcc dot gnu dot org 2010-03-17 15:49 --- Hmm, create_edge_and_update_destination_phis is supposed to add new PHI arguments for the ultimate threading destination. But it only does so if there are already PHI nodes in that BB. We need to create new ones

[Bug tree-optimization/43402] [4.5 Regression] dom1 miscompiles binary search

2010-03-17 Thread matz at gcc dot gnu dot org
--- Comment #7 from matz at gcc dot gnu dot org 2010-03-17 16:05 --- Hmm, I wonder how that could cause the bug. Probably because we can't rely on SSA form being uptodate during cfgcleanup, and hence looking up PHI arguments is wrong, at least for those SSA names that are regis

[Bug tree-optimization/43402] [4.5 Regression] dom1 miscompiles binary search

2010-03-17 Thread matz at gcc dot gnu dot org
--- Comment #9 from matz at gcc dot gnu dot org 2010-03-17 17:03 --- http://gcc.gnu.org/ml/gcc-patches/2010-03/msg00774.html -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43402

[Bug tree-optimization/43402] [4.5 Regression] dom1 miscompiles binary search

2010-03-18 Thread matz at gcc dot gnu dot org
--- Comment #10 from matz at gcc dot gnu dot org 2010-03-18 12:21 --- Subject: Bug 43402 Author: matz Date: Thu Mar 18 12:20:50 2010 New Revision: 157538 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=157538 Log: PR tree-optimization/43402 * tree-cfgc

[Bug tree-optimization/43402] [4.5 Regression] dom1 miscompiles binary search

2010-03-18 Thread matz at gcc dot gnu dot org
--- Comment #11 from matz at gcc dot gnu dot org 2010-03-18 12:46 --- Fixed. -- matz at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED

[Bug middle-end/43419] gcc replaces pow(x, 0.5) by sqrt(x), invalid when x is -0

2010-03-18 Thread matz at gcc dot gnu dot org
--- Comment #2 from matz at gcc dot gnu dot org 2010-03-18 14:35 --- Mine. -- matz at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at

[Bug middle-end/43419] gcc replaces pow(x, 0.5) by sqrt(x), invalid when x is -0

2010-03-18 Thread matz at gcc dot gnu dot org
--- Comment #4 from matz at gcc dot gnu dot org 2010-03-18 14:48 --- I checked, and these and similar transformations are always guarded by flag_unsafe_math_optimizations, so we should be fine, unless I missed a case of course. If you notice one, please create a bug report

[Bug middle-end/43419] gcc replaces pow(x, 0.5) by sqrt(x), invalid when x is -0

2010-03-18 Thread matz at gcc dot gnu dot org
--- Comment #6 from matz at gcc dot gnu dot org 2010-03-18 16:08 --- Subject: Bug 43419 Author: matz Date: Thu Mar 18 16:07:53 2010 New Revision: 157543 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=157543 Log: PR middle-end/43419 * bu

[Bug target/43305] [4.4/4.5 Regression] ICE: in emit_unop_insn, at optabs.c:3838 with -Os -ffast-math and ilogbl()

2010-03-18 Thread matz at gcc dot gnu dot org
--- Comment #6 from matz at gcc dot gnu dot org 2010-03-18 16:47 --- Mine. -- matz at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at

[Bug middle-end/43419] gcc replaces pow(x, 0.5) by sqrt(x), invalid when x is -0

2010-03-18 Thread matz at gcc dot gnu dot org
--- Comment #7 from matz at gcc dot gnu dot org 2010-03-18 16:47 --- Fixed. -- matz at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED

[Bug c/43211] [4.5 Regression] ICE: tree check: expected class 'type', have 'exceptional' (error_mark) in useless_type_conversion_p, at tree-ssa.c:1430

2010-03-18 Thread matz at gcc dot gnu dot org
--- Comment #3 from matz at gcc dot gnu dot org 2010-03-18 16:53 --- That would indeed be my preferred approach. The alternative would be to add much "if (x == error_mark_node)" sillyness all over the middle-end, like the front-ends do. The middle-end should be able to

[Bug target/43305] [4.4/4.5 Regression] ICE: in emit_unop_insn, at optabs.c:3838 with -Os -ffast-math and ilogbl()

2010-03-19 Thread matz at gcc dot gnu dot org
--- Comment #7 from matz at gcc dot gnu dot org 2010-03-19 12:37 --- Subject: Bug 43305 Author: matz Date: Fri Mar 19 12:37:28 2010 New Revision: 157567 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=157567 Log: PR 43305 * bu

[Bug target/43305] [4.4/4.5 Regression] ICE: in emit_unop_insn, at optabs.c:3838 with -Os -ffast-math and ilogbl()

2010-03-19 Thread matz at gcc dot gnu dot org
--- Comment #8 from matz at gcc dot gnu dot org 2010-03-19 12:38 --- Fixed. -- matz at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED

[Bug c++/43116] [4.3/4.4/4.5 Regression] ICE when using attributes in a function alias declaration

2010-03-19 Thread matz at gcc dot gnu dot org
--- Comment #3 from matz at gcc dot gnu dot org 2010-03-19 15:33 --- I have a patch: http://gcc.gnu.org/ml/gcc-patches/2010-03/msg00893.html -- matz at gcc dot gnu dot org changed: What|Removed |Added

[Bug c++/43081] [4.3/4.4/4.5 regression] ICE with invalid in-class initializer

2010-03-19 Thread matz at gcc dot gnu dot org
--- Comment #3 from matz at gcc dot gnu dot org 2010-03-19 16:18 --- I have a patch: http://gcc.gnu.org/ml/gcc-patches/2010-03/msg00899.html -- matz at gcc dot gnu dot org changed: What|Removed |Added

[Bug target/43305] [4.4 Regression] ICE: in emit_unop_insn, at optabs.c:3838 with -Os -ffast-math and ilogbl()

2010-03-19 Thread matz at gcc dot gnu dot org
--- Comment #11 from matz at gcc dot gnu dot org 2010-03-19 16:23 --- I'm not sure what you're asking. When the unpatched compiler the testcase (with the printf or the x!=6->abort) will ICE with a checking compiler, and produce wrong output ("0" or an abort) with

[Bug c++/43116] [4.3/4.4/4.5 Regression] ICE when using attributes in a function alias declaration

2010-03-19 Thread matz at gcc dot gnu dot org
--- Comment #4 from matz at gcc dot gnu dot org 2010-03-19 16:37 --- Subject: Bug 43116 Author: matz Date: Fri Mar 19 16:37:27 2010 New Revision: 157578 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=157578 Log: PR c++/43116 * attribs.c (decl_attribute

[Bug c++/43116] [4.3/4.4 Regression] ICE when using attributes in a function alias declaration

2010-03-19 Thread matz at gcc dot gnu dot org
--- Comment #5 from matz at gcc dot gnu dot org 2010-03-19 16:40 --- Fixed for 4.5. Unassigning myself. -- matz at gcc dot gnu dot org changed: What|Removed |Added

[Bug tree-optimization/42963] [4.5 Regression] Redundant switch labels not cleaned up anymore

2010-03-19 Thread matz at gcc dot gnu dot org
--- Comment #2 from matz at gcc dot gnu dot org 2010-03-19 16:55 --- Actually I have a patch for this, need to polish it somewhat. -- matz at gcc dot gnu dot org changed: What|Removed |Added

[Bug debug/42977] [4.5 Regression] "-fcompare-debug failure" with "-O2 -finline-functions -fomit-frame-pointer -ftracer -fsched2-use-superblocks -fPIC"

2010-03-19 Thread matz at gcc dot gnu dot org
--- Comment #5 from matz at gcc dot gnu dot org 2010-03-19 16:59 --- How about not calling cselib_process_insn on DEBUG_INSNs (or better make cselib_process_insn ignore them). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42977

[Bug c++/43081] [4.3/4.4/4.5 regression] ICE with invalid in-class initializer

2010-03-20 Thread matz at gcc dot gnu dot org
--- Comment #4 from matz at gcc dot gnu dot org 2010-03-20 17:00 --- But Simons patch was accepted. Simon: can you simply combine the two testcases into one? No need to artificially lengthen the time for make check. -- matz at gcc dot gnu dot org changed: What

[Bug middle-end/43475] [4.5 Regression] ICE in form_sum, at reload.c:5348

2010-03-22 Thread matz at gcc dot gnu dot org
--- Comment #2 from matz at gcc dot gnu dot org 2010-03-22 11:57 --- optimize_reg_copy_3 misses to replace in notes. Mine. -- matz at gcc dot gnu dot org changed: What|Removed |Added

[Bug debug/42977] [4.5 Regression] "-fcompare-debug failure" with "-O2 -finline-functions -fomit-frame-pointer -ftracer -fsched2-use-superblocks -fPIC"

2010-03-22 Thread matz at gcc dot gnu dot org
--- Comment #9 from matz at gcc dot gnu dot org 2010-03-22 16:01 --- For sched-deps.c there are two calls to cselib_lookup: 1) in sched_analize_1 (for writing to MEM) 2) in sched_analize_2 (for reading a MEM) Regarding (2): cselib_lookup is called on a copy of X (made into T) which

[Bug middle-end/43475] [4.5 Regression] ICE in form_sum, at reload.c:5348

2010-03-22 Thread matz at gcc dot gnu dot org
--- Comment #3 from matz at gcc dot gnu dot org 2010-03-22 16:29 --- Subject: Bug 43475 Author: matz Date: Mon Mar 22 16:28:51 2010 New Revision: 157640 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=157640 Log: PR middle-end/43475 *

[Bug middle-end/43475] [4.5 Regression] ICE in form_sum, at reload.c:5348

2010-03-22 Thread matz at gcc dot gnu dot org
--- Comment #4 from matz at gcc dot gnu dot org 2010-03-22 16:30 --- Fixed. -- matz at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED

[Bug c++/43333] [4.5 Regression] __is_pod seems broken

2010-03-22 Thread matz at gcc dot gnu dot org
--- Comment #8 from matz at gcc dot gnu dot org 2010-03-22 16:34 --- Re comment #6: well, then we still need to fix the c++98 case. Re comment #7: note carefully how I have avoided is_pod<> in the testcase, but instead used the internal mean to implement the former. That

[Bug c++/43333] [4.5 Regression] __is_pod seems broken

2010-03-22 Thread matz at gcc dot gnu dot org
--- Comment #10 from matz at gcc dot gnu dot org 2010-03-22 16:54 --- Hmm, well, but there's code out there that expects the "old" TR1 semantic, namely blocxx, and if the definition is indeed muddled than IMNSHO we should retain the behaviour as it was in older GCC versi

[Bug debug/19192] [4.3/4.4/4.5 Regression] Current development gcc generates inaccurate line info for example code

2010-03-23 Thread matz at gcc dot gnu dot org
--- Comment #14 from matz at gcc dot gnu dot org 2010-03-23 16:16 --- Simply replace the recursive call to expand_expr_real_1 with a call to expand_expr_real. That's the wrapper setting locations. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19192

[Bug debug/19192] [4.3/4.4/4.5 Regression] Current development gcc generates inaccurate line info for example code

2010-03-23 Thread matz at gcc dot gnu dot org
--- Comment #18 from matz at gcc dot gnu dot org 2010-03-23 16:46 --- It should mostly not matter anymore as expand_expr_real_[12] and friends use an explicit location parameter, stored away before expanding operands. But to be safe, yes, expand_expr_real() should instead also restore

[Bug tree-optimization/40436] [4.5 regression] 0.5% code size regression caused by r147852

2010-04-06 Thread matz at gcc dot gnu dot org
--- Comment #28 from matz at gcc dot gnu dot org 2010-04-06 10:34 --- I don't think we should fix the double-accounting bug for the 4.5 series, when we tried it on SPEC it caused several regression, meaning we would need much more fine-tuning. We have time for that fo

[Bug tree-optimization/40436] [4.5 regression] 0.5% code size regression caused by r147852

2010-04-06 Thread matz at gcc dot gnu dot org
--- Comment #33 from matz at gcc dot gnu dot org 2010-04-06 11:09 --- Steven, please note that this PR was proposed WONTFIX for 4.5 already in comment #15. The discussion after that was about something that is only slightly related to this bug, something that wouldn't actually a

[Bug target/43671] [4.4/4.5/4.6 Regression] -fsched2-use-superblocks -m32 produces wrong code with vectorization

2010-04-08 Thread matz at gcc dot gnu dot org
--- Comment #5 from matz at gcc dot gnu dot org 2010-04-08 13:40 --- Um, how can r138953 be the reason when (as the original report says) it's still okay with r153685? In any case, my patch just shuffled around the activation/non-activation of the scheduler, so if at all it expo

[Bug tree-optimization/43186] [4.4 Regression] A loop in tree_unroll_loops_completely never ends

2010-04-08 Thread matz at gcc dot gnu dot org
--- Comment #19 from matz at gcc dot gnu dot org 2010-04-08 14:50 --- This seems rather like a hack for our not-so-capable loop unroller. The estimator already correctly knows that much of it will be optimized away, hence it would make more sense for the code emitter to also not emit

[Bug middle-end/43730] [4.5/4.6 Regression] internal compiler error: in expand_builtin_interclass_mathfn, at builtins.c:2313

2010-04-13 Thread matz at gcc dot gnu dot org
--- Comment #4 from matz at gcc dot gnu dot org 2010-04-13 11:59 --- No, we shouldn't unconditionally create REGs if the target isn't one, but rather only if it doesn't match the predicate. Like so, which I'm testing right now

[Bug middle-end/43730] [4.5/4.6 Regression] internal compiler error: in expand_builtin_interclass_mathfn, at builtins.c:2313

2010-04-13 Thread matz at gcc dot gnu dot org
--- Comment #5 from matz at gcc dot gnu dot org 2010-04-13 13:35 --- Subject: Bug 43730 Author: matz Date: Tue Apr 13 13:35:30 2010 New Revision: 158268 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=158268 Log: PR middle-end/43730 * bu

[Bug middle-end/43730] [4.5/4.6 Regression] internal compiler error: in expand_builtin_interclass_mathfn, at builtins.c:2313

2010-04-13 Thread matz at gcc dot gnu dot org
--- Comment #6 from matz at gcc dot gnu dot org 2010-04-13 13:47 --- Subject: Bug 43730 Author: matz Date: Tue Apr 13 13:47:11 2010 New Revision: 158270 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=158270 Log: PR middle-end/43730 * bu

[Bug middle-end/43730] [4.5/4.6 Regression] internal compiler error: in expand_builtin_interclass_mathfn, at builtins.c:2313

2010-04-13 Thread matz at gcc dot gnu dot org
--- Comment #7 from matz at gcc dot gnu dot org 2010-04-13 13:54 --- Fixed. -- matz at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED

[Bug tree-optimization/42963] [4.5/4.6 Regression] Redundant switch labels not cleaned up anymore

2010-04-14 Thread matz at gcc dot gnu dot org
--- Comment #6 from matz at gcc dot gnu dot org 2010-04-14 14:51 --- Subject: Bug 42963 Author: matz Date: Wed Apr 14 14:50:33 2010 New Revision: 158345 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=158345 Log: PR tree-optimization/42963 * tr

[Bug tree-optimization/42963] [4.5 Regression] Redundant switch labels not cleaned up anymore

2010-04-14 Thread matz at gcc dot gnu dot org
--- Comment #7 from matz at gcc dot gnu dot org 2010-04-14 14:53 --- Fixed for 4.6. I propose to WONTFIX this for 4.5. -- matz at gcc dot gnu dot org changed: What|Removed |Added

[Bug middle-end/43835] New: IPA-SRA doesn't rewrite attributes

2010-04-21 Thread matz at gcc dot gnu dot org
esn't rewrite attributes Product: gcc Version: 4.6.0 Status: UNCONFIRMED Keywords: wrong-code Severity: normal Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy

[Bug middle-end/43835] IPA-SRA doesn't rewrite attributes

2010-04-21 Thread matz at gcc dot gnu dot org
--- Comment #1 from matz at gcc dot gnu dot org 2010-04-21 15:08 --- Created an attachment (id=20454) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20454&action=view) testcase # gcc -O2 sra-nonnull.c && ./a.out Segmentation fault -- http://gcc.gnu.org/bugzil

[Bug tree-optimization/41905] [4.5 Regression] ICE with __attribute__((noreturn))

2009-11-26 Thread matz at gcc dot gnu dot org
--- Comment #3 from matz at gcc dot gnu dot org 2009-11-26 14:50 --- I have a patch. -- matz at gcc dot gnu dot org changed: What|Removed |Added AssignedTo

[Bug tree-optimization/41905] [4.5 Regression] ICE with __attribute__((noreturn))

2009-11-26 Thread matz at gcc dot gnu dot org
--- Comment #4 from matz at gcc dot gnu dot org 2009-11-26 15:58 --- Fixed in r154674. -- matz at gcc dot gnu dot org changed: What|Removed |Added Status

[Bug c++/41906] [4.5 Regression] ICE with catch(...) and -fpermissive

2009-11-26 Thread matz at gcc dot gnu dot org
--- Comment #2 from matz at gcc dot gnu dot org 2009-11-26 16:51 --- I have a patch: http://gcc.gnu.org/ml/gcc-patches/2009-11/msg01474.html -- matz at gcc dot gnu dot org changed: What|Removed |Added

[Bug c++/41906] [4.5 Regression] ICE with catch(...) and -fpermissive

2009-11-27 Thread matz at gcc dot gnu dot org
--- Comment #3 from matz at gcc dot gnu dot org 2009-11-27 13:09 --- Subject: Bug 41906 Author: matz Date: Fri Nov 27 13:08:58 2009 New Revision: 154704 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=154704 Log: PR c++/41906 * tree-eh.c (lower_catch): St

[Bug c++/41906] [4.5 Regression] ICE with catch(...) and -fpermissive

2009-11-27 Thread matz at gcc dot gnu dot org
--- Comment #4 from matz at gcc dot gnu dot org 2009-11-27 13:26 --- Fixed. -- matz at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED

[Bug rtl-optimization/42084] [4.5 Regression] Wrong result with -Os -fno-delete-null-pointer-checks

2009-11-27 Thread matz at gcc dot gnu dot org
--- Comment #6 from matz at gcc dot gnu dot org 2009-11-27 14:25 --- Mine. -- matz at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at

[Bug rtl-optimization/42084] [4.5 Regression] Wrong result with -Os -fno-delete-null-pointer-checks

2009-11-27 Thread matz at gcc dot gnu dot org
--- Comment #7 from matz at gcc dot gnu dot org 2009-11-27 15:36 --- Subject: Bug 42084 Author: matz Date: Fri Nov 27 15:35:50 2009 New Revision: 154709 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=154709 Log: PR rtl-optimization/42084 * cfg

[Bug rtl-optimization/42084] [4.5 Regression] Wrong result with -Os -fno-delete-null-pointer-checks

2009-11-27 Thread matz at gcc dot gnu dot org
--- Comment #8 from matz at gcc dot gnu dot org 2009-11-27 15:37 --- Fixed. -- matz at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED

[Bug tree-optimization/42027] [4.5 Regression] Performance regression in convolution loop optimization

2009-12-01 Thread matz at gcc dot gnu dot org
--- Comment #5 from matz at gcc dot gnu dot org 2009-12-01 11:24 --- Hmpf, something fishy is going on, as this patch should have been only refactoring without influence on the generated code. I'll look at it. -- matz at gcc dot gnu dot org changed: What|Re

[Bug middle-end/38474] [Meta] slow compilation at -O0 (callgraph optimization, inline heuristics, expand )

2009-12-03 Thread matz at gcc dot gnu dot org
--- Comment #42 from matz at gcc dot gnu dot org 2009-12-03 13:36 --- Subject: Bug 38474 Author: matz Date: Thu Dec 3 13:36:32 2009 New Revision: 154945 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=154945 Log: PR middle-end/38474 * cfgexpand.c

[Bug middle-end/38474] [Meta] slow compilation at -O0 (callgraph optimization, inline heuristics, expand )

2009-12-03 Thread matz at gcc dot gnu dot org
--- Comment #44 from matz at gcc dot gnu dot org 2009-12-03 21:05 --- I'm glad. I plan to work on also the other slow part of expand, which is the temp slot goo, but a full solution requires touching very old and stable parts of GCC, hence is IMO nothing for stage 3. I have an ob

[Bug middle-end/38474] [Meta] slow compilation at -O0 (callgraph optimization, inline heuristics, expand )

2009-12-08 Thread matz at gcc dot gnu dot org
--- Comment #45 from matz at gcc dot gnu dot org 2009-12-08 13:56 --- Subject: Bug 38474 Author: matz Date: Tue Dec 8 13:56:06 2009 New Revision: 155087 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=155087 Log: PR middle-end/38474 * function.c (free_te

[Bug tree-optimization/42027] [4.5 Regression] Performance regression in convolution loop optimization

2009-12-13 Thread matz at gcc dot gnu dot org
--- Comment #6 from matz at gcc dot gnu dot org 2009-12-13 21:51 --- Subject: Bug 42027 Author: matz Date: Sun Dec 13 21:51:34 2009 New Revision: 155196 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=155196 Log: PR tree-optimization/42027 * dojump.c

[Bug tree-optimization/42027] [4.5 Regression] Performance regression in convolution loop optimization

2009-12-13 Thread matz at gcc dot gnu dot org
--- Comment #7 from matz at gcc dot gnu dot org 2009-12-13 21:53 --- Fixed. -- matz at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED

[Bug tree-optimization/42357] [4.5 Regression] another ice in create_tmp_var

2009-12-13 Thread matz at gcc dot gnu dot org
--- Comment #6 from matz at gcc dot gnu dot org 2009-12-13 21:57 --- Mark it so. -- matz at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED

[Bug tree-optimization/42108] [4.4/4.5 Regression] 50% performance regression

2009-12-13 Thread matz at gcc dot gnu dot org
--- Comment #25 from matz at gcc dot gnu dot org 2009-12-13 23:48 --- The reason that the testcase still is slow (and that the inner loop isn't unrolled or vectorized) is still the calculation of countm1. The division therein stays in the second inner loop, whereas with GCC 4.3 i

[Bug tree-optimization/42108] [4.4/4.5 Regression] 50% performance regression

2009-12-13 Thread matz at gcc dot gnu dot org
--- Comment #26 from matz at gcc dot gnu dot org 2009-12-14 04:55 --- And if I fix this problem (so that only one reference to *n_9) remains I hit the problem that the fortran frontend emits the computation of countm1 after the loop bound test. No pass is moving code in front of that

[Bug tree-optimization/42108] [4.4/4.5 Regression] 50% performance regression

2009-12-13 Thread matz at gcc dot gnu dot org
--- Comment #27 from matz at gcc dot gnu dot org 2009-12-14 05:25 --- Created an attachment (id=19287) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19287&action=view) three hacks My current collection of patches and hacks for this problem. Obviously the "if (0)&

[Bug tree-optimization/42108] [4.4/4.5 Regression] 50% performance regression

2009-12-14 Thread matz at gcc dot gnu dot org
--- Comment #35 from matz at gcc dot gnu dot org 2009-12-14 16:58 --- Exactly my thinking (growing SCCs -> slow, sorting SCCs -> difficult). What I thought about the trapping problem is that in this situation we could ignore the trap test. We start with this situation: bb1: go

[Bug middle-end/41082] [4.5 Regression] FAIL: gfortran.fortran-torture/execute/where_2.f90 execution, -O3 -g with -m64

2009-12-16 Thread matz at gcc dot gnu dot org
--- Comment #22 from matz at gcc dot gnu dot org 2009-12-16 23:36 --- My patch only enables more vectorization. This seems to uncover a problem in the vectorizer (which I haven't yet looked at). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41082

[Bug tree-optimization/42027] [4.5 Regression] Performance regression in convolution loop optimization

2009-12-16 Thread matz at gcc dot gnu dot org
--- Comment #14 from matz at gcc dot gnu dot org 2009-12-16 23:43 --- That's exactly what I fixed with my last patch. If this still results in a difference it's caused by difference in cheapness of branches. I'll poke at it. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42027

[Bug tree-optimization/42027] [4.5 Regression] Performance regression in convolution loop optimization

2009-12-16 Thread matz at gcc dot gnu dot org
--- Comment #15 from matz at gcc dot gnu dot org 2009-12-17 00:27 --- Hmm, no, it's still my fault. Something must have gone wrong with my brain when I thought the bug was fixed, no idea how that happened. The patch wasn't complete. -- matz at gcc dot gnu dot o

[Bug tree-optimization/42027] [4.5 Regression] Performance regression in convolution loop optimization

2009-12-16 Thread matz at gcc dot gnu dot org
--- Comment #16 from matz at gcc dot gnu dot org 2009-12-17 01:42 --- Created an attachment (id=19332) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19332&action=view) Real fix Now, before I blow it again, would you be so kind to test this patch (on top of some recen

[Bug tree-optimization/42108] [4.4/4.5 Regression] 50% performance regression

2009-12-18 Thread matz at gcc dot gnu dot org
--- Comment #40 from matz at gcc dot gnu dot org 2009-12-18 21:40 --- That's expected. There are three problems and the patch in comment #38 hacks around only one of them. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42108

[Bug lto/42401] wrong-code with -flto

2009-12-18 Thread matz at gcc dot gnu dot org
--- Comment #5 from matz at gcc dot gnu dot org 2009-12-19 01:19 --- To explain: the miscompilation is a result of the cloner (when cloning for the find() call) creating a new tree for a local static variable (the 'm' in main). After inlining we have: if ( &mD.2

<    1   2   3   4   5   >