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

2009-12-18 Thread matz at gcc dot gnu dot org
--- Comment #6 from matz at gcc dot gnu dot org 2009-12-19 02:33 --- Ah, because the references to trees are not handled via the write_cache hashtable, but via the per-kind stream (in output_block.decl_state), which is not realloced on create_output_block, but only on lto_push

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

2009-12-19 Thread matz at gcc dot gnu dot org
--- Comment #19 from matz at gcc dot gnu dot org 2009-12-20 01:16 --- Subject: Bug 42027 Author: matz Date: Sun Dec 20 01:15:46 2009 New Revision: 155367 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=155367 Log: PR tree-optimization/42027 * cfg

[Bug target/42324] Gcc doesn't follow x86-64 psABI on _Bool

2010-01-13 Thread matz at gcc dot gnu dot org
--- Comment #12 from matz at gcc dot gnu dot org 2010-01-13 12:08 --- The ABI (http://www.x86-64.org/documentation/abi.pdf) now contains this language: When a value of type \code{_Bool} is returned or passed in a register or on the stack, bit 0 contains the truth

[Bug target/42324] Gcc doesn't follow x86-64 psABI on _Bool

2010-01-13 Thread matz at gcc dot gnu dot org
--- Comment #14 from matz at gcc dot gnu dot org 2010-01-13 14:33 --- Yeah, I started to use micro version numbers, but I can't write to the html file on that webserver, only to the subdirectory containing the PDFs. See http://www.x86-64.org/documentation/ for a listing. The cu

[Bug target/42324] Gcc doesn't follow x86-64 psABI on _Bool

2010-01-13 Thread matz at gcc dot gnu dot org
--- Comment #16 from matz at gcc dot gnu dot org 2010-01-13 14:49 --- We have a mailing list already, I don't think we need another one. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42324

[Bug tree-optimization/42719] "-fcompare-debug failure" with "-O2 -ftracer"

2010-01-14 Thread matz at gcc dot gnu dot org
--- Comment #3 from matz at gcc dot gnu dot org 2010-01-14 15:56 --- This code and var-tracking was developed in parallel, that's why debug insns are sometimes not handled correctly in the new out-of-ssa stuff. In this case debug insns should probably be ignored, and not le

[Bug tree-optimization/42719] "-fcompare-debug failure" with "-O2 -ftracer"

2010-01-14 Thread matz at gcc dot gnu dot org
--- Comment #5 from matz at gcc dot gnu dot org 2010-01-14 16:17 --- I don't think the big hammer is necessary. trivially_conflicts_p only is a heuristic predicate influencing how other code is emitted. That other code needs to handle them already, otherwise more transformations

[Bug c++/42758] ICE on assert() in function with complex(?) template argument

2010-01-15 Thread matz at gcc dot gnu dot org
--- Comment #3 from matz at gcc dot gnu dot org 2010-01-15 15:06 --- input_location handling is broken. (gdb) bt #0 0x7704a7c3 in strcmp () from /lib64/libc.so.6 #1 0x011be858 in splay_tree_splay (sp=0x1824110, key=0) at ../../gcc/libiberty/splay-tree.c:148 #2

[Bug middle-end/19988] [4.3/4.4/4.5 Regression] pessimizes fp multiply-add/subtract combo

2010-01-16 Thread matz at gcc dot gnu dot org
--- Comment #20 from matz at gcc dot gnu dot org 2010-01-16 20:10 --- It obviously could do the same. It all depends on the answer to this question: Do we want to deal with this via canonicalization of expressions, and if yes, then also on the outcome of our discussion of where

[Bug debug/42800] [4.5 Regression] VLA DW_AT_upper_bound is no longer emitted

2010-01-19 Thread matz at gcc dot gnu dot org
--- Comment #2 from matz at gcc dot gnu dot org 2010-01-19 15:49 --- What's the brokenness? The missing upper bound in the subrange type? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42800

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

2010-01-19 Thread matz at gcc dot gnu dot org
--- Comment #16 from matz at gcc dot gnu dot org 2010-01-19 16:06 --- Subject: Bug 41783 Author: matz Date: Tue Jan 19 16:05:57 2010 New Revision: 156043 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=156043 Log: PR tree-optimization/41783 * tree-da

[Bug tree-optimization/41879] [4.5 Regression] 172.mgrid regression, vectorizer prevents predictive commoning

2010-01-20 Thread matz at gcc dot gnu dot org
--- Comment #9 from matz at gcc dot gnu dot org 2010-01-20 14:42 --- See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35418#c8 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41879

[Bug target/42881] [4.5 Regression] SSE2 intrinsics miscompiled at -O0 -march=k8

2010-01-27 Thread matz at gcc dot gnu dot org
--- Comment #2 from matz at gcc dot gnu dot org 2010-01-27 17:28 --- I'm testing a patch. It's target code, not ssa expand. -- matz at gcc dot gnu dot org changed: What|Removed

[Bug target/42881] [4.5 Regression] SSE2 intrinsics miscompiled at -O0 -march=k8

