[Bug target/36502] i386/darwin generates unnecessary stack ops in every function
--- Comment #3 from rth at gcc dot gnu dot org 2010-08-30 18:20 --- It's caused by this: config/i386/darwin.h:#define STACK_BOUNDARY 128 I think you want to delete that and allow STACK_BOUNDARY to be defined by i386.h to UNITS_PER_WORD. Non-leaf functions should be handled by #define MIN_STACK_BOUNDARY 128 which should get you your ABI minimum for the callee. -- rth at gcc dot gnu dot org changed: What|Removed |Added CC||rth at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36502
[Bug bootstrap/45381] [4.6 Regression] Bootstrap failure for powerpc-apple-darwin9: error: AltiVec argument passed to unprototyped function
--- Comment #2 from rth at gcc dot gnu dot org 2010-08-26 16:27 --- Created an attachment (id=21571) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21571action=view) Use altivec.h Rather than use gcc builtins directly, use the standard header file. Hopefully this will work with Apple's GCC as well, and continue to work in the future with any FSF GCC changes. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45381
[Bug bootstrap/45381] [4.6 Regression] Bootstrap failure for powerpc-apple-darwin9: error: AltiVec argument passed to unprototyped function
--- Comment #3 from rth at gcc dot gnu dot org 2010-08-26 16:27 --- The patch bootstraps on ppc64-linux; please test on Darwin. -- rth at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|WAITING http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45381
[Bug bootstrap/45376] [4.6 Regression] no such instruction: `pcmpestri $0,(%rdi),%xmm0'
-- rth at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |rth at gcc dot gnu dot org |dot org | Status|NEW |ASSIGNED Component|target |bootstrap Last reconfirmed|2010-08-23 21:42:35 |2010-08-24 21:06:41 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45376
[Bug bootstrap/45376] [4.6 Regression] no such instruction: `pcmpestri $0,(%rdi),%xmm0'
--- Comment #7 from rth at gcc dot gnu dot org 2010-08-24 21:08 --- Subject: Bug 45376 Author: rth Date: Tue Aug 24 21:08:05 2010 New Revision: 163528 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=163528 Log: PR bootstrap/45376 * configure.ac (HAVE_SSE4): New check. * configure, config.in: Rebuild. * lex.c (search_line_sse42): Omit if !HAVE_SSE4. Modified: trunk/libcpp/ChangeLog trunk/libcpp/config.in trunk/libcpp/configure trunk/libcpp/configure.ac trunk/libcpp/lex.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45376
[Bug bootstrap/45376] [4.6 Regression] no such instruction: `pcmpestri $0,(%rdi),%xmm0'
--- Comment #8 from rth at gcc dot gnu dot org 2010-08-24 21:08 --- Fixed. -- rth at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45376
[Bug bootstrap/45381] [4.6 Regression] Bootstrap failure for powerpc-apple-darwin9: error: AltiVec argument passed to unprototyped function
-- rth at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |rth at gcc dot gnu dot org |dot org | Status|UNCONFIRMED |ASSIGNED Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2010-08-24 21:16:50 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45381
[Bug middle-end/45325] [4.6 Regression] target attribute doesn't work with -march=i586
--- Comment #5 from rth at gcc dot gnu dot org 2010-08-19 19:48 --- (In reply to comment #3) Well, I think we should back out support for that option. The set of nonsensical options doesn't include sse - but all options are included in the set of broken options. At least I expect that you can create a testcase with such ICEs for every one. Not every one, just those that expand the set of valid backend modes. Thus sse3 will not cause additional ice's, assuming sse2 is in effect globally. That's not to say this feature isn't fraught with peril. I think it should be improved though, not removed. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45325
[Bug debug/42487] FAIL: gcc.dg/debug/dwarf2/aranges-fnsec-1.c scan-assembler DW_AT_ranges
--- Comment #5 from rth at gcc dot gnu dot org 2010-08-16 15:48 --- Darwin doesn't really support -ffunction-sections. Which means that the aranges feature isn't exercised. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42487
[Bug debug/45189] [4.6 regression] New stack alignment test failures
--- Comment #2 from rth at gcc dot gnu dot org 2010-08-05 15:40 --- Subject: Bug 45189 Author: rth Date: Thu Aug 5 15:39:54 2010 New Revision: 162917 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=162917 Log: PR 45189 Unbreak ia64 build after last dwarf2out.c change. Modified: trunk/gcc/ChangeLog trunk/gcc/dwarf2out.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45189
[Bug debug/45188] [4.6 regression] Failed to bootstrap on Linux/ia64
--- Comment #1 from rth at gcc dot gnu dot org 2010-08-05 17:59 --- Fixed. -- rth at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45188
[Bug target/45189] [4.6 regression] New stack alignment test failures
--- Comment #4 from rth at gcc dot gnu dot org 2010-08-05 18:01 --- I've now reproduced this on a 64-bit host with -m32, though still not on the 32-bit host. -- rth at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |rth at gcc dot gnu dot org |dot org | Status|UNCONFIRMED |ASSIGNED Component|debug |target Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2010-08-05 18:01:38 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45189
[Bug target/45189] [4.6 regression] New stack alignment test failures
--- Comment #5 from rth at gcc dot gnu dot org 2010-08-05 18:05 --- Subject: Bug 45189 Author: rth Date: Thu Aug 5 18:04:58 2010 New Revision: 162919 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=162919 Log: PR target/45189 Fix unwind for i386 stack re-alignment. Modified: trunk/gcc/ChangeLog trunk/gcc/config/i386/i386.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45189
[Bug target/45189] [4.6 regression] New stack alignment test failures
--- Comment #6 from rth at gcc dot gnu dot org 2010-08-05 18:13 --- Fixed. -- rth at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45189
[Bug middle-end/45171] Invalid DWARF...DIE 0x00006a1d has multiple AT_byte_size attributes.
--- Comment #10 from rth at gcc dot gnu dot org 2010-08-04 19:33 --- Verified with typedef struct { int a, b; } x; ./cc1plus -g -fno-eliminate-unused-debug-types -dA z.c .uleb128 0x2# (DIE (0x2d) DW_TAG_structure_type) .byte 0x8 # DW_AT_byte_size .byte 0x1 # DW_AT_decl_file (z.c) .byte 0x3 # DW_AT_decl_line .byte 0x8 # DW_AT_byte_size .byte 0x1 # DW_AT_decl_file (z.c) .byte 0x3 # DW_AT_decl_line Note that both byte_size and and the decl location are replicated. This happens with the C++ compiler, but not the C compiler. -- rth at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |rth at gcc dot gnu dot org |dot org | Status|UNCONFIRMED |ASSIGNED Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2010-08-04 19:33:43 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45171
[Bug other/24724] _Unwind_Backtrace() calls malloc
--- Comment #13 from rth at gcc dot gnu dot org 2010-08-04 23:08 --- There are two solutions to this: (1) Make sure your binary provides PT_GNU_EH_FRAME. This is the quickest path through the unwinder, since the table is pre-sorted by the linker. (2) Have your malloc detect the recursion and return NULL. This will cause the unwinder to perform a linear search through the unsorted tables. It should not fail due to the fake out-of-memory condition, since it was designed to handle throwing an exception during a true OOM condition. -- rth at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||WONTFIX http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24724
[Bug debug/45171] Invalid DWARF...DIE 0x00006a1d has multiple AT_byte_size attributes.
--- Comment #11 from rth at gcc dot gnu dot org 2010-08-04 23:21 --- This is fallout from c++/44188. -- rth at gcc dot gnu dot org changed: What|Removed |Added Component|middle-end |debug http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45171
[Bug debug/45171] Invalid DWARF...DIE 0x00006a1d has multiple AT_byte_size attributes.
--- Comment #12 from rth at gcc dot gnu dot org 2010-08-04 23:32 --- Subject: Bug 45171 Author: rth Date: Wed Aug 4 23:32:08 2010 New Revision: 162882 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=162882 Log: PR debug/45171 * dwarf2out.c (gen_typedef_die): Don't re-generate the die of an is_naming_typedef_decl. Added: trunk/gcc/testsuite/g++.dg/debug/dwarf2/typedef4.C Modified: trunk/gcc/ChangeLog trunk/gcc/dwarf2out.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45171
[Bug middle-end/45171] Invalid DWARF...DIE 0x00006a1d has multiple AT_byte_size attributes.
--- Comment #13 from rth at gcc dot gnu dot org 2010-08-04 23:41 --- Should be fixed, but I'll leave the bug open until you get a chance to test the whole build against that darwin linker. -- rth at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|WAITING Component|debug |middle-end http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45171
[Bug target/45142] split for *vec_setmode_0_sse2 incomplete
--- Comment #1 from rth at gcc dot gnu dot org 2010-07-30 14:17 --- Test case? -- rth at gcc dot gnu dot org changed: What|Removed |Added CC||rth at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45142
[Bug target/44132] [4.6 Regression] emutls is broken under a range of circumstances.
--- Comment #42 from rth at gcc dot gnu dot org 2010-07-26 22:54 --- Subject: Bug 44132 Author: rth Date: Mon Jul 26 22:53:50 2010 New Revision: 162549 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=162549 Log: PR target/44132 Emulated TLS rewrite. Added: trunk/gcc/testsuite/gcc.dg/tls/emutls-2.c trunk/gcc/testsuite/gcc.dg/tls/thr-init-1.c trunk/gcc/testsuite/gcc.dg/tls/thr-init-2.c trunk/gcc/testsuite/gcc.dg/torture/tls/ trunk/gcc/testsuite/gcc.dg/torture/tls/thr-init-1.c trunk/gcc/testsuite/gcc.dg/torture/tls/thr-init-2.c trunk/gcc/testsuite/gcc.dg/torture/tls/tls-test.c trunk/gcc/testsuite/gcc.dg/torture/tls/tls.exp trunk/gcc/tree-emutls.c Modified: trunk/gcc/ChangeLog trunk/gcc/Makefile.in trunk/gcc/config/i386/i386.c trunk/gcc/dwarf2out.c trunk/gcc/expr.c trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/f95-lang.c trunk/gcc/gimple-iterator.c trunk/gcc/output.h trunk/gcc/passes.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/g++.dg/gomp/clause-3.C trunk/gcc/testsuite/g++.dg/gomp/copyin-1.C trunk/gcc/testsuite/g++.dg/gomp/pr35244.C trunk/gcc/testsuite/g++.dg/gomp/sharing-1.C trunk/gcc/testsuite/g++.dg/gomp/tls-1.C trunk/gcc/testsuite/g++.dg/gomp/tls-2.C trunk/gcc/testsuite/g++.dg/gomp/tls-3.C trunk/gcc/testsuite/g++.dg/gomp/tls-4.C trunk/gcc/testsuite/g++.dg/tls/diag-1.C trunk/gcc/testsuite/g++.dg/tls/diag-2.C trunk/gcc/testsuite/g++.dg/tls/diag-3.C trunk/gcc/testsuite/g++.dg/tls/diag-4.C trunk/gcc/testsuite/g++.dg/tls/diag-5.C trunk/gcc/testsuite/g++.dg/tls/init-1.C trunk/gcc/testsuite/g++.dg/tls/init-2.C trunk/gcc/testsuite/g++.dg/tls/trivial.C trunk/gcc/testsuite/gcc.dg/gomp/appendix-a/a.22.1.c trunk/gcc/testsuite/gcc.dg/gomp/appendix-a/a.22.2.c trunk/gcc/testsuite/gcc.dg/gomp/appendix-a/a.24.1.c trunk/gcc/testsuite/gcc.dg/gomp/appendix-a/a.32.1.c trunk/gcc/testsuite/gcc.dg/gomp/appendix-a/a.33.1.c trunk/gcc/testsuite/gcc.dg/gomp/clause-1.c trunk/gcc/testsuite/gcc.dg/gomp/copyin-1.c trunk/gcc/testsuite/gcc.dg/gomp/pr35244.c trunk/gcc/testsuite/gcc.dg/gomp/sharing-1.c trunk/gcc/testsuite/gcc.dg/gomp/tls-1.c trunk/gcc/testsuite/gcc.dg/gomp/tls-2.c trunk/gcc/testsuite/gcc.dg/tls/opt-1.c trunk/gcc/testsuite/gcc.dg/tls/opt-13.c trunk/gcc/testsuite/gcc.dg/tls/opt-14.c trunk/gcc/testsuite/gcc.dg/tls/opt-15.c trunk/gcc/testsuite/gcc.dg/tls/opt-2.c trunk/gcc/testsuite/gcc.dg/tls/opt-3.c trunk/gcc/testsuite/gcc.dg/tls/opt-7.c trunk/gcc/testsuite/gfortran.dg/gomp/appendix-a/a.22.1.f90 trunk/gcc/testsuite/gfortran.dg/gomp/appendix-a/a.22.4.f90 trunk/gcc/testsuite/gfortran.dg/gomp/appendix-a/a.22.5.f90 trunk/gcc/testsuite/gfortran.dg/gomp/appendix-a/a.22.6.f90 trunk/gcc/testsuite/gfortran.dg/gomp/appendix-a/a.24.1.f90 trunk/gcc/testsuite/gfortran.dg/gomp/appendix-a/a.32.1.f90 trunk/gcc/testsuite/gfortran.dg/gomp/appendix-a/a.33.1.f90 trunk/gcc/testsuite/gfortran.dg/gomp/crayptr2.f90 trunk/gcc/testsuite/gfortran.dg/gomp/fixed-1.f trunk/gcc/testsuite/gfortran.dg/gomp/free-1.f90 trunk/gcc/testsuite/gfortran.dg/gomp/omp_threadprivate1.f90 trunk/gcc/testsuite/gfortran.dg/gomp/omp_threadprivate2.f90 trunk/gcc/testsuite/gfortran.dg/gomp/reduction1.f90 trunk/gcc/testsuite/gfortran.dg/gomp/sharing-1.f90 trunk/gcc/toplev.c trunk/gcc/tree-pass.h trunk/gcc/tree.h trunk/gcc/varasm.c trunk/gcc/varpool.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44132
[Bug target/44132] [4.6 Regression] emutls is broken under a range of circumstances.
--- Comment #43 from rth at gcc dot gnu dot org 2010-07-26 22:58 --- Emutls now re-written in a way that should support LTO. -- rth at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44132
[Bug target/45027] [4.6 Regression] FAIL: c-c++-common/dfp/pr36800.c
-- rth at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |rth at gcc dot gnu dot org |dot org | Status|UNCONFIRMED |ASSIGNED Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2010-07-22 18:19:31 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45027
[Bug tree-optimization/45032] New: Missed optimization in ifcvt/crossjump
int f(int x, int y); int g(int x, int z) { int r; if (z == 0) r = f(x, 1); else r = f(x, 0); return r + 1; } could be optimized to r = f(x, (z == 0 ? 1 : 0)); which would reduce the size of the generated code, and for most targets allow further simplifications on the COND_EXPR leading to branchless assembly. -- Summary: Missed optimization in ifcvt/crossjump Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: rth at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45032
[Bug target/45027] [4.6 Regression] FAIL: c-c++-common/dfp/pr36800.c
--- Comment #2 from rth at gcc dot gnu dot org 2010-07-22 21:40 --- Subject: Bug 45027 Author: rth Date: Thu Jul 22 21:40:41 2010 New Revision: 162429 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=162429 Log: PR target/45027 * config/i386/i386.c (setup_incoming_varargs_64): Force the use of V4SFmode for the SSE saves; increase stack alignment if needed. (ix86_gimplify_va_arg): Don't increase stack alignment here. Modified: trunk/gcc/ChangeLog trunk/gcc/config/i386/i386.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45027
[Bug target/45027] [4.6 Regression] FAIL: c-c++-common/dfp/pr36800.c
--- Comment #3 from rth at gcc dot gnu dot org 2010-07-22 22:04 --- Fixed. -- rth at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45027
[Bug target/44132] [4.6 Regression] emutls is broken under a range of circumstances.
-- rth at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |rth at gcc dot gnu dot org |dot org | Status|UNCONFIRMED |ASSIGNED Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2010-07-09 23:40:16 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44132
[Bug rtl-optimization/44469] [4.5/4.6 Regression] internal compiler error: in fixup_reorder_chain, at cfglayout.c:797
-- rth at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |rth at gcc dot gnu dot org |dot org | Status|NEW |ASSIGNED Last reconfirmed|2010-06-24 21:40:33 |2010-07-07 19:43:32 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44469
[Bug tree-optimization/44182] [4.5/4.6 Regression] -fcompare-debug failure (length) with -O1
--- Comment #5 from rth at gcc dot gnu dot org 2010-05-27 15:44 --- The context in which stmt_can_throw_internal is being called is different pre- and post-inlining, so of course the answer could be different. This is neither surprising nor a bug. I even tend to doubt (without checking of course) whether this is a regression with the EH rewrite, since I would expect the same new EH edge to have appeared with the old EH code -- anything less would have been a bug in the old EH code. However, in order to see the bug one also needs the VTA code present, which means looking at the redhat-4.4 branch. So yes, Jakub, I think the inliner needs to do something to clean up the debug statement that would appear alone in that new block. I suppose such debug statements would have to be dropped to avoid changing the code due to changes in the CFG. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44182
[Bug rtl-optimization/44123] gcc produces poor code at -O1
--- Comment #4 from rth at gcc dot gnu dot org 2010-05-13 22:41 --- The only thing wrong with the code from -O1 is that it didn't inline __ffs. Since that function isn't explicitly marked inline, I don't see anything wrong with that decision. Given that adding static inline to the declaration of __ffs results in code identical to that produced with -O2, I'm calling this not-a-bug. -- rth at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||WORKSFORME http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44123
[Bug target/43129] Simplify global variable's address loading with option -fpic
--- Comment #4 from rth at gcc dot gnu dot org 2010-04-07 15:45 --- My best guess is that this optimization should be done late. For instance, in the machine-dependant reorg pass. I don't see any place to hook this earlier. The problem is that reload should be able to spill pseudos containing your got addresses and re-compute them from the given constants rather than consuming a stack slot to hold the computed value. Which means that the number of instances of got address loads may vary until after reload, which means that any size estimation calculation you do earlier can be off. The down-side to doing it after reload is that you will have committed to saving and restoring arm_pic_register in the prologue and epilogue. Given that arm uses ldm/stm this ought not impact your code size often, but will in the extreme case of a leaf function with no other saved registers. I guess you'll have to experiment with your implementation to see what gives the best results on a large body of code. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43129
[Bug middle-end/43365] [4.5 Regression] Destructor not called when returning in exception handler
--- Comment #4 from rth at gcc dot gnu dot org 2010-03-16 23:02 --- Subject: Bug 43365 Author: rth Date: Tue Mar 16 23:02:35 2010 New Revision: 157499 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=157499 Log: PR middle-end/43365 * tree-eh.c (replace_goto_queue): Also replace in the eh_seq. (lower_try_finally): Save and restore eh_seq around the expansion of the try-finally. Added: trunk/gcc/testsuite/g++.dg/eh/pr43365.C Modified: trunk/gcc/ChangeLog trunk/gcc/tree-eh.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43365
[Bug middle-end/43365] [4.5 Regression] Destructor not called when returning in exception handler
-- rth at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |rth at gcc dot gnu dot org |dot org | Status|NEW |ASSIGNED Last reconfirmed|2010-03-14 17:27:20 |2010-03-15 18:53:26 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43365
[Bug tree-optimization/42833] [4.5 Regression] sra miscompiles qemu
--- Comment #2 from rth at gcc dot gnu dot org 2010-01-22 18:52 --- Subject: Bug 42833 Author: rth Date: Fri Jan 22 18:52:01 2010 New Revision: 156176 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=156176 Log: PR tree-opt/42833 * tree-sra.c (sra_modify_assign): Delay re-gimplification of the RHS until after generate_subtree_copies has insertted its code before the current statement. Added: trunk/gcc/testsuite/gcc.c-torture/execute/pr42833.c Modified: trunk/gcc/ChangeLog trunk/gcc/tree-sra.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42833
[Bug tree-optimization/42833] New: SRA miscompiles qemu
The reduced test case compiles down to xor %eax,%eax ret which comes from an invalid transformation in .030t.esra conv_u.v = vdest; res_115 = conv_u.i; - D.2888_153 = VIEW_CONVERT_EXPRuint32_t(vdest); vdest.v1 = vdest$v1_154; vdest.v2 = vdest$v2_152; vdest.v3 = vdest$v3_151; vdest.v4 = vdest$v4_150; conv_u$i_171 = D.2888_153; Note in particular that the components of vdest are stored after we've done the view_convert. -- Summary: SRA miscompiles qemu Product: gcc Version: 4.5.0 Status: UNCONFIRMED Keywords: wrong-code Severity: normal Priority: P3 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: rth at gcc dot gnu dot org GCC target triplet: x86_64-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42833
[Bug tree-optimization/42833] SRA miscompiles qemu
--- Comment #1 from rth at gcc dot gnu dot org 2010-01-21 16:56 --- Created an attachment (id=19683) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19683action=view) test case -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42833
[Bug tree-optimization/42833] [4.5 Regression] sra miscompiles qemu
-- rth at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |rth at gcc dot gnu dot org |dot org | Status|UNCONFIRMED |ASSIGNED Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2010-01-21 20:29:09 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42833
[Bug tree-optimization/42833] [4.5 Regression] sra miscompiles qemu
-- rth at gcc dot gnu dot org changed: What|Removed |Added Priority|P3 |P1 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42833
[Bug middle-end/41889] [4.5 Regression] ICE from '-O2 -fno-omit-frame-pointer -ftracer -fsched2-use-superblocks'
--- Comment #6 from rth at gcc dot gnu dot org 2010-01-06 18:22 --- *** This bug has been marked as a duplicate of 41833 *** -- rth at gcc dot gnu dot org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||DUPLICATE http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41889
[Bug rtl-optimization/41833] vec_splat followed by vec_splat could be improved
--- Comment #5 from rth at gcc dot gnu dot org 2010-01-06 18:22 --- *** Bug 41889 has been marked as a duplicate of this bug. *** -- rth at gcc dot gnu dot org changed: What|Removed |Added CC||b3timmons at speedymail dot ||org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41833
[Bug middle-end/41889] [4.5 Regression] ICE from '-O2 -fno-omit-frame-pointer -ftracer -fsched2-use-superblocks'
--- Comment #7 from rth at gcc dot gnu dot org 2010-01-06 18:23 --- Oops, wrong duplicate. -- rth at gcc dot gnu dot org changed: What|Removed |Added Status|RESOLVED|REOPENED Resolution|DUPLICATE | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41889
[Bug middle-end/41889] [4.5 Regression] ICE from '-O2 -fno-omit-frame-pointer -ftracer -fsched2-use-superblocks'
--- Comment #8 from rth at gcc dot gnu dot org 2010-01-06 18:23 --- *** This bug has been marked as a duplicate of 41883 *** -- rth at gcc dot gnu dot org changed: What|Removed |Added Status|REOPENED|RESOLVED Resolution||DUPLICATE http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41889
[Bug middle-end/41883] [4.5 Regression] ICE from '-O -fprofile-arcs -fsched2-use-superblocks -ftree-vrp -fschedule-insns2 -freorder-blocks'
--- Comment #4 from rth at gcc dot gnu dot org 2010-01-06 18:23 --- *** Bug 41889 has been marked as a duplicate of this bug. *** -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41883
[Bug middle-end/41883] [4.5 Regression] ICE from '-O -fprofile-arcs -fsched2-use-superblocks -ftree-vrp -fschedule-insns2 -freorder-blocks'
-- rth at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |rth at gcc dot gnu dot org |dot org | Status|NEW |ASSIGNED Last reconfirmed|2009-11-20 12:23:29 |2010-01-06 18:24:22 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41883
[Bug debug/42396] [4.5 Regression] ICE: in dwarf2out_frame_debug_adjust_cfa, at dwarf2out.c:1859
--- Comment #3 from rth at gcc dot gnu dot org 2010-01-06 18:24 --- *** This bug has been marked as a duplicate of 41883 *** -- rth at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||DUPLICATE http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42396
[Bug middle-end/41883] [4.5 Regression] ICE from '-O -fprofile-arcs -fsched2-use-superblocks -ftree-vrp -fschedule-insns2 -freorder-blocks'
--- Comment #5 from rth at gcc dot gnu dot org 2010-01-06 18:24 --- *** Bug 42396 has been marked as a duplicate of this bug. *** -- rth at gcc dot gnu dot org changed: What|Removed |Added CC||zsojka at seznam dot cz http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41883
[Bug middle-end/41883] [4.5 Regression] ICE from '-O -fprofile-arcs -fsched2-use-superblocks -ftree-vrp -fschedule-insns2 -freorder-blocks'
--- Comment #6 from rth at gcc dot gnu dot org 2010-01-06 18:34 --- Subject: Bug 41883 Author: rth Date: Wed Jan 6 18:34:31 2010 New Revision: 155680 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=155680 Log: PR middle-end/41883 * haifa-sched.c (add_to_note_list): Merge into ... (concat_note_lists): ... here, and ... (unlink_other_notes, rm_other_notes): Merge into... (remove_notes): ... here. Create REG_SAVE_NOTEs for NOTE_INSN_EPILOGUE_BEG. Added: trunk/gcc/testsuite/gcc.dg/pr42396.c Modified: trunk/gcc/ChangeLog trunk/gcc/haifa-sched.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41883
[Bug middle-end/41883] [4.5 Regression] ICE from '-O -fprofile-arcs -fsched2-use-superblocks -ftree-vrp -fschedule-insns2 -freorder-blocks'
--- Comment #7 from rth at gcc dot gnu dot org 2010-01-06 18:48 --- Fixed. -- rth at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41883
[Bug middle-end/42450] [4.5 Regression] another GCC 4.5 ICE on C++ templated code
-- rth at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |rth at gcc dot gnu dot org |dot org | Status|NEW |ASSIGNED Last reconfirmed|2009-12-21 22:04:10 |2010-01-05 17:14:21 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42450
[Bug debug/42396] [4.5 Regression] ICE: in dwarf2out_frame_debug_adjust_cfa, at dwarf2out.c:1859
-- rth at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |rth at gcc dot gnu dot org |dot org | Status|NEW |ASSIGNED Last reconfirmed|2009-12-17 16:38:20 |2010-01-05 17:36:59 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42396
[Bug debug/42288] please emit empty .debug_aranges section
--- Comment #6 from rth at gcc dot gnu dot org 2009-12-15 17:36 --- tromey rth: sorry... yeah, I tested the aranges patch and it worked for me. but it isn't clear we will need it now, we're discussing some form of caching w/ gdb rather than using the index sections rth ok. i'll leave the patch alone until you tell me we need it. -- rth at gcc dot gnu dot org changed: What|Removed |Added Status|NEW |SUSPENDED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42288
[Bug target/39677] AMD Opteron E needs workaround for lock erratum
--- Comment #4 from rth at gcc dot gnu dot org 2009-12-07 16:12 --- Not working on it any longer. -- rth at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|rth at gcc dot gnu dot org |unassigned at gcc dot gnu ||dot org Status|ASSIGNED|NEW http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39677
[Bug debug/42288] please emit empty .debug_aranges section
--- Comment #4 from rth at gcc dot gnu dot org 2009-12-07 16:19 --- Created an attachment (id=19249) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19249action=view) Proposed patch For the record, this is all that's needed for the above output. I see quite a few gdb regressions vs F12 system compiler. I suppose that could just be gcc 4.5, but since F12 also includes VTA I would hope that would not be the case... -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42288
[Bug debug/42166] [4.5 Regression] internal compiler error: verify_ssa failed
-- rth at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |rth at gcc dot gnu dot org |dot org | Status|NEW |ASSIGNED Last reconfirmed|2009-11-27 11:30:30 |2009-12-07 17:37:27 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42166
[Bug debug/42166] [4.5 Regression] internal compiler error: verify_ssa failed
--- Comment #5 from rth at gcc dot gnu dot org 2009-12-07 20:31 --- There appears to be a phase ordering problem. We duplicate a block in create_block_for_threading, which leaves users of various SSA names dangling waiting on a subsequent update_ssa. Before we get to that update_ssa we cleanup the cfg (as we must -- ssa update can't handle unreachable blocks). In the process of deleting the unreachable blocks we propagate the definition of a PHI which we are removing into its use in a DEBUG stmt. The problem being that the debug stmt in question isn't supposed to be referencing that PHI anymore. That debug stmt is in the new duplicate block and is supposed to be referencing the new PHI. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42166
[Bug debug/42166] [4.5 Regression] internal compiler error: verify_ssa failed
--- Comment #6 from rth at gcc dot gnu dot org 2009-12-07 21:00 --- Created an attachment (id=19253) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19253action=view) Proposed patch I'm testing this to account for the ssa_name marked for renaming problem. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42166
[Bug debug/42299] [4.5 Regression] another verify_ssa failure with -g -O2
--- Comment #4 from rth at gcc dot gnu dot org 2009-12-07 22:16 --- Same problem as PR42166. I'll add the C testcase as well. *** This bug has been marked as a duplicate of 42166 *** -- rth at gcc dot gnu dot org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||DUPLICATE http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42299
[Bug debug/42166] [4.5 Regression] internal compiler error: verify_ssa failed
--- Comment #7 from rth at gcc dot gnu dot org 2009-12-07 22:16 --- *** Bug 42299 has been marked as a duplicate of this bug. *** -- rth at gcc dot gnu dot org changed: What|Removed |Added CC||dcb314 at hotmail dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42166
[Bug debug/42244] [4.5 Regression] var-tracking ICE for 300.twolf
-- rth at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |jakub at gcc dot gnu dot org |dot org | Status|UNCONFIRMED |ASSIGNED Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2009-12-07 22:20:23 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42244
[Bug other/40302] [4.5 Regression] GCC must hard-require MPC before release
--- Comment #13 from rth at gcc dot gnu dot org 2009-12-07 22:22 --- Done, Kaveh? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40302
[Bug debug/42166] [4.5 Regression] internal compiler error: verify_ssa failed
--- Comment #8 from rth at gcc dot gnu dot org 2009-12-07 22:42 --- Subject: Bug 42166 Author: rth Date: Mon Dec 7 22:42:10 2009 New Revision: 155063 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=155063 Log: PR debug/42299 PR debug/42166 * tree-ssa.c (insert_debug_temp_for_var_def): Skip propagation for ssa names already registered for update. Added: trunk/gcc/testsuite/gcc.c-torture/compile/pr42299.c trunk/gcc/testsuite/gfortran.dg/pr42166.f90 Modified: trunk/gcc/ChangeLog trunk/gcc/tree-ssa.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42166
[Bug debug/42299] [4.5 Regression] another verify_ssa failure with -g -O2
--- Comment #5 from rth at gcc dot gnu dot org 2009-12-07 22:42 --- Subject: Bug 42299 Author: rth Date: Mon Dec 7 22:42:10 2009 New Revision: 155063 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=155063 Log: PR debug/42299 PR debug/42166 * tree-ssa.c (insert_debug_temp_for_var_def): Skip propagation for ssa names already registered for update. Added: trunk/gcc/testsuite/gcc.c-torture/compile/pr42299.c trunk/gcc/testsuite/gfortran.dg/pr42166.f90 Modified: trunk/gcc/ChangeLog trunk/gcc/tree-ssa.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42299
[Bug debug/42166] [4.5 Regression] internal compiler error: verify_ssa failed
--- Comment #9 from rth at gcc dot gnu dot org 2009-12-07 23:31 --- Fixed. -- rth at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42166
[Bug debug/42186] [4.5 Regression] [graphite] internal compiler error: verify_ssa failed
--- Comment #2 from rth at gcc dot gnu dot org 2009-12-07 23:59 --- Continues to fail with: -fgraphite-identity -O -ffast-math -- rth at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2009-12-07 23:59:43 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42186
[Bug rtl-optimization/42269] [4.4/4.5 Regression] Extra sign extension instructions generated
--- Comment #3 from rth at gcc dot gnu dot org 2009-12-08 00:44 --- Subject: Bug 42269 Author: rth Date: Tue Dec 8 00:44:28 2009 New Revision: 155071 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=155071 Log: PR rtl-opt/42269 * combine.c (setup_incoming_promotions): Improve the conditions under which we respect the promotions applied. Added: trunk/gcc/testsuite/gcc.c-torture/execute/pr42269-2.c trunk/gcc/testsuite/gcc.target/alpha/pr42269-1.c Modified: trunk/gcc/ChangeLog trunk/gcc/combine.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42269
[Bug rtl-optimization/42269] [4.4/4.5 Regression] Extra sign extension instructions generated
--- Comment #4 from rth at gcc dot gnu dot org 2009-12-08 00:48 --- Fixed for 4.5; I don't think I want to backport to 4.4 without a lot more testing. -- rth at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42269
[Bug rtl-optimization/27469] zero extension not eliminated
--- Comment #4 from rth at gcc dot gnu dot org 2009-12-08 00:55 --- 4.5 regression fixed in pr42269. I don't know that we'll ever be able to fix the original PR. The problem is that we need to work backward from the x = 0xf through the xor, and see that the srl doesn't actually use the garbage high bits that the srl might have shifted in. And then again back to the first srl. Combine can't handle this because there are 4 insns involved, and it only ever handles merging 3 at a time. So we'd need some sort of new pass that would be able to see these extensions are unneeded. -- rth at gcc dot gnu dot org changed: What|Removed |Added Priority|P3 |P4 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27469
[Bug debug/42288] please emit empty .debug_aranges section
--- Comment #1 from rth at gcc dot gnu dot org 2009-12-06 22:31 --- Reasonable. -- rth at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |rth at gcc dot gnu dot org |dot org | Status|UNCONFIRMED |ASSIGNED Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2009-12-06 22:31:12 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42288
[Bug debug/42234] [4.5 Regression] internal compiler error: verify_ssa failed
--- Comment #4 from rth at gcc dot gnu dot org 2009-12-07 00:00 --- Subject: Bug 42234 Author: rth Date: Sun Dec 6 23:59:52 2009 New Revision: 155025 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=155025 Log: PR debug/42234 * tree-ssa-dom.c (degenerate_phi_result): Check for NULL phi argument earlier. Added: trunk/gcc/testsuite/gcc.c-torture/compile/pr42234.c Modified: trunk/gcc/ChangeLog trunk/gcc/tree-ssa-dom.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42234
[Bug debug/42234] [4.5 Regression] internal compiler error: verify_ssa failed
--- Comment #5 from rth at gcc dot gnu dot org 2009-12-07 00:53 --- Fixed. -- rth at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42234
[Bug debug/42288] please emit empty .debug_aranges section
--- Comment #2 from rth at gcc dot gnu dot org 2009-12-07 02:04 --- To be sure, you're keying off having *some* aranges entry with a reference to a given CU in the debug_info section? So: Contents of the .debug_aranges section: Length: 28 Version: 2 Offset into .debug_info: 0x0 Pointer Size: 8 Segment Size: 0 AddressLength is exactly what you're looking for? -- rth at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|WAITING http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42288
[Bug middle-end/42303] Shift left as wide as mode is expanded into RTL as shift
--- Comment #1 from rth at gcc dot gnu dot org 2009-12-07 02:35 --- Shift by = mode size is undefined at the C language level. With -Wall, you'll get a warning for that. At the gimple level, I'm pretty sure we leave it alone, since we don't really know what else to do with it. At the rtl level, it's controlled by SHIFT_COUNT_TRUNCATED. On very few systems is a large shift actually evaluated to zero; most will evaluate it as x = y (count (bitsizeof(y)-1)). -- rth at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42303
[Bug rtl-optimization/42269] New: [4.4/4.5 Regression] Extra sign extension instructions generated
In reference to http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27469#c3 This bug to track the regression since 4.2, not the enhancement in the original PR. -- Summary: [4.4/4.5 Regression] Extra sign extension instructions generated Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: rtl-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: rth at gcc dot gnu dot org GCC target triplet: alphaev68-* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42269
[Bug rtl-optimization/42269] [4.4/4.5 Regression] Extra sign extension instructions generated
--- Comment #1 from rth at gcc dot gnu dot org 2009-12-04 01:24 --- Proposed patch: http://gcc.gnu.org/ml/gcc-patches/2009-12/msg00225.html -- rth at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |rth at gcc dot gnu dot org |dot org | Status|UNCONFIRMED |ASSIGNED Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2009-12-04 01:24:24 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42269
[Bug tree-optimization/42215] [4.5 Regression] internal compiler error: verify_stmts failed with -O2 -ftree-loop-distribution
--- Comment #2 from rth at gcc dot gnu dot org 2009-12-02 19:26 --- Confirmed. -- rth at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2009-12-02 19:26:47 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42215
[Bug tree-optimization/42215] [4.5 Regression] internal compiler error: verify_stmts failed with -O2 -ftree-loop-distribution
-- rth at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |rth at gcc dot gnu dot org |dot org | Status|NEW |ASSIGNED Last reconfirmed|2009-12-02 19:26:47 |2009-12-02 19:58:14 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42215
[Bug tree-optimization/42215] [4.5 Regression] internal compiler error: verify_stmts failed with -O2 -ftree-loop-distribution
--- Comment #3 from rth at gcc dot gnu dot org 2009-12-02 22:35 --- Subject: Bug 42215 Author: rth Date: Wed Dec 2 22:35:21 2009 New Revision: 154925 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=154925 Log: PR tree-opt/42215 * tree-loop-distribution.c (build_size_arg_loc): Tidy. (generate_memset_zero): Convert to sizetype properly. Tidy. Added: trunk/gcc/testsuite/gcc.dg/pr42215.c Modified: trunk/gcc/ChangeLog trunk/gcc/tree-loop-distribution.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42215
[Bug tree-optimization/42215] [4.5 Regression] internal compiler error: verify_stmts failed with -O2 -ftree-loop-distribution
--- Comment #4 from rth at gcc dot gnu dot org 2009-12-02 22:42 --- Fixed. -- rth at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42215
[Bug debug/42234] [4.5 Regression] internal compiler error: verify_ssa failed
-- rth at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |rth at gcc dot gnu dot org |dot org | Status|NEW |ASSIGNED Last reconfirmed|2009-12-01 08:19:33 |2009-12-02 22:44:49 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42234
[Bug rtl-optimization/27468] sign-extending Alpha instructions not exploited
--- Comment #3 from rth at gcc dot gnu dot org 2009-12-03 00:23 --- Note that f23 and f49 are fixed in gcc 4.5, probably by the fix to PR8603. The f5 test continues to have the unneeded extend. -- rth at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2009-12-03 00:23:35 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27468
[Bug rtl-optimization/27469] zero extension not eliminated
--- Comment #3 from rth at gcc dot gnu dot org 2009-12-03 00:32 --- Gcc 4.5 has regressed this even further: extwl $16,2,$1 xor $1,$16,$16 addl $31,$16,$16signextend zapnot $16,15,$1zeroextend of signextend srl $1,8,$1 Neither extension is needed, of course. -- rth at gcc dot gnu dot org changed: What|Removed |Added Last reconfirmed|2006-05-07 18:59:35 |2009-12-03 00:32:32 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27469
[Bug tree-optimization/42216] [4.5 Regression] 464.h265ref peak regressed 20%
--- Comment #1 from rth at gcc dot gnu dot org 2009-11-29 17:58 --- The vec_interleave_*_optab should still be populated. It's just that what was once sse2_punpcklwd is now vec_interleave_lowv8hi directly. If this patch *is* attributable to a regression, then perhaps there's a typo somewhere in the substitutions... -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42216
[Bug middle-end/42193] [4.5 Regression] 454.calculix in SPEC CPU 2006 failed to compile at -O3
--- Comment #3 from rth at gcc dot gnu dot org 2009-11-28 16:58 --- CC'ing you, Ira, since this is an SLP problem simply exposed by enabling permutation support in the target. -- rth at gcc dot gnu dot org changed: What|Removed |Added CC||irar at il dot ibm dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42193
[Bug c/41567] Too small .bss stack
--- Comment #14 from rth at gcc dot gnu dot org 2009-11-14 02:22 --- This is a linker bug. Recompiling without -g, so as to get error messages without the unhelpful symbolic interpretation, I can reproduce msmpeg4.c:(.text.unlikely+0xbe2): relocation truncated to fit: GPREL22 against `.bss' msmpeg4.c:(.text.unlikely+0xc80): relocation truncated to fit: GPREL22 against `.bss' Matching these offsets up with the object file, we see 0be2 00040086 R_IA64_LTOFF22X .bss + 29658 0c80 00040086 R_IA64_LTOFF22X .bss + 2a560 Notice these are *not* GPREL22 relocations, but LTOFF22X relocations. These LTOFF22X relocations are supposed to be relaxed to GPREL22 relocations by the linker, but ONLY IF the address is in range; otherwise they are to be interpreted as LTOFF22 relocations which store the full address in the GOT. Unfortunately, the ia64 linker doesn't implement --no-relax, like other targets do, so it's not easy to work around this bug. Also, it would be extremely helpful if there was a linker switch that disabled symbolic interpretation of section+offset. I spent a lot of time looking at the wrong addresses... I've created http://sourceware.org/bugzilla/show_bug.cgi?id=10955 to track this problem. You'll need to create new bugzilla accounts on the sourceware system in order to get CC'd. Closing this as not-a-gcc-bug. -- rth at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41567
[Bug target/42040] New: [ia64] Inappropriate address spills
Looking at msmpeg4.s from PR 41567, build with -O2 -fPIC, we see .LC2: data8 mv_tables#+72 ... addl r14 = @gprel(.LC2), gp We should not have spilled that address to the constant pool. Add -mno-sdata and it gets worse -- LC2 moves from .sdata to the .data.rel.ro section but we *still* use @gprel to address it, and that relocation may well be out of range. -- Summary: [ia64] Inappropriate address spills Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: rth at gcc dot gnu dot org GCC target triplet: ia64-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42040
[Bug c++/41959] New: Vector type name mangling is size ambiguous
--- #include x86intrin.h void f(__m128) { } void f(__m256) { } --- Build with the -mavx flag to enable 32-byte vectors. z.s: Assembler messages: z.s:22: Error: symbol `_Z1fU8__vectorf' is already defined This because the vector mangling does not include the size of the vector, and thus __m128 and __m256 mangle to the same thing. -- Summary: Vector type name mangling is size ambiguous Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: blocker Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: rth at gcc dot gnu dot org GCC target triplet: i386-* x86_64-* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41959
[Bug c++/41819] [4.5 regression] ICE with try/catch and -fno-exceptions
--- Comment #2 from rth at gcc dot gnu dot org 2009-10-27 18:12 --- Mine. -- rth at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |rth at gcc dot gnu dot org |dot org | Status|NEW |ASSIGNED Last reconfirmed|2009-10-27 02:42:57 |2009-10-27 18:12:55 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41819
[Bug c++/41819] [4.5 regression] ICE with try/catch and -fno-exceptions
--- Comment #3 from rth at gcc dot gnu dot org 2009-10-27 20:09 --- Subject: Bug 41819 Author: rth Date: Tue Oct 27 20:09:07 2009 New Revision: 153615 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=153615 Log: PR c++/41819 * tree-eh.c (eh_region_may_contain_throw_map): Rename from eh_region_may_contain_throw; update users. (eh_region_may_contain_throw): New function. (lower_catch): Check flag_exceptions before creating exception region. (lower_eh_filter, lower_eh_must_not_throw): Likewise. (lower_cleanup): Tidy existing flag_exceptions check to match. Added: trunk/gcc/testsuite/g++.dg/eh/pr41819.C Modified: trunk/gcc/ChangeLog trunk/gcc/tree-eh.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41819
[Bug c++/41819] [4.5 regression] ICE with try/catch and -fno-exceptions
--- Comment #4 from rth at gcc dot gnu dot org 2009-10-27 20:11 --- Fixed. -- rth at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41819
[Bug tree-optimization/41377] [4.5 Regression] gimple EH rewrite causes ICE with PPRE (enabled at -O3)
--- Comment #6 from rth at gcc dot gnu dot org 2009-10-13 18:42 --- Subject: Bug 41377 Author: rth Date: Tue Oct 13 18:41:56 2009 New Revision: 152728 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=152728 Log: PR tree-optimization/41377 * tree-eh.c (unsplit_eh): Propagate degenerate PHIs. (cleanup_empty_eh_merge_phis): New change_region parameter; pass it on to redirect_eh_edge_1. Update callers. (cleanup_empty_eh_unsplit): Don't require an existing EH label at the destination block. Added: trunk/gcc/testsuite/g++.dg/opt/eh5.C Modified: trunk/gcc/ChangeLog trunk/gcc/tree-eh.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41377
[Bug tree-optimization/41377] [4.5 Regression] gimple EH rewrite causes ICE with PPRE (enabled at -O3)
--- Comment #7 from rth at gcc dot gnu dot org 2009-10-13 18:45 --- Fixed. -- rth at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41377
[Bug target/41653] not optimal result for multiplication with constant when -Os is specified
--- Comment #1 from rth at gcc dot gnu dot org 2009-10-12 21:51 --- The expand pass relies on the rtx cost model to be correct. I assume that arm_size_rtx_costs is models multiply incorrectly. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41653
[Bug tree-optimization/41377] [4.5 Regression] gimple EH rewrite causes ICE with PPRE (enabled at -O3)
--- Comment #5 from rth at gcc dot gnu dot org 2009-10-12 22:34 --- Mine. -- rth at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |rth at gcc dot gnu dot org |dot org | Status|NEW |ASSIGNED Last reconfirmed|2009-10-05 00:09:08 |2009-10-12 22:34:01 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41377
[Bug target/39677] AMD Opteron E needs workaround for lock erratum
--- Comment #3 from rth at gcc dot gnu dot org 2009-10-13 01:07 --- Not an openmp bug; we've got to make the change for all code gcc generates. -- rth at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |rth at gcc dot gnu dot org |dot org | Status|NEW |ASSIGNED Component|middle-end |target Keywords|openmp | Last reconfirmed|2009-04-07 13:42:25 |2009-10-13 01:07:32 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39677
[Bug bootstrap/41395] [4.5 regression] Revision 151800 failed bootstrap
--- Comment #39 from rth at gcc dot gnu dot org 2009-09-29 20:54 --- (In reply to comment #35) static tree build_function_type_list_1 (bool vaargs, tree return_type, va_list argp) Passing va_list by value is non-portable. One fix here is to pass argp by reference. Dunno if that fixes this problem though, since the main problem for Alpha seems to be the stdarg thing. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41395
[Bug target/41505] GCC choosing poor code sequence for certain stores (x86)
--- Comment #3 from rth at gcc dot gnu dot org 2009-09-29 21:18 --- There are already peepholes for this, though the condition appears to be slightly wrong for -Os. See i386.md:21121 : (define_peephole2 [(match_scratch:SI 1 r) (set (match_operand:SI 0 memory_operand ) (const_int 0))] optimize_insn_for_speed_p () ! TARGET_USE_MOV0 TARGET_SPLIT_LONG_MOVES get_attr_length (insn) = ix86_cur_cost ()-large_insn peep2_regno_dead_p (0, FLAGS_REG) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41505
[Bug target/41505] GCC choosing poor code sequence for certain stores (x86)
--- Comment #5 from rth at gcc dot gnu dot org 2009-09-29 23:43 --- Yeah, that looks right. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41505
[Bug middle-end/41469] [4.5 Regression] -fexceptions ICE in expand_gimple_stmt_1, at cfgexpand.c:1947
--- Comment #3 from rth at gcc dot gnu dot org 2009-09-25 17:47 --- We're generating exception handling code when we previously didn't. I suspect that the changes to the call location of using_eh_for_cleanups. -- rth at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |rth at gcc dot gnu dot org |dot org | Status|NEW |ASSIGNED Last reconfirmed|2009-09-25 15:03:13 |2009-09-25 17:47:41 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41469
[Bug middle-end/41469] [4.5 Regression] -fexceptions ICE in expand_gimple_stmt_1, at cfgexpand.c:1947
--- Comment #4 from rth at gcc dot gnu dot org 2009-09-25 20:49 --- Subject: Bug 41469 Author: rth Date: Fri Sep 25 20:49:08 2009 New Revision: 152185 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=152185 Log: PR middle-end/41469 * tree-eh.c (lower_resx): Resolve RESX with no source region to __builtin_trap. (gate_lower_resx): New. (gate_lower_eh_dispatch): Rename from gate_lower_ehcontrol. Added: trunk/gcc/testsuite/gcc.c-torture/compile/pr41469.c Modified: trunk/gcc/ChangeLog trunk/gcc/tree-eh.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41469
[Bug bootstrap/41405] [4.5 Regression] Bootstrap fails on *-apple-darwin* due to revision 151815
--- Comment #64 from rth at gcc dot gnu dot org 2009-09-24 17:02 --- Subject: Bug 41405 Author: rth Date: Thu Sep 24 17:02:29 2009 New Revision: 152127 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=152127 Log: PR bootstrap/41405 * common.opt: Initialize dwarf_strict to -1. * toplev.c (process_options): Catch unset dwarf_strict and set to 0 for all targets not overriding. * config/darwin.c (darwin_override_options): Catch unset dwarf_strict and override to 1. Modified: trunk/gcc/ChangeLog trunk/gcc/common.opt trunk/gcc/config/darwin.c trunk/gcc/toplev.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41405