[Bug bootstrap/41349] [4.5 regression] bootstrap comparison failure on sparc-linux
--- Comment #2 from nemet at gcc dot gnu dot org 2009-09-15 22:20 --- Was also happening on MIPS. Fixed. -- nemet at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41349
[Bug bootstrap/41349] [4.5 regression] bootstrap comparison failure on sparc-linux
--- Comment #1 from nemet at gcc dot gnu dot org 2009-09-15 22:18 --- Subject: Bug 41349 Author: nemet Date: Tue Sep 15 22:18:34 2009 New Revision: 151731 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=151731 Log: PR bootstrap/41349 * reorg.c (redundant_insn): Don't count notes or DEBUG_INSNs when trying to limit the extent of searches in the insn stream. Modified: trunk/gcc/ChangeLog trunk/gcc/reorg.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41349
[Bug rtl-optimization/41171] register allocator undoing optimal schedule
--- Comment #1 from nemet at gcc dot gnu dot org 2009-08-25 23:05 --- It's also a regression if the load-immediates can dual issue. I.e. see below how the code gets worse between sched1 and sched2 on octeon. I am cc'ing Vlad in case he has some ideas. ;; == ;; -- basic block 2 from 7 to 10 -- before reload ;; == ;;0--> 7 r195=0x7 :octeon_pipe0|octeon_pipe1 ;;0--> 9 r196=0x4 :octeon_pipe0|octeon_pipe1 ;;1--> 8 [$4]=r195 :octeon_pipe0 ;;2-->10 [$5]=r196 :octeon_pipe0 ;; Ready list (final): ;; total time = 2 ;; new head = 7 ;; new tail = 10 ;; Procedure interblock/speculative motions == 0/0 ;; == ;; -- basic block 2 from 7 to 18 -- after reload ;; == ;;0--> 7 $2=0x7 :octeon_pipe0|octeon_pipe1 ;;1--> 8 [$4]=$2 :octeon_pipe0 ;;1-->14 $2=0x4 :octeon_pipe0|octeon_pipe1 ;;2-->10 [$5]=$2 :octeon_pipe0 ;;3-->18 return:octeon_pipe0 ;; Ready list (final): ;; total time = 3 ;; new head = 7 ;; new tail = 18 -- nemet at gcc dot gnu dot org changed: What|Removed |Added CC||vmakarov at gcc dot gnu dot | |org, nemet at gcc dot gnu ||dot org Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2009-08-25 23:05:53 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41171
[Bug middle-end/41047] [4.5 Regression] gcc.target/mips/memcpy-1.c failing
--- Comment #6 from nemet at gcc dot gnu dot org 2009-08-12 21:27 --- It fixes the testcase on mips64octeon-linux. Thanks. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41047
[Bug middle-end/41047] New: gcc.target/mips/memcpy-1.c failing
See http://gcc.gnu.org/ml/gcc-testresults/2009-08/msg01279.html Seems like we losing alignment on string literals again (PR/27226). The testcase is from dhrystone. -- Summary: gcc.target/mips/memcpy-1.c failing Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: nemet at gcc dot gnu dot org GCC target triplet: mips64*-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41047
[Bug middle-end/33699] [4.3/4.4/4.5 regression], missing optimization on const addr area store
--- Comment #7 from nemet at gcc dot gnu dot org 2009-05-28 07:49 --- Note that the above patch does not yet fix the testcase. Besides this patch we need some more cost adjustments and also some changes in fwprop to propagate into the address expression. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33699
[Bug middle-end/33699] [4.3/4.4/4.5 regression], missing optimization on const addr area store
--- Comment #6 from nemet at gcc dot gnu dot org 2009-05-28 07:43 --- Subject: Bug 33699 Author: nemet Date: Thu May 28 07:42:52 2009 New Revision: 147944 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=147944 Log: PR middle-end/33699 * target.h (struct gcc_target): Fix indentation. Add const_anchor. * target-def.h (TARGET_CONST_ANCHOR): New macro. (TARGET_INITIALIZER): Use it. * cse.c (CHEAPER): Move it up to the other macros. (insert): Rename this ... (insert_with_costs): ... to this. Add cost parameters. Update function comment. (insert): New function. Call insert_with_costs. (compute_const_anchors, insert_const_anchor, insert_const_anchors, find_reg_offset_for_const, try_const_anchors): New functions. (cse_insn): Call try_const_anchors. Adjust cost of src_related when using a const-anchor. Call insert_const_anchors. * config/mips/mips.c (mips_set_mips16_mode): Set targetm.const_anchor. * doc/tm.texi (Misc): Document TARGET_CONST_ANCHOR. testsuite/ * gcc.target/mips/const-anchor-1.c: New test. * gcc.target/mips/const-anchor-2.c: New test. Added: trunk/gcc/testsuite/gcc.target/mips/const-anchor-1.c trunk/gcc/testsuite/gcc.target/mips/const-anchor-2.c Modified: trunk/gcc/ChangeLog trunk/gcc/config/mips/mips.c trunk/gcc/cse.c trunk/gcc/doc/tm.texi trunk/gcc/target-def.h trunk/gcc/target.h trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33699
[Bug middle-end/39651] New cleanup test failures
--- Comment #1 from nemet at gcc dot gnu dot org 2009-04-12 19:37 --- Subject: Bug 39651 Author: nemet Date: Sun Apr 12 19:36:50 2009 New Revision: 145986 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=145986 Log: PR middle-end/39651 * except.c (can_throw_external): Look at each insn in a SEQUENCE when deciding whether the whole SEQUENCE can throw. Modified: trunk/gcc/ChangeLog trunk/gcc/except.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39651
[Bug target/39090] MIPS: wrong-code with 64-bit values and register asm constraints with o32 ABI.
--- Comment #1 from nemet at gcc dot gnu dot org 2009-02-03 18:36 --- > Register $3 (v1) returns with uninitialized garbage. This is the high part of > the 64 bit return value. > > I am not sure what should happen here. Really the "d" asm constraint should > not match a 64 bit variable for the o32 ABI. No, I think it should. You just need to use high-part and low-part operand codes to refer to the 32-bit parts: unsigned long long bar(unsigned long long l) { unsigned long long rv; asm volatile ("#fill %L0; #fill %M0" : "=d" (rv)); return rv; } #APP # 4 "s.c" 1 #fill $5; #fill $4 # 0 "" 2 #NO_APP move$2,$4 .setnoreorder .setnomacro j $31 move $3,$5 .set macro .setreorder -- nemet at gcc dot gnu dot org changed: What|Removed |Added ------------ CC||nemet at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39090
[Bug testsuite/38864] Fixed-point tests under gcc.target/mips are missing the fixed_point target check
--- Comment #7 from nemet at gcc dot gnu dot org 2009-01-27 07:46 --- Fixed. -- nemet at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38864
[Bug testsuite/38864] Fixed-point tests under gcc.target/mips are missing the fixed_point target check
--- Comment #6 from nemet at gcc dot gnu dot org 2009-01-27 07:42 --- Subject: Bug 38864 Author: nemet Date: Tue Jan 27 07:41:46 2009 New Revision: 143694 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=143694 Log: PR testsuite/38864 * gcc.target/mips/fixed-vector-type.c: Add { target { fixed_point} } to dg-do compile. * gcc.target/mips/fixed-scalar-type.c: Likewise. * gcc.target/mips/dpaq_sa_l_w.c: Likewise. * gcc.target/mips/dpsq_sa_l_w.c: Likewise. Modified: trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gcc.target/mips/dpaq_sa_l_w.c trunk/gcc/testsuite/gcc.target/mips/dpsq_sa_l_w.c trunk/gcc/testsuite/gcc.target/mips/fixed-scalar-type.c trunk/gcc/testsuite/gcc.target/mips/fixed-vector-type.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38864
[Bug driver/38864] Fixed-point tests under gcc.target/mips are missing the fixed_point target check
--- Comment #5 from nemet at gcc dot gnu dot org 2009-01-27 07:25 --- Adjust the summary. -- nemet at gcc dot gnu dot org changed: What|Removed |Added Summary|Incorrect interaction |Fixed-point tests under |between --with-arch=native |gcc.target/mips are missing |and -mARCH |the fixed_point target check http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38864
[Bug driver/38864] Incorrect interaction between --with-arch=native and -mARCH
--- Comment #3 from nemet at gcc dot gnu dot org 2009-01-24 02:47 --- It was actually Richard's mips.exp rewrite that removed { target { fixed_point } } from these tests. Richard, was this intentional? It seems to me that since fixed-point is not dependent on a command-line flag (-mdsp is orthogonal) the effective-target check is correct here. Should I revert it like this: Index: fixed-vector-type.c === --- fixed-vector-type.c (revision 143450) +++ fixed-vector-type.c (working copy) @@ -1,5 +1,5 @@ /* Test vector fixed-point instructions */ -/* { dg-do compile } */ +/* { dg-do compile { target { fixed_point } } } */ /* { dg-options "-mdspr2 -O2" } */ /* { dg-final { scan-assembler-times "\taddq_s.ph\t" 2 } } */ /* { dg-final { scan-assembler-times "\tsubq_s.ph\t" 2 } } */ Index: fixed-scalar-type.c === --- fixed-scalar-type.c (revision 143450) +++ fixed-scalar-type.c (working copy) @@ -1,5 +1,5 @@ /* Test scalar fixed-point instructions */ -/* { dg-do compile } */ +/* { dg-do compile { target { fixed_point } } } */ /* { dg-options "-mdspr2 -O2" } */ /* { dg-final { scan-assembler-times "\taddu\t" 10 } } */ /* { dg-final { scan-assembler-times "\tsubu\t" 10 } } */ Index: dpaq_sa_l_w.c === --- dpaq_sa_l_w.c (revision 143450) +++ dpaq_sa_l_w.c (working copy) @@ -1,4 +1,4 @@ -/* { dg-do compile } */ +/* { dg-do compile { target { fixed_point } } } */ /* { dg-options "-O2 -mgp32 -mdsp" } */ /* { dg-final { scan-assembler-times "\tdpaq_sa.l.w\t\\\$ac" 3 } } */ Index: dpsq_sa_l_w.c === --- dpsq_sa_l_w.c (revision 143450) +++ dpsq_sa_l_w.c (working copy) @@ -1,4 +1,4 @@ -/* { dg-do compile } */ +/* { dg-do compile { target { fixed_point } } } */ /* { dg-options "-O2 -mgp32 -mdsp" } */ /* { dg-final { scan-assembler-times "\tdpsq_sa.l.w\t\\\$ac" 2 } } */ -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38864
[Bug driver/38864] Incorrect interaction between --with-arch=native and -mARCH
--- Comment #2 from nemet at gcc dot gnu dot org 2009-01-23 21:19 --- The fixed-point tests fail to compile when configure with --disable-fixed-point. I think the easiest would be to extend Richard's new infrastructure with a new keyword and then skip these tests completely. I take a look if this sounds good. -- nemet at gcc dot gnu dot org changed: What|Removed |Added CC||nemet at gcc dot gnu dot | |org, rsandifo at gcc dot gnu ||dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38864
[Bug target/38554] [4.4 Regression] ICE when compiling pamfunc.c in netpbm with -O1 enabled
--- Comment #6 from nemet at gcc dot gnu dot org 2009-01-16 18:57 --- Fixed. -- nemet at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38554
[Bug target/38554] [4.4 Regression] ICE when compiling pamfunc.c in netpbm with -O1 enabled
--- Comment #5 from nemet at gcc dot gnu dot org 2009-01-16 18:57 --- Subject: Bug 38554 Author: nemet Date: Fri Jan 16 18:56:47 2009 New Revision: 143440 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=143440 Log: PR target/38554 * expmed.c (expand_shift): With SHIFT_COUNT_TRUNCATED, don't lift the subreg from a lowpart subreg if it is also casting the value. testsuite/ PR target/38554 * gcc.c-torture/compile/pr38554.c: New test. Added: trunk/gcc/testsuite/gcc.c-torture/compile/pr38554.c Modified: trunk/gcc/ChangeLog trunk/gcc/expmed.c trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38554
[Bug target/38554] [4.4 Regression] ICE when compiling pamfunc.c in netpbm with -O1 enabled
-- nemet at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |nemet at gcc dot gnu dot org |dot org | Status|UNCONFIRMED |ASSIGNED Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2009-01-14 21:49:53 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38554
[Bug target/38554] [4.4 Regression] ICE when compiling pamfunc.c in netpbm with -O1 enabled
--- Comment #4 from nemet at gcc dot gnu dot org 2009-01-14 21:48 --- It only happens on SHIFT_COUNT_TRUNCATED targets (i.e. mips but not x86). I will do some more digging on the history of the SHIFT_COUNT_TRUNCATED code here but this patch fixes the ICE: Index: expmed.c === --- expmed.c(revision 143286) +++ expmed.c(working copy) @@ -2119,21 +2119,22 @@ expand_shift (enum tree_code code, enum on all machines. */ if (SHIFT_COUNT_TRUNCATED) { if (GET_CODE (op1) == CONST_INT && ((unsigned HOST_WIDE_INT) INTVAL (op1) >= (unsigned HOST_WIDE_INT) GET_MODE_BITSIZE (mode))) op1 = GEN_INT ((unsigned HOST_WIDE_INT) INTVAL (op1) % GET_MODE_BITSIZE (mode)); else if (GET_CODE (op1) == SUBREG - && subreg_lowpart_p (op1)) + && subreg_lowpart_p (op1) + && INTEGRAL_MODE_P (GET_MODE (SUBREG_REG (op1 op1 = SUBREG_REG (op1); } if (op1 == const0_rtx) return shifted; /* Check whether its cheaper to implement a left shift by a constant bit count by a sequence of additions. */ if (code == LSHIFT_EXPR && GET_CODE (op1) == CONST_INT -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38554
[Bug target/38554] ICE when compiling pamfunc.c in netpbm with -O1 enabled
--- Comment #2 from nemet at gcc dot gnu dot org 2009-01-13 21:08 --- Here is the testcase simplified with delta. It's reproducible even with a mipsisa64r2-elfobai compiler with -O1. I don't think the bug is MIPS-specific. Inside expand_shift, amount which is: (int) VIEW_CONVERT_EXPR(D.4496) gets expanded into an SF pseudo. Shifting by a floating-point value might be confusing the rest of the function. typedef unsigned long sample; struct pam { sample maxval; }; typedef sample *tuple; enum function { FN_MULTIPLY, FN_DIVIDE, FN_ADD, FN_SUBTRACT, FN_MIN, FN_MAX, FN_AND, FN_OR, FN_XOR, FN_NOT, FN_SHIFTLEFT, FN_SHIFTRIGHT }; struct cmdlineInfo { enum function function; union { float divisor; unsigned int shiftCount; } u; }; applyFunction (struct cmdlineInfo const cmdline, struct pam const inpam, struct pam const outpam, tuple * const inputRow, tuple * const outputRow) { float const oneOverDivisor = 1 / cmdline.u.divisor; int col; { int plane; { sample const inSample = inputRow[col][plane]; sample outSample; switch (cmdline.function) { case FN_DIVIDE: outSample = ((unsigned int) ((inSample * oneOverDivisor) + 0.5)); break; case FN_SHIFTLEFT: outSample = (inSample << cmdline.u.shiftCount) & outpam.maxval; } outputRow[col][plane] = ((outpam.maxval) < (outSample) ? (outpam.maxval) : (outSample)); } } } -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38554
[Bug bootstrap/37859] Bootstrap failure on mips64octeon-unknown-linux-gnu
--- Comment #4 from nemet at gcc dot gnu dot org 2008-11-19 21:35 --- Fixed. -- nemet at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37859
[Bug middle-end/37669] [4.4 Regression] ice for legal code with -O2
--- Comment #21 from nemet at gcc dot gnu dot org 2008-10-21 17:48 --- Fixed. -- nemet at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37669
[Bug middle-end/37669] [4.4 Regression] ice for legal code with -O2
--- Comment #20 from nemet at gcc dot gnu dot org 2008-10-21 17:48 --- Subject: Bug 37669 Author: nemet Date: Tue Oct 21 17:46:53 2008 New Revision: 141270 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=141270 Log: PR middle-end/37669 * tree-ssa-ccp.c (ccp_fold_builtin): Only allow one argument to be processed by get_maxval_strlen. testsuite/ PR middle-end/37669 * gcc.c-torture/compile/pr37669-2.c: New test. Added: trunk/gcc/testsuite/gcc.c-torture/compile/pr37669-2.c Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/tree-ssa-ccp.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37669
[Bug middle-end/37669] [4.4 Regression] ice for legal code with -O2
--- Comment #17 from nemet at gcc dot gnu dot org 2008-10-20 04:21 --- I'm testing a patch. -- nemet at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |nemet at gcc dot gnu dot org |dot org | Status|REOPENED|ASSIGNED GCC host triplet|[EMAIL PROTECTED] | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37669
[Bug middle-end/37669] [4.4 Regression] ice for legal code with -O2
--- Comment #16 from nemet at gcc dot gnu dot org 2008-10-20 03:54 --- I'm seeing this with mips64octeon-linux-gnu as well. I think the problem is that in ccp_fold_builtin(): 2502memset (val, 0, sizeof (val)); 2503for (i = 0; i < nargs; i++) 2504 { 2505if ((arg_mask >> i) & 1) arg_mask is an int and in the testcase nargs is 35. Therefore the result of the shift can be undefined. I will start testing a fix soon. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37669
[Bug bootstrap/37859] New: Bootstrap failure on mips64octeon-unknown-linux-gnu
Bootstrap failure in stage3. /mnt/src/gcc-clean/mips64octeon-unknown-linux-gnu/./prev-gcc/xgcc -B/mnt/src/gcc -clean/mips64octeon-unknown-linux-gnu/./prev-gcc/ -B/mnt/src/gcc-clean/mips64oct eon-unknown-linux-gnu/../install-mips64octeon-unknown-linux-gnu/mips64octeon-unk nown-linux-gnu/bin/ -c -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prot otypes -Wmissing-prototypes -Wcast-qual -Wold-style-definition -Wc++-compat -Wmi ssing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overle ngth-strings -Werror -fno-common -DHAVE_CONFIG_H -I. -I. -I../../src/gcc -I../. ./src/gcc/. -I../../src/gcc/../include -I../../src/gcc/../libcpp/include -I../. ./src/gcc/../libdecnumber -I../../src/gcc/../libdecnumber/dpd -I../libdecnumber ../../src/gcc/tracer.c -o tracer.o In file included from ../../src/gcc/sel-sched.c:50: ../../src/gcc/sel-sched-ir.h: In function 'T.2588': ../../src/gcc/sel-sched-ir.h:1312: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. make[3]: *** [sel-sched.o] Error 1 make[3]: *** Waiting for unfinished jobs rm gcj-dbtool.pod fsf-funding.pod jcf-dump.pod jv-convert.pod grmic.pod gcov.pod gcj.pod gc-analyze.pod gfdl.pod cpp.pod gij.pod gcc.pod gfortran.pod make[3]: Leaving directory `/mnt/src/gcc-clean/mips64octeon-unknown-linux-gnu/gc c' make[2]: *** [all-stage3-gcc] Error 2 make[2]: Leaving directory `/mnt/src/gcc-clean/mips64octeon-unknown-linux-gnu' make[1]: *** [stage3-bubble] Error 2 make[1]: Leaving directory `/mnt/src/gcc-clean/mips64octeon-unknown-linux-gnu' make: *** [all] Error 2 -- Summary: Bootstrap failure on mips64octeon-unknown-linux-gnu Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: bootstrap AssignedTo: nemet at gcc dot gnu dot org ReportedBy: nemet at gcc dot gnu dot org GCC build triplet: mips64octeon-unknown-linux-gnu GCC host triplet: mips64octeon-unknown-linux-gnu GCC target triplet: mips64octeon-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37859
[Bug target/37137] [4.4 Regression] unrecognized command line option "-minterlink-mips16"
--- Comment #5 from nemet at gcc dot gnu dot org 2008-09-24 02:09 --- I am seeing this too with a 4.1 system compiler. It seems that CFLAGS_FOR_TARGET is incorrectly (?) used for building libiberty in stage1 (all-stage1-libiberty). This is not a target library but a sort of build library built with the system compiler. I think this happens because STAGE1_LIBCFLAGS is incorrectly set to CFLAGS_FOR_TARGET. For example, I can build all-stage1-libiberty if I run make with STAGE1_LIBCFALGS=. -- nemet at gcc dot gnu dot org changed: What|Removed |Added CC||nemet at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37137
[Bug rtl-optimization/37483] [4.4 Regression] Segfault in noce_try_sign_mask (ifcvt.c): b_unconditional
--- Comment #8 from nemet at gcc dot gnu dot org 2008-09-16 22:17 --- Subject: Bug 37483 Author: nemet Date: Tue Sep 16 22:15:49 2008 New Revision: 140403 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=140403 Log: PR rtl-optimization/37483 * ifcvt.c (noce_try_sign_mask): Use if_info->test_bb instead of if_info->insn_b's bb as argument to optimize_bb_for_speed_p. Rearrange code to better match the original comment. Check t_unconditional first. Improve comment. testsuite/ * gcc.c-torture/compile/pr37483.c: New test. * gcc.c-torture/compile/pr37395.c: New test. Added: trunk/gcc/testsuite/gcc.c-torture/compile/pr37395.c trunk/gcc/testsuite/gcc.c-torture/compile/pr37483.c Modified: trunk/gcc/ChangeLog trunk/gcc/ifcvt.c trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37483
[Bug target/37395] [4.4 Regression] Bootstrap fails in stage 2 due to segfault compiling c-parser
--- Comment #8 from nemet at gcc dot gnu dot org 2008-09-11 21:46 --- It's caused by this http://gcc.gnu.org/ml/gcc-patches/2008-08/msg02376.html. In this hunk: @@ -1901,7 +1904,8 @@ noce_try_sign_mask (struct noce_if_info INSN_B which can happen for e.g. conditional stores to memory. */ b_unconditional = (if_info->insn_b == NULL_RTX || BLOCK_FOR_INSN (if_info->insn_b) == if_info->test_bb); - if (rtx_cost (t, SET) >= COSTS_N_INSNS (2) + if (rtx_cost (t, SET, optimize_bb_for_speed_p (BLOCK_FOR_INSN (if_info->insn_b))) + >= COSTS_N_INSNS (2) && (!b_unconditional || t != if_info->b)) return FALSE; if_info->insn_b is allowed to be null. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37395
[Bug target/37395] [4.4 Regression] Bootstrap fails in stage 2 due to segfault compiling c-parser
--- Comment #7 from nemet at gcc dot gnu dot org 2008-09-11 21:00 --- I was able to reproduce this with 140295. Assigning to myself. -- nemet at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |nemet at gcc dot gnu dot org |dot org | Status|UNCONFIRMED |ASSIGNED Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2008-09-11 21:00:14 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37395
[Bug middle-end/36194] [Regression] Truncation optimization in combine can remove necessary truncations
--- Comment #7 from nemet at gcc dot gnu dot org 2008-05-20 18:44 --- Fixed on all branches. -- nemet at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||FIXED Summary|[4.2 Regression] Truncation |[Regression] Truncation |optimization in combine can |optimization in combine can |remove necessary truncations|remove necessary truncations http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36194
[Bug middle-end/36194] [4.2 Regression] Truncation optimization in combine can remove necessary truncations
--- Comment #6 from nemet at gcc dot gnu dot org 2008-05-20 18:43 --- Subject: Bug 36194 Author: nemet Date: Tue May 20 18:42:09 2008 New Revision: 135670 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=135670 Log: PR middle-end/36194 * combine.c (check_conversion): Rename to check_promoted_subreg. Don't call record_truncated_value from here. (record_truncated_value): Turn it into a for_each_rtx callback. (record_truncated_values): New function. (combine_instructions): Call note_uses with record_truncated_values. Change name of check_conversion to check_promoted_subreg. testsuite/ * gcc.dg/pr36194.c: New test. Added: branches/gcc-4_2-branch/gcc/testsuite/gcc.dg/pr36194.c Modified: branches/gcc-4_2-branch/gcc/ChangeLog branches/gcc-4_2-branch/gcc/combine.c branches/gcc-4_2-branch/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36194
[Bug middle-end/36194] [4.2/4.3 Regression] Truncation optimization in combine can remove necessary truncations
--- Comment #5 from nemet at gcc dot gnu dot org 2008-05-19 23:30 --- Subject: Bug 36194 Author: nemet Date: Mon May 19 23:29:29 2008 New Revision: 135592 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=135592 Log: PR middle-end/36194 * combine.c (check_conversion): Rename to check_promoted_subreg. Don't call record_truncated_value from here. (record_truncated_value): Turn it into a for_each_rtx callback. (record_truncated_values): New function. (combine_instructions): Call note_uses with record_truncated_values. Change name of check_conversion to check_promoted_subreg. testsuite/ * gcc.dg/pr36194.c: New test. Added: branches/gcc-4_3-branch/gcc/testsuite/gcc.dg/pr36194.c Modified: branches/gcc-4_3-branch/gcc/ChangeLog branches/gcc-4_3-branch/gcc/combine.c branches/gcc-4_3-branch/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36194
[Bug middle-end/36194] [4.2/4.3/4.4 Regression] Truncation optimization in combine can remove necessary truncations
--- Comment #3 from nemet at gcc dot gnu dot org 2008-05-15 19:28 --- Subject: Bug 36194 Author: nemet Date: Thu May 15 19:25:53 2008 New Revision: 135392 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=135392 Log: PR middle-end/36194 * combine.c (check_conversion): Rename to check_promoted_subreg. Don't call record_truncated_value from here. (record_truncated_value): Turn it into a for_each_rtx callback. (record_truncated_values): New function. (combine_instructions): Call note_uses with record_truncated_values. Change name of check_conversion to check_promoted_subreg. testsuite/ * gcc.dg/pr36194.c: New test. Added: trunk/gcc/testsuite/gcc.dg/pr36194.c Modified: trunk/gcc/ChangeLog trunk/gcc/combine.c trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36194
[Bug middle-end/36194] [4.2/4.3/4.4 Regression] Truncation optimization in combine can remove necessary truncations
--- Comment #2 from nemet at gcc dot gnu dot org 2008-05-13 16:38 --- The change causing this was not present in 4.1. -- nemet at gcc dot gnu dot org changed: What|Removed |Added Summary|[4.1/4.2/4.3/4.4 Regression]|[4.2/4.3/4.4 Regression] |Truncation optimization in |Truncation optimization in |combine can remove necessary|combine can remove necessary |truncations |truncations Target Milestone|4.1.3 |4.2.4 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36194
[Bug middle-end/36194] [4.1/4.2/4.3/4.4 Regression] Truncation optimization in combine can remove necessary truncations
--- Comment #1 from nemet at gcc dot gnu dot org 2008-05-09 20:46 --- Patch: http://gcc.gnu.org/ml/gcc-patches/2008-05/msg00591.html -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36194
[Bug middle-end/36194] New: [4.1/4.2/4.3/4.4 Regression] Truncation optimization in combine can remove necessary truncations
On mips64-linux-gnu the following testcase aborts: void abort (void); __attribute__ ((noinline)) void f (int i) { if (i != 0x87654321) abort (); asm (""); } __attribute__ ((noinline)) void g (long long a) { f (a); asm (""); } main () { g (0x1234567887654321ll); return 0; } -- Summary: [4.1/4.2/4.3/4.4 Regression] Truncation optimization in combine can remove necessary truncations Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: nemet at gcc dot gnu dot org ReportedBy: nemet at gcc dot gnu dot org GCC target triplet: mips64-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36194
[Bug tree-optimization/21513] [4.0/4.1/4.2 Regression] __builtin_expect getting in the way of uninitialized warnings
--- Comment #8 from nemet at gcc dot gnu dot org 2007-09-05 19:54 --- Subject: Bug 21513 Author: nemet Date: Wed Sep 5 19:54:29 2007 New Revision: 128147 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=128147 Log: PR tree-optimization/21513 * builtins.c (build_builtin_expect_predicate): New function. (fold_builtin_expect): Add argument for expected value. Distribute __builtin_expect over short-circuiting operations. Fold nested builtin_expects. (fold_builtin_2): Adjust call to fold_builtin_expect. Modified: trunk/gcc/ChangeLog trunk/gcc/builtins.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21513
[Bug libfortran/32495] static declaration of 'strcasestr' follows non-static declaration
--- Comment #3 from nemet at gcc dot gnu dot org 2007-06-25 17:22 --- Fixed. -- nemet at gcc dot gnu dot org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32495
[Bug libfortran/32495] static declaration of 'strcasestr' follows non-static declaration
--- Comment #2 from nemet at gcc dot gnu dot org 2007-06-25 17:21 --- Subject: Bug 32495 Author: nemet Date: Mon Jun 25 17:21:46 2007 New Revision: 125998 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=125998 Log: PR libfortran/32495 * runtime/backtrace.c (local_strcasestr): Rename from strcasestr. (show_backtrace): Rename strcasestr to local_strcasestr. Modified: trunk/libgfortran/ChangeLog trunk/libgfortran/runtime/backtrace.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32495
[Bug tree-optimization/25737] ACATS c974001 c974013 hang with struct aliasing
--- Comment #42 from nemet at gcc dot gnu dot org 2007-06-20 18:19 --- Subject: Bug 25737 Author: nemet Date: Wed Jun 20 18:19:10 2007 New Revision: 125890 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=125890 Log: PR tree-optimization/25737 * tree.h (struct tree_struct_field_tag): Add new field alias_set. (SFT_NONADDRESSABLE_P, SFT_ALIAS_SET): New macros. * tree-flow.h (struct fieldoff): Add new field alias_set. * tree-ssa-structalias.c (push_fields_onto_fieldstack): Add new argument addressable_type. Set alias_set of fieldoff. * tree-ssa-alias.c (create_sft): Add new argument alias_set. (create_overlap_variables_for): Pass alias_set from fieldoff to create_sft. * alias.c (get_alias_set): Use alias_set from SFT if set. Modified: trunk/gcc/ChangeLog trunk/gcc/alias.c trunk/gcc/tree-flow.h trunk/gcc/tree-ssa-alias.c trunk/gcc/tree-ssa-structalias.c trunk/gcc/tree.h -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25737
[Bug tree-optimization/25737] ACATS c974001 c974013 hang with struct aliasing
--- Comment #41 from nemet at gcc dot gnu dot org 2007-06-20 18:17 --- Subject: Bug 25737 Author: nemet Date: Wed Jun 20 18:17:20 2007 New Revision: 125889 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=125889 Log: PR tree-optimization/25737 * testsuite/gcc.dg/tree-ssa/alias-14.c: New test. Added: trunk/gcc/testsuite/gcc.dg/tree-ssa/alias-14.c Modified: trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25737
[Bug middle-end/18160] [4.0 Regression] ICE on taking register variable address
--- Additional Comments From nemet at gcc dot gnu dot org 2004-10-28 19:31 --- Fixed. -- What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18160
[Bug middle-end/18160] [4.0 Regression] ICE on taking register variable address
-- What|Removed |Added AssignedTo|unassigned at gcc dot gnu |nemet at gcc dot gnu dot org |dot org | Status|NEW |ASSIGNED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18160