2010-01-28 Thread matz at gcc dot gnu dot org
--- Comment #3 from matz at gcc dot gnu dot org 2010-01-28 14:12 --- Subject: Bug 42881 Author: matz Date: Thu Jan 28 14:11:34 2010 New Revision: 156320 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=156320 Log: PR target/42881 * config/i38

[Bug target/42881] [4.5 Regression] SSE2 intrinsics miscompiled at -O0 -march=k8

2010-01-28 Thread matz at gcc dot gnu dot org
--- Comment #4 from matz at gcc dot gnu dot org 2010-01-28 14:40 --- Fixed. -- matz at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED

[Bug c/42907] -fstrict-aliasing breaks valid code

2010-01-31 Thread matz at gcc dot gnu dot org
--- Comment #28 from matz at gcc dot gnu dot org 2010-01-31 20:34 --- fejj: To see how your initial code is broken, I've transformed it a bit to show you how it already is "miscompiled" with earlier compilers. I've manually unrolled the loop, and hoisted the two

[Bug middle-end/42919] [4.3/4.4/4.5 Regression] Argument unnecessarily spilled

2010-01-31 Thread matz at gcc dot gnu dot org
--- Comment #3 from matz at gcc dot gnu dot org 2010-02-01 00:21 --- 3.4 had this as initial RTL: (insn 3 2 4 (set (reg:DI 60) (mem/f:DI (reg/f:SI 53 virtual-incoming-args) [2 a+0 S8 A32])) -1 (nil) (expr_list:REG_EQUIV (mem/f:DI (reg/f:SI 53 virtual-incoming-args) [2

[Bug middle-end/42919] [4.3/4.4/4.5 Regression] Argument unnecessarily spilled

2010-01-31 Thread matz at gcc dot gnu dot org
--- Comment #4 from matz at gcc dot gnu dot org 2010-02-01 02:41 --- Well, actually it depends. The code generated by 3.4 might theoretically be slower, because it potentially uses a misaligned stack slot (incoming stack with -m32 only 4 byte aligned). With -mpreferred-stack-boundary

[Bug middle-end/42919] [4.3/4.4/4.5 Regression] Argument unnecessarily spilled

2010-01-31 Thread matz at gcc dot gnu dot org
--- Comment #5 from matz at gcc dot gnu dot org 2010-02-01 02:53 --- He, Alan already conjectured this problem: http://gcc.gnu.org/ml/gcc-patches/2005-01/msg01182.html -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42919

[Bug middle-end/42898] [4.5 Regression] volatile structures and compound literal initializers

2010-01-31 Thread matz at gcc dot gnu dot org
--- Comment #18 from matz at gcc dot gnu dot org 2010-02-01 03:13 --- See comment #11 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42898

[Bug middle-end/42919] [4.3/4.4/4.5 Regression] Argument unnecessarily spilled

2010-02-01 Thread matz at gcc dot gnu dot org
--- Comment #7 from matz at gcc dot gnu dot org 2010-02-01 11:53 --- Or making STRICT_ALIGNMENT depend on the type or mode. So that e.g. "!align(8) && align(4) && !STRICT_ALIGN(long long)" would be acceptable, but "!align(16) && STRICT_ALIGN(m12

[Bug c/42907] -fstrict-aliasing breaks valid code

2010-02-01 Thread matz at gcc dot gnu dot org
--- Comment #30 from matz at gcc dot gnu dot org 2010-02-01 12:24 --- See comment #3 for how (newer) GCC does warn at line 15. Not with the default options, though, but this has good reasons (too many false positives). You are right that we should be able to improve our diagnostics in

[Bug rtl-optimization/42952] [4.5 Regression] possible integer wrong code bug

2010-02-04 Thread matz at gcc dot gnu dot org
--- Comment #6 from matz at gcc dot gnu dot org 2010-02-04 15:03 --- Re comment #4, there are two possibilities to fix this: 1) as you say, don't regard MEM addresses (i.e. used in double indirection) as const_or_frame_p, because that would put different (but runtime-same)

[Bug middle-end/42972] Very bad bit field code

2010-02-05 Thread matz at gcc dot gnu dot org
--- Comment #5 from matz at gcc dot gnu dot org 2010-02-05 15:36 --- The code for the if() looks sane on x86-64: - ;; if (D.2729_8 != 0) (insn 16 15 17 pr42972.c:10 (set (reg:QI 87) (mem/s:QI (reg/f:DI 82 [ D.2727 ]) [0 S1 A32])) -1 (nil

[Bug tree-optimization/43784] [4.6 Regression] -Os -fkeep-inline-functions causes FAIL: gcc.c-torture/execute/builtins/pr22237.c execution

2010-07-26 Thread matz at gcc dot gnu dot org
--- Comment #9 from matz at gcc dot gnu dot org 2010-07-26 15:06 --- Here's a testcase (nicer in the sense of not requiring inlining) that shows the current compiler botching the nrv <-> retslot optimizations: struct S {int x, y, makemelarge[5];}; S __attribute__((noinlin

[Bug c++/45249] Indirect variable parameters sometimes cause segmentation fault

2010-08-11 Thread matz at gcc dot gnu dot org
--- Comment #20 from matz at gcc dot gnu dot org 2010-08-11 16:10 --- A conforming variant of what you probably are trying to code is: #include #include void format_indirect(char* dst_buffer, size_t

[Bug c++/45265] GCC has an intermittent bug when computing the address of function parameters

2010-08-12 Thread matz at gcc dot gnu dot org
--- Comment #10 from matz at gcc dot gnu dot org 2010-08-12 16:00 --- Ahh, it's just so entertaining. C99 is a language, cdecl a calling convention. There is no 'cdecl compiler', it makes no sense to speak about such a thing. cdecl is a calling convention for function

[Bug c++/45265] GCC has an intermittent bug when computing the address of function parameters

2010-08-12 Thread matz at gcc dot gnu dot org
--- Comment #27 from matz at gcc dot gnu dot org 2010-08-12 18:05 --- Oh, this fun. Enjoyable, really! ;-) So, you admit that MSVC does in fact "miscompile" your perfectly fine cdecl code, if you request optimization from it? How bad is that of them? Terrible! I woul

[Bug c++/45265] GCC has an intermittent bug when computing the address of function parameters

2010-08-12 Thread matz at gcc dot gnu dot org
--- Comment #33 from matz at gcc dot gnu dot org 2010-08-12 18:56 --- > Don't talk about what you don't know, you clearly know much less about the > old days than me. Well, I'll grant you that you know many wondrous and astounding "facts", indeed.

[Bug c++/45265] GCC has an intermittent bug when computing the address of function parameters

2010-08-13 Thread matz at gcc dot gnu dot org
--- Comment #35 from matz at gcc dot gnu dot org 2010-08-13 13:00 --- > char* p1=(char*)0x3000; // address not pointing to any "C-object in the C99 > sense" > char* p2=(char*)0x4000; // address not pointing to any "C-object in the C99 > sense" > &g

[Bug c++/45265] GCC has an intermittent bug when computing the address of function parameters

2010-08-13 Thread matz at gcc dot gnu dot org
--- Comment #36 from matz at gcc dot gnu dot org 2010-08-13 13:14 --- > > If you include real segmentation > > like on 80286, where there's no linear relationship between effective > > address and segment+offset, subtraction would have been prohibitively >

[Bug c++/45265] GCC has an intermittent bug when computing the address of function parameters

2010-08-13 Thread matz at gcc dot gnu dot org
--- Comment #41 from matz at gcc dot gnu dot org 2010-08-13 15:18 --- You should really adjust your glasses if you want to continue trolling with the high standards we're used to meanwhile: > > What in the words "real segmentation like on 286, where there's no li

[Bug c++/45265] GCC has an intermittent bug when computing the address of function parameters

2010-08-13 Thread matz at gcc dot gnu dot org
--- Comment #42 from matz at gcc dot gnu dot org 2010-08-13 15:25 --- > > [ ] Yes > > [x] No > > Thanks. The comunity will be alerted to this. I'll get back to you when > your name is in some famous place associated with this claim. That's very good. Th

[Bug c++/45265] GCC has an intermittent bug when computing the address of function parameters

2010-08-13 Thread matz at gcc dot gnu dot org
--- Comment #51 from matz at gcc dot gnu dot org 2010-08-14 01:26 --- > There you go, you are now famous. > http://en.wikipedia.org/wiki/GNU_Compiler_Collection#Criticism Thank you, that's encouraging, I just hope the language of that article won't be changed too much

[Bug c/45289] gcc lacks a "posix" option for "-std" since POSIX 2008 defines special behavior

2010-08-15 Thread matz at gcc dot gnu dot org
--- Comment #5 from matz at gcc dot gnu dot org 2010-08-15 21:07 --- First, yes, the work-around from the official POSIX man-pages is alias-unsafe. They added this example because ISO C doesn't allow conversion of void* pointers to function pointer, but dlsym returns a void* po

[Bug c/45289] gcc lacks a "posix" option for "-std" since POSIX 2008 defines special behavior

2010-08-15 Thread matz at gcc dot gnu dot org
--- Comment #8 from matz at gcc dot gnu dot org 2010-08-16 00:55 --- Well, okay, (3) indeed is valid ISO C (no warning) and works on POSIX 2008. I'd find it very awkward to write such work-around for (1) just so the warning in strict ISO C mode is silenced. I find this case diff

[Bug middle-end/45415] [4.6 Regression] ICE in partition_view_bitmap, at tree-ssa-live.c:334

2010-09-02 Thread matz at gcc dot gnu dot org
--- Comment #3 from matz at gcc dot gnu dot org 2010-09-02 12:58 --- Mine. I'm adding some checking code too. -- matz at gcc dot gnu dot org changed: What|Removed |

[Bug ada/45499] New: Ada bootstrap broken

2010-09-02 Thread matz at gcc dot gnu dot org
s file from the sourcedir of make.adb. This is contrary to the documentation of '-I-' which is used here for a reason I guess. -- Summary: Ada bootstrap broken Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Prio

[Bug middle-end/45415] [4.6 Regression] ICE in partition_view_bitmap, at tree-ssa-live.c:334

2010-09-03 Thread matz at gcc dot gnu dot org
--- Comment #4 from matz at gcc dot gnu dot org 2010-09-03 14:43 --- Subject: Bug 45415 Author: matz Date: Fri Sep 3 14:42:46 2010 New Revision: 163822 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=163822 Log: PR middle-end/45415 * tr

[Bug middle-end/45415] [4.6 Regression] ICE in partition_view_bitmap, at tree-ssa-live.c:334

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

[Bug tree-optimization/43430] Missed vectorization: "stmt not supported: cond_expr"

2010-09-07 Thread matz at gcc dot gnu dot org
--- Comment #7 from matz at gcc dot gnu dot org 2010-09-07 13:24 --- The remaining problem is the support for ncopies > 1 in vectorizable_condition. http://gcc.gnu.org/ml/gcc-patches/2010-09/msg00550.html implements this. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43430

[Bug tree-optimization/43432] Missed vectorization: "complicated access pattern" for increasing and decreasing data indexing

2010-09-07 Thread matz at gcc dot gnu dot org
--- Comment #2 from matz at gcc dot gnu dot org 2010-09-07 13:27 --- The patch at http://gcc.gnu.org/ml/gcc-patches/2010-09/msg00548.html implements support for consecutive loads with negative step. It will vectorize the first testcase. But not the second one because it only handled

[Bug tree-optimization/43434] Missed vectorization: "not vectorized: data ref analysis": pointer incremented by a parameter

2010-09-07 Thread matz at gcc dot gnu dot org
--- Comment #5 from matz at gcc dot gnu dot org 2010-09-07 13:42 --- Since Ira implemented unaligned support in SLP mode we get somewhat further, but not much. If complete unrolling is active that we can't disambiguate between *s and *(s+stride). That is correct because stri

[Bug tree-optimization/33244] Missed opportunities for vectorization due to PRE

2010-09-07 Thread matz at gcc dot gnu dot org
--- Comment #2 from matz at gcc dot gnu dot org 2010-09-07 14:41 --- Since the fix for PR44710 we can if-convert the conditions in the inner loop. With http://gcc.gnu.org/ml/gcc-patches/2010-09/msg00542.html we also make sure that the latch block isn't filled, which in turn

[Bug tree-optimization/33244] Missed opportunities for vectorization due to PRE

2010-09-08 Thread matz at gcc dot gnu dot org
--- Comment #3 from matz at gcc dot gnu dot org 2010-09-08 12:35 --- Subject: Bug 33244 Author: matz Date: Wed Sep 8 12:34:52 2010 New Revision: 163998 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=163998 Log: PR tree-optimization/33244 * tree-ss

[Bug tree-optimization/43430] Missed vectorization: "stmt not supported: cond_expr"

2010-09-08 Thread matz at gcc dot gnu dot org
--- Comment #8 from matz at gcc dot gnu dot org 2010-09-08 12:40 --- Subject: Bug 43430 Author: matz Date: Wed Sep 8 12:40:24 2010 New Revision: 163999 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=163999 Log: PR tree-optimization/43430 * tree-vect

[Bug tree-optimization/45656] [4.5 Regression]: gfortran.dg/forall_4.f90 -O3, wrong code with -g

2010-09-13 Thread matz at gcc dot gnu dot org
--- Comment #2 from matz at gcc dot gnu dot org 2010-09-13 14:21 --- Uh, I just disabled tree-sinking in some cases. This can't be directly the reason for the problem, rather it must have uncovered a latent problem. Will try to investigate. -- http://gcc.gnu.org/bug

[Bug tree-optimization/43432] Missed vectorization: "complicated access pattern" for increasing and decreasing data indexing

2010-09-17 Thread matz at gcc dot gnu dot org
--- Comment #3 from matz at gcc dot gnu dot org 2010-09-17 13:26 --- Subject: Bug 43432 Author: matz Date: Fri Sep 17 13:26:43 2010 New Revision: 164367 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=164367 Log: PR tree-optimization/43432 * tree-vect-dat

[Bug rtl-optimization/45685] [4.6 Regression] GCC optimizer for Intel x64 generates inefficient code

2010-09-17 Thread matz at gcc dot gnu dot org
--- Comment #7 from matz at gcc dot gnu dot org 2010-09-17 13:45 --- It might have been exposed by that revision, but that merely points out a deficiency in RTL if conversion. The final gimple code doesn't have explicit jumps in the inner loop, but uses cond_expr: : # s_22 = P

[Bug middle-end/45706] [4.6 regression] gcc.dg/vect/vect-114.c

2010-09-17 Thread matz at gcc dot gnu dot org
--- Comment #1 from matz at gcc dot gnu dot org 2010-09-17 16:12 --- This passes for me, even in -m32 mode (if -msse is added, like vect.exp does): % ./cc1 -ftree-vectorize -fno-vect-cost-model -msse2 -O2 \ vect-114.c -ftree-vectorizer-verbose=2 2>&1 | grep note: vect-114.c:1

[Bug middle-end/45706] [4.6 regression] gcc.dg/vect/vect-114.c

2010-09-20 Thread matz at gcc dot gnu dot org
--- Comment #4 from matz at gcc dot gnu dot org 2010-09-20 11:07 --- Whoops. Yeah, I only added x86_64-*-* to the vect_perm targets. Obviously, as sse2 is active by default for the vectorizer testsuite I also need to add the i?86-*-* targets. H.J., can you try with this patch on a

[Bug tree-optimization/45733] [4.6 Regression] ICE: verify_stmts failed: invalid conversion in gimple call with -fstrict-overflow -ftree-vectorize

2010-09-20 Thread matz at gcc dot gnu dot org
--- Comment #4 from matz at gcc dot gnu dot org 2010-09-20 13:17 --- Yeah, probably some fold_convert is missing in reverse_vec_elements() in case the type of the args or the return type of the chosen builtin decl don't exactly match. -- http://gcc.gnu.org/bugzilla/show_bug.c

[Bug middle-end/45706] [4.6 regression] gcc.dg/vect/vect-114.c

2010-09-20 Thread matz at gcc dot gnu dot org
--- Comment #6 from matz at gcc dot gnu dot org 2010-09-20 14:12 --- Subject: Bug 45706 Author: matz Date: Mon Sep 20 14:12:04 2010 New Revision: 164433 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=164433 Log: PR testsuite/45706 * lib/target-supp

[Bug testsuite/45706] [4.6 regression] gcc.dg/vect/vect-114.c

2010-09-20 Thread matz at gcc dot gnu dot org
--- Comment #7 from matz at gcc dot gnu dot org 2010-09-20 14:14 --- Fixed. -- matz at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED

[Bug testsuite/45706] [4.6 regression] gcc.dg/vect/vect-114.c

2010-09-20 Thread matz at gcc dot gnu dot org
--- Comment #8 from matz at gcc dot gnu dot org 2010-09-20 14:45 --- Subject: Bug 45706 Author: matz Date: Mon Sep 20 14:45:30 2010 New Revision: 164435 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=164435 Log: PR testsuite/45706 * gcc.dg/vect/pr43432.

[Bug tree-optimization/43984] PRE misses full-redundancies, inserts into loops

2010-05-05 Thread matz at gcc dot gnu dot org
--- Comment #4 from matz at gcc dot gnu dot org 2010-05-05 12:35 --- Ah, another case of a patch I held back for 4.6 to open, and then forgetting about it :-/ -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43984

[Bug tree-optimization/43984] PRE misses full-redundancies, inserts into loops

2010-05-05 Thread matz at gcc dot gnu dot org
--- Comment #6 from matz at gcc dot gnu dot org 2010-05-05 13:32 --- PRE seems to have done this since forever. All edge inserts are delayed if the _immediate forms aren't used. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43984

[Bug tree-optimization/43984] PRE misses full-redundancies, inserts into loops

2010-05-06 Thread matz at gcc dot gnu dot org
--- Comment #9 from matz at gcc dot gnu dot org 2010-05-06 13:55 --- Subject: Bug 43984 Author: matz Date: Thu May 6 13:54:32 2010 New Revision: 159106 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=159106 Log: PR tree-optimization/43984 * tree-s

[Bug middle-end/44492] auto-inc-dec pushes PRE_MODIFY/PRE_INC into inline asm operands

2010-06-10 Thread matz at gcc dot gnu dot org
--- Comment #12 from matz at gcc dot gnu dot org 2010-06-10 12:26 --- I don't think it ever was intended that 'm' includes operands with embedded side-effects. I don't think so because making this work reliably is relatively difficult. In particular the tests that

[Bug middle-end/44492] auto-inc-dec pushes PRE_MODIFY/PRE_INC into inline asm operands

2010-06-10 Thread matz at gcc dot gnu dot org
--- Comment #17 from matz at gcc dot gnu dot org 2010-06-10 13:34 --- > "m" is defined to be the most general memory constraint, and a pre/post > modified memory operand is still a memory operand. I know that this is the case, which is why I said: "If that means t

[Bug target/44542] expand_one_stack_var_at may set DECL_ALIGN to a too high value

2010-06-15 Thread matz at gcc dot gnu dot org
--- Comment #1 from matz at gcc dot gnu dot org 2010-06-15 11:19 --- We have a slightly problematic ordering issue here. Here's what I think should be made the case: DECL_ALIGN should not matter after expansion, we have MEM_ALIGN for that. (and for calculating offsets from

[Bug target/44542] expand_one_stack_var_at may set DECL_ALIGN to a too high value

2010-06-15 Thread matz at gcc dot gnu dot org
--- Comment #4 from matz at gcc dot gnu dot org 2010-06-15 13:40 --- Can you try to instead do the stack-estimation only when really_expand is false? The issue is, we see all variables (or we _should_ see) exactly twice, once for estimation, once for generating the DECL_RTL. The code

[Bug target/44542] expand_one_stack_var_at may set DECL_ALIGN to a too high value

2010-06-15 Thread matz at gcc dot gnu dot org
--- Comment #5 from matz at gcc dot gnu dot org 2010-06-15 13:50 --- Oh, and yes, I agree that in expand_one_stack_var_at (only called when really_expand == true) we should limit align to $something. I'm just not sure what $something is. crtl->stack_alignment_estimated is no

[Bug target/44542] expand_one_stack_var_at may set DECL_ALIGN to a too high value

2010-06-15 Thread matz at gcc dot gnu dot org
--- Comment #7 from matz at gcc dot gnu dot org 2010-06-15 14:56 --- Jakub was not talking about crtl->stack_alignment_estimated becoming 256, but rather DECL_ALIGN of certain decls in expand_one_stack_var_at. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44542

[Bug target/44575] [4.5/4.6 Regression] __builtin_va_arg overwrites into adjacent stack location

2010-06-18 Thread matz at gcc dot gnu dot org
--- Comment #2 from matz at gcc dot gnu dot org 2010-06-18 15:58 --- It's not SSA expand (might be exposed by it, don't know), but the bug is pre-existing already in 4.3: long unsigned int D.2219; struct S116 va_arg_tmp.3; ... addr.0 = &va_arg_tmp.3; addr.4 = (lon

[Bug middle-end/44592] [4.5/4.6 Regression] wrong code at -O3

2010-06-25 Thread matz at gcc dot gnu dot org
--- Comment #4 from matz at gcc dot gnu dot org 2010-06-25 15:34 --- Indeed. Mine. -- matz at gcc dot gnu dot org changed: What|Removed |Added AssignedTo

[Bug middle-end/44592] [4.5/4.6 Regression] wrong code at -O3

2010-06-28 Thread matz at gcc dot gnu dot org
--- Comment #5 from matz at gcc dot gnu dot org 2010-06-28 15:14 --- Subject: Bug 44592 Author: matz Date: Mon Jun 28 15:14:31 2010 New Revision: 161496 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=161496 Log: PR middle-end/44592 * gimpl

[Bug middle-end/44592] [4.5 Regression] wrong code at -O3

2010-06-28 Thread matz at gcc dot gnu dot org
--- Comment #6 from matz at gcc dot gnu dot org 2010-06-28 15:16 --- Fixed for 4.6, waiting a bit for 4.5. -- matz at gcc dot gnu dot org changed: What|Removed |Added

[Bug bootstrap/44699] [4.6 Regression] Bootstrap failure for x86_64-apple-darwin10: ICE while compiling genmodes.c

2010-06-29 Thread matz at gcc dot gnu dot org
--- Comment #3 from matz at gcc dot gnu dot org 2010-06-29 11:31 --- Can you perhaps run the testsuite without bootstrapping (configure --disable-bootstrap; make; make check) to see if there occurs some more obvious bug than a miscompilation of genmodes? Debugging bootstrap

[Bug bootstrap/44699] [4.6 Regression] Bootstrap failure for x86_64-apple-darwin10: ICE while compiling genmodes.c

2010-06-29 Thread matz at gcc dot gnu dot org
--- Comment #7 from matz at gcc dot gnu dot org 2010-06-29 13:47 --- Is /opt/gcc/gcc4.6bw/bin/gcc a bootstrapped compiler or one created without bootstrapping? The initial comment didn't reveal it, so maybe my assumption that it's a miscompiled cc1 is wrong. So, just to

[Bug bootstrap/44699] [4.6 Regression] Bootstrap failure for x86_64-apple-darwin10: ICE while compiling genmodes.c

2010-06-29 Thread matz at gcc dot gnu dot org
--- Comment #9 from matz at gcc dot gnu dot org 2010-06-29 14:48 --- Yes, but I'm asking if it was a bootstrapped compiler (in difference to one built with configuring with --disable-bootstrap) or not. If it was a bootstrapped compiler, are you saying that bootstrap fails with r1

[Bug bootstrap/44699] [4.6 Regression] Bootstrap failure for x86_64-apple-darwin10: ICE while compiling genmodes.c

2010-06-29 Thread matz at gcc dot gnu dot org
--- Comment #11 from matz at gcc dot gnu dot org 2010-06-29 15:15 --- I can reproduce now. It's also the non-bootstrapped compiler failing with the testcase, thanks for that. I'm on it. -- matz at gcc dot gnu dot org changed: What|Removed

[Bug bootstrap/44699] [4.6 Regression] Bootstrap failure for x86_64-apple-darwin10: ICE while compiling genmodes.c

2010-06-30 Thread matz at gcc dot gnu dot org
--- Comment #16 from matz at gcc dot gnu dot org 2010-06-30 16:34 --- Subject: Bug 44699 Author: matz Date: Wed Jun 30 16:34:22 2010 New Revision: 161614 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=161614 Log: PR bootstrap/44699 * tree-vrp.c (vrp_

[Bug bootstrap/44699] [4.6 Regression] Bootstrap failure for x86_64-apple-darwin10: ICE while compiling genmodes.c

2010-06-30 Thread matz at gcc dot gnu dot org
--- Comment #17 from matz at gcc dot gnu dot org 2010-06-30 16:54 --- Testcases are fixed. And according to http://gcc.gnu.org/ml/gcc-patches/2010-06/msg03137.html we can probably also assume the bootstrap fail is fixed. -- matz at gcc dot gnu dot org changed: What

[Bug rtl-optimization/44838] [4.6 regression] RTL loop unrolling causes FAIL: gcc.dg/pr39794.c

2010-07-07 Thread matz at gcc dot gnu dot org
--- Comment #25 from matz at gcc dot gnu dot org 2010-07-07 11:15 --- Due to SSA form the alias information reflects dependencies only between accesses as if it ignores back edges. Hence any transformation that transforms a back edge into a forward edge, or moves code over back edges

[Bug rtl-optimization/44838] [4.6 regression] RTL loop unrolling causes FAIL: gcc.dg/pr39794.c

2010-07-07 Thread matz at gcc dot gnu dot org
--- Comment #29 from matz at gcc dot gnu dot org 2010-07-07 12:10 --- [just for completeness to not lose the thought:] Thinking about this some more (triggered by the problem of not having nice back edges in irreducible loops), it's not really the back edges that are interesting bu

[Bug tree-optimization/33855] [4.3 Regression] Segfault in verify_ssa/execute_function_todo with -O

2007-10-22 Thread matz at gcc dot gnu dot org
--- Comment #7 from matz at gcc dot gnu dot org 2007-10-22 15:29 --- Subject: Bug 33855 Author: matz Date: Mon Oct 22 15:29:17 2007 New Revision: 129551 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=129551 Log: PR tree-optimization/33855 * tree-ssa-

[Bug tree-optimization/33855] [4.3 Regression] Segfault in verify_ssa/execute_function_todo with -O

2007-10-22 Thread matz at gcc dot gnu dot org
--- Comment #8 from matz at gcc dot gnu dot org 2007-10-22 15:32 --- Fixed. -- matz at gcc dot gnu dot org changed: What|Removed |Added Status|NEW

[Bug debug/33868] [4.3 Regression] Gross memory usage of var-tracking

2007-10-23 Thread matz at gcc dot gnu dot org
--- Comment #3 from matz at gcc dot gnu dot org 2007-10-23 17:47 --- Mine, have patch. -- matz at gcc dot gnu dot org changed: What|Removed |Added AssignedTo

[Bug debug/33868] [4.3 Regression] Gross memory usage of var-tracking

2007-10-24 Thread matz at gcc dot gnu dot org
--- Comment #4 from matz at gcc dot gnu dot org 2007-10-24 12:54 --- Subject: Bug 33868 Author: matz Date: Wed Oct 24 12:54:24 2007 New Revision: 129602 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=129602 Log: PR debug/33868 * var-tracking.c (variab

[Bug debug/33868] [4.3 Regression] Gross memory usage of var-tracking

2007-10-24 Thread matz at gcc dot gnu dot org
--- Comment #5 from matz at gcc dot gnu dot org 2007-10-24 12:55 --- Fixed. -- matz at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED

[Bug tree-optimization/33961] [4.3 regression] gcc 4.3 causes crash valid code to crash

2007-10-31 Thread matz at gcc dot gnu dot org
--- Comment #9 from matz at gcc dot gnu dot org 2007-10-31 21:52 --- Working on it. -- matz at gcc dot gnu dot org changed: What|Removed |Added AssignedTo

[Bug tree-optimization/33961] [4.3 regression] gcc 4.3 causes crash valid code to crash

2007-10-31 Thread matz at gcc dot gnu dot org
--- Comment #11 from matz at gcc dot gnu dot org 2007-10-31 23:12 --- Your threading testcase also seems to work with my patch. It doesn't fail really reliably for me with the other compilers, so I'm not 100% certain, can you check? Patch at http://gcc.gnu.org/ml/gcc-pa

[Bug tree-optimization/33961] [4.3 regression] gcc 4.3 causes crash valid code to crash

2007-10-31 Thread matz at gcc dot gnu dot org
--- Comment #12 from matz at gcc dot gnu dot org 2007-11-01 03:06 --- Subject: Bug 33961 Author: matz Date: Thu Nov 1 03:06:38 2007 New Revision: 129817 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=129817 Log: PR tree-optimization/33961 * tree-ssa-

[Bug tree-optimization/33961] [4.3 regression] gcc 4.3 causes crash valid code to crash

2007-10-31 Thread matz at gcc dot gnu dot org
--- Comment #13 from matz at gcc dot gnu dot org 2007-11-01 03:11 --- This one is fixed now. -- matz at gcc dot gnu dot org changed: What|Removed |Added

[Bug middle-end/31862] Loop IM and other optimizations harmful for -fopenmp

2007-10-31 Thread matz at gcc dot gnu dot org
--- Comment #14 from matz at gcc dot gnu dot org 2007-11-01 03:15 --- I've checked in a patch for PR33961, which is similar to this one. Can somebody check if anything here is still broken with trunk? -- matz at gcc dot gnu dot org changed: What|Re

[Bug middle-end/33713] [4.3 Regression] can't find a register in class 'GENERAL_REGS' while reloading 'asm'

2007-11-07 Thread matz at gcc dot gnu dot org
--- Comment #8 from matz at gcc dot gnu dot org 2007-11-07 16:45 --- When I analyzed this for the first time and finally found the root cause my immediate reaction was "huh? we still have -fforce-addr?" . So, I also wanted to get rid of it. But Richard had some reservatio

[Bug tree-optimization/34176] [4.3 Regression] SCCVN breaks gettext

2007-11-21 Thread matz at gcc dot gnu dot org
--- Comment #2 from matz at gcc dot gnu dot org 2007-11-22 04:26 --- The problem starts already in the first iteration: Value numbering destptr_3 stmt = destptr_3 = PHI Setting value number of destptr_3 to dest_9 So, for now we assume dest_9 == destptr_3, quite okay, lets assume so

[Bug tree-optimization/34176] [4.3 Regression] SCCVN breaks gettext

2007-11-21 Thread matz at gcc dot gnu dot org
--- Comment #3 from matz at gcc dot gnu dot org 2007-11-22 04:31 --- Created an attachment (id=14600) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14600&action=view) incomplete fix Concept patch touching only the unary case. binary, phi nodes and maybe references wou

[Bug tree-optimization/34176] [4.3 Regression] SCCVN breaks gettext

2007-11-22 Thread matz at gcc dot gnu dot org
--- Comment #10 from matz at gcc dot gnu dot org 2007-11-22 14:07 --- Created an attachment (id=14608) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14608&action=view) my dump (without patch) This is the dump I'm talking about. Richard uses a different compiler

[Bug tree-optimization/34176] [4.3 Regression] SCCVN breaks gettext

2007-11-22 Thread matz at gcc dot gnu dot org
--- Comment #11 from matz at gcc dot gnu dot org 2007-11-22 14:13 --- Btw. canonicalization/rewriting on INSERT is indeed okay. As long as the hash tables are deleted after every iteration (or otherwise invalidated). At least the now provably false information needs to be removed

[Bug tree-optimization/34176] [4.3 Regression] SCCVN breaks gettext

2007-11-22 Thread matz at gcc dot gnu dot org
--- Comment #17 from matz at gcc dot gnu dot org 2007-11-22 22:51 --- We could also save the deletes by using a tick counter, but with that patch the hash tables will be mostly small anyway, so emptying them should be fast enough I hope. And of course we won't get as optimal resul

[Bug target/34250] New: ICE in find_constant_pool_ref

2007-11-27 Thread matz at gcc dot gnu dot org
ct: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: matz at gcc dot gnu dot org GCC target triplet: s390-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34250

[Bug target/34250] ICE in find_constant_pool_ref

2007-11-27 Thread matz at gcc dot gnu dot org
--- Comment #2 from matz at gcc dot gnu dot org 2007-11-27 19:05 --- For reference, the internal one is at https://bugzilla.novell.com/show_bug.cgi?id=344299 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34250

[Bug target/34250] ICE in find_constant_pool_ref

2007-11-27 Thread matz at gcc dot gnu dot org
--- Comment #1 from matz at gcc dot gnu dot org 2007-11-27 19:02 --- Created an attachment (id=14648) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14648&action=view) fix for this A potential fix for this problem, iterating over possibly multiple constant refs. Shouldn

[Bug target/34250] ICE in find_constant_pool_ref

2007-11-28 Thread matz at gcc dot gnu dot org
--- Comment #4 from matz at gcc dot gnu dot org 2007-11-28 15:28 --- What I meant with "normal" code is by using inline asms. As it stands it's impossible to write inline asm instructions having more than one literal pool operand. I consider this normal use of the c

[Bug target/34250] ICE in find_constant_pool_ref

2007-11-28 Thread matz at gcc dot gnu dot org
--- Comment #6 from matz at gcc dot gnu dot org 2007-11-28 15:59 --- Yes, that would be a viable workaround. Perhaps even correct, given that GCC can handle only MAX_RECOG_OPERANDS, which is only 30 at a minimum. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34250

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

2008-01-09 Thread matz at gcc dot gnu dot org
--- Comment #18 from matz at gcc dot gnu dot org 2008-01-09 10:32 --- It seems that this should work too: bitsize is 8 in this example IIRC, so copy_mode would be byte_mode, which is what we need here. Additionally using word_mode when we can seems worthwhile too. One thing would

[Bug target/36043] gcc reads 8 bytes for a struct of size 6 which leads to sigsegv

2008-04-25 Thread matz at gcc dot gnu dot org
--- Comment #4 from matz at gcc dot gnu dot org 2008-04-25 15:12 --- That's the layout of 'c', a pointer variable. We don't see the layout of the record_type here. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36043

[Bug target/36043] gcc reads 8 bytes for a struct of size 6 which leads to sigsegv

2008-04-25 Thread matz at gcc dot gnu dot org
--- Comment #8 from matz at gcc dot gnu dot org 2008-04-25 16:15 --- FWIW, I think the error is in the caller of move_block_to_reg. move_block_to_reg can make use of a load_multiple instruction, which really loads full regs. I.e. it would be unreasonable to require changes in

<    1   2   3   4   5   >