[Bug middle-end/45422] [4.6 Regression] compile time increases 3x.

2010-08-31 Thread davidxl at gcc dot gnu dot org
--- Comment #26 from davidxl at gcc dot gnu dot org 2010-08-31 17:45 --- Good observation re. the number of IVs in the final set. This usually points to some problem/bug in the cost function. I briefly looked at this case -- it indeed exposes two more bugs in the cost model: 1) the

[Bug middle-end/45422] [4.6 Regression] compile time increases 3x.

2010-08-30 Thread davidxl at gcc dot gnu dot org
--- Comment #25 from davidxl at gcc dot gnu dot org 2010-08-30 16:41 --- (In reply to comment #24) > (In reply to comment #20) > > (In reply to comment #16) > > > adjust summary according to the last timings > > > > > > > I am surprised to see

[Bug middle-end/45422] [4.6 Regression] compile time increases 3x.

2010-08-29 Thread davidxl at gcc dot gnu dot org
--- Comment #21 from davidxl at gcc dot gnu dot org 2010-08-30 03:19 --- (In reply to comment #17) > tree iv optimization : 32.57 (20%) usr 0.10 ( 5%) sys 32.73 (20%) wall > 322095 kB (18%) ggc > > > 20% is still completely unreasonable for IV optimization.

[Bug middle-end/45422] [4.6 Regression] compile time increases 3x.

2010-08-29 Thread davidxl at gcc dot gnu dot org
--- Comment #20 from davidxl at gcc dot gnu dot org 2010-08-30 03:10 --- (In reply to comment #16) > adjust summary according to the last timings > I am surprised to see such big differences between trunk and previous releases. Compiling this test case with the those options

[Bug middle-end/45422] [4.6 Regression] compile time increases 8x.

2010-08-27 Thread davidxl at gcc dot gnu dot org
--- Comment #10 from davidxl at gcc dot gnu dot org 2010-08-28 06:00 --- fixed in r163610. -- davidxl at gcc dot gnu dot org changed: What|Removed |Added

[Bug middle-end/45422] [4.6 Regression] compile time increases 8x.

2010-08-27 Thread davidxl at gcc dot gnu dot org
--- Comment #9 from davidxl at gcc dot gnu dot org 2010-08-27 17:01 --- Will take a look -- davidxl at gcc dot gnu dot org changed: What|Removed |Added

[Bug middle-end/45098] Missed induction variable optimization

2010-07-30 Thread davidxl at gcc dot gnu dot org
--- Comment #1 from davidxl at gcc dot gnu dot org 2010-07-30 17:23 --- Seems -Os specific -- also reproducible on x86. With -O2, the result is expected. David -- davidxl at gcc dot gnu dot org changed: What|Removed |Added

[Bug c++/45121] [4.6 Regression] c-c++-common/uninit-17.c

2010-07-29 Thread davidxl at gcc dot gnu dot org
--- Comment #3 from davidxl at gcc dot gnu dot org 2010-07-29 17:21 --- Fixed in r162687 -- davidxl at gcc dot gnu dot org changed: What|Removed |Added

[Bug c++/45121] [4.6 Regression] c-c++-common/uninit-17.c

2010-07-28 Thread davidxl at gcc dot gnu dot org
--- Comment #2 from davidxl at gcc dot gnu dot org 2010-07-29 05:51 --- The problem is that before the ivopt patch, the ivopt patch introduced a iv candidate that is unconditionally initialized with b: ivtmp_xxx = b (D); After the patch, this assignment no longer exists, and the use

[Bug testsuite/44932] gcc.dg/uninit-pred-9_b.c fails

2010-07-19 Thread davidxl at gcc dot gnu dot org
--- Comment #4 from davidxl at gcc dot gnu dot org 2010-07-19 16:34 --- Fixed in r162310. David -- davidxl at gcc dot gnu dot org changed: What|Removed |Added

[Bug testsuite/44932] gcc.dg/uninit-pred-9_b.c fails

2010-07-13 Thread davidxl at gcc dot gnu dot org
--- Comment #1 from davidxl at gcc dot gnu dot org 2010-07-14 04:12 --- This seems to be specific to powerpc. Could you attach the dump files with options: -O2 -Wuninitialized -fdump-tree-cddce2 -fdump-tree-uninit-details Thanks, David (In reply to comment #0) > Subject testc

[Bug tree-optimization/43846] [4.5 Regression] array vs members, total scalarization issues

2010-04-22 Thread davidxl at gcc dot gnu dot org
--- Comment #3 from davidxl at gcc dot gnu dot org 2010-04-22 17:04 --- (In reply to comment #2) > (In reply to comment #1) > > > > so it doesn't consider the struct with the array for total scalarization > > for some reason. Martin? > > > > Wel

[Bug c/42643] "may be used uninitialized" compiled with "-Wall -O"

2010-04-20 Thread davidxl at gcc dot gnu dot org
--- Comment #1 from davidxl at gcc dot gnu dot org 2010-04-21 00:29 --- (In reply to comment #0) > When compiling the source with "-Wall -O", gcc gives the following warning: > > % gcc -c -Wall -O gcc_test.c > gcc_test.c: In function ?functionLeon?: > gcc_test.

[Bug middle-end/20968] spurious "may be used uninitialized" warning (conditional PHIs)

2010-04-20 Thread davidxl at gcc dot gnu dot org
--- Comment #8 from davidxl at gcc dot gnu dot org 2010-04-21 00:27 --- (In reply to comment #2) > Note this is not fully a regression but really a progression. > What is happening now is only partial optimizations is happen before the > warning to happen. > > >I wa

[Bug middle-end/36550] Wrong "may be used uninitialized" warning (conditional PHIs)

2010-04-20 Thread davidxl at gcc dot gnu dot org
--- Comment #11 from davidxl at gcc dot gnu dot org 2010-04-20 23:55 --- (In reply to comment #2) > (In reply to comment #1) > > check() can return 1 on the first call and 0 on the second and if *argv is > > NULL > > then then "bug" will be used unin

[Bug middle-end/35560] Missing CSE/PRE for memory operations involved in virtual call.

2010-02-03 Thread davidxl at gcc dot gnu dot org
--- Comment #13 from davidxl at gcc dot gnu dot org 2010-02-03 22:05 --- (In reply to comment #12) > Btw, a destructor call also changes the vtbl pointer. > ctors, dtors, wrapper function calls etc are all handled. Detailed write up will be available at some point. To put it a

[Bug middle-end/35560] Missing CSE/PRE for memory operations involved in virtual call.

2010-02-03 Thread davidxl at gcc dot gnu dot org
--- Comment #11 from davidxl at gcc dot gnu dot org 2010-02-03 21:55 --- (In reply to comment #9) > Ah, "Set aside the standard". Another user who wants to make up his own > semantics for a standardized language. No, no, and damn no. > Of course, things like thi

[Bug middle-end/35560] Missing CSE/PRE for memory operations involved in virtual call.

2010-02-03 Thread davidxl at gcc dot gnu dot org
--- Comment #8 from davidxl at gcc dot gnu dot org 2010-02-03 21:44 --- (In reply to comment #7) > It is valid to use placement new to construct a more or less derived type > which would change the vtable pointer. > > Thus I think this bug is still invalid. > How did

[Bug middle-end/35560] Missing CSE/PRE for memory operations involved in virtual call.

2010-02-03 Thread davidxl at gcc dot gnu dot org
--- Comment #6 from davidxl at gcc dot gnu dot org 2010-02-03 18:30 --- See discussions in http://gcc.gnu.org/ml/gcc-patches/2010-02/msg00138.html about changing dynamic types using placement new -- it is basically not allowed -- so the optimization is valid. David -- davidxl at

[Bug target/40956] GCSE opportunity in if statement

2009-12-23 Thread davidxl at gcc dot gnu dot org
--- Comment #3 from davidxl at gcc dot gnu dot org 2009-12-23 19:37 --- This bug is ARM specific (thumb) mode. In x86, the hoisting is unnecessary as the move instruction support the imm form. The issue here is more in the GIMPLE canonicalization (target specific). In this case, the

[Bug tree-optimization/42337] GCC ICE in compute_antic, at tree-ssa-pre.c:2534

2009-12-09 Thread davidxl at gcc dot gnu dot org
--- Comment #2 from davidxl at gcc dot gnu dot org 2009-12-09 18:07 --- Fixed in r155111. -- davidxl at gcc dot gnu dot org changed: What|Removed |Added

[Bug c++/41038] New: Parsing error related to qualified name id

2009-08-11 Thread davidxl at gcc dot gnu dot org
++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: davidxl at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41038

[Bug tree-optimization/41012] New: Missing inlining after indirect call promotion

2009-08-08 Thread davidxl at gcc dot gnu dot org
s: UNCONFIRMED Keywords: missed-optimization Severity: normal Priority: P3 Component: tree-optimization AssignedTo: davidxl at gcc dot gnu dot org ReportedBy: davidxl at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41012

[Bug tree-optimization/39548] gcc ICE compiling code with option -fprofile-generate

2009-03-27 Thread davidxl at gcc dot gnu dot org
--- Comment #8 from davidxl at gcc dot gnu dot org 2009-03-27 18:28 --- See r145118 for the fix. -- davidxl at gcc dot gnu dot org changed: What|Removed |Added

[Bug tree-optimization/39557] Invalid PDOM lead to infinite loop to be generated

2009-03-27 Thread davidxl at gcc dot gnu dot org
--- Comment #2 from davidxl at gcc dot gnu dot org 2009-03-27 18:25 --- See SVN revision 145121 for the fix. -- davidxl at gcc dot gnu dot org changed: What|Removed |Added

[Bug tree-optimization/39557] Invalid PDOM lead to infinite loop to be generated

2009-03-25 Thread davidxl at gcc dot gnu dot org
--- Comment #1 from davidxl at gcc dot gnu dot org 2009-03-25 23:10 --- Created an attachment (id=17542) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17542&action=view) test case -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39557

[Bug tree-optimization/39557] New: Invalid PDOM lead to infinite loop to be generated

2009-03-25 Thread davidxl at gcc dot gnu dot org
Priority: P3 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: davidxl at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39557

[Bug tree-optimization/39548] gcc ICE compiling code with option -fprofile-generate

2009-03-24 Thread davidxl at gcc dot gnu dot org
--- Comment #6 from davidxl at gcc dot gnu dot org 2009-03-24 21:33 --- (In reply to comment #4) > Btw, it shouldn't really happen that we are not allowed to copyprop PHI > arguments. It hints at some inconsistency in the IL instead. > This sounds good. David(In reply

[Bug tree-optimization/39548] gcc ICE compiling code with option -fprofile-generate

2009-03-24 Thread davidxl at gcc dot gnu dot org
--- Comment #5 from davidxl at gcc dot gnu dot org 2009-03-24 21:25 --- (In reply to comment #3) > It might be better to place the check after the loop (and put an assert in > set_copy_of_val that triggers the copy may not happen). > This sounds good. David -- http://gc

[Bug tree-optimization/39548] gcc ICE compiling code with option -fprofile-generate

2009-03-24 Thread davidxl at gcc dot gnu dot org
--- Comment #2 from davidxl at gcc dot gnu dot org 2009-03-24 17:51 --- Created an attachment (id=17539) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17539&action=view) patch file -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39548

[Bug tree-optimization/39548] gcc ICE compiling code with option -fprofile-generate

2009-03-24 Thread davidxl at gcc dot gnu dot org
--- Comment #1 from davidxl at gcc dot gnu dot org 2009-03-24 17:50 --- Created an attachment (id=17538) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17538&action=view) Test case -- davidxl at gcc dot gnu dot org changed: What|

[Bug tree-optimization/39548] New: gcc ICE compiling code with option -fprofile-generate

2009-03-24 Thread davidxl at gcc dot gnu dot org
t gcc dot gnu dot org ReportedBy: davidxl at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39548

[Bug middle-end/38204] PRE for post dominating expressions

2008-11-21 Thread davidxl at gcc dot gnu dot org
--- Comment #3 from davidxl at gcc dot gnu dot org 2008-11-22 00:35 --- (In reply to comment #2) > (In reply to comment #0) > > For this function: > > int test (int a, int b, int c, int g) > > { > > int d, e; > > if (a) > > d = b * c; &g

[Bug rtl-optimization/36438] gcc ICE compiling code with mmx builtin

2008-06-05 Thread davidxl at gcc dot gnu dot org
--- Comment #6 from davidxl at gcc dot gnu dot org 2008-06-05 17:37 --- (In reply to comment #5) > Patch at http://gcc.gnu.org/ml/gcc-patches/2008-06/msg00268.html > Thanks -- same as my local workaround. David -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36438

[Bug rtl-optimization/36438] gcc ICE compiling code with mmx builtin

2008-06-04 Thread davidxl at gcc dot gnu dot org
--- Comment #1 from davidxl at gcc dot gnu dot org 2008-06-05 06:41 --- cse1 (RTL) does some expression simplification on the fly such as t = x << 4 r = t << 4 ==> r = x << 8 However for mmx shift operation, the mode (V1DI) for the const folding is illega

[Bug rtl-optimization/36438] New: gcc ICE compiling code with mmx builtin

2008-06-04 Thread davidxl at gcc dot gnu dot org
: ice-on-valid-code Severity: normal Priority: P3 Component: rtl-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: davidxl at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36438

[Bug c++/23383] builtin array operator new is not marked with malloc attribute

2008-06-04 Thread davidxl at gcc dot gnu dot org
--- Comment #15 from davidxl at gcc dot gnu dot org 2008-06-04 17:34 --- (In reply to comment #14) > We do the exact opposite - type-based rules override points-to must-alias > information (or really may-alias information). Also for the proposed scheme > to work you need to

[Bug c++/23383] builtin array operator new is not marked with malloc attribute

2008-06-04 Thread davidxl at gcc dot gnu dot org
--- Comment #13 from davidxl at gcc dot gnu dot org 2008-06-04 16:48 --- (In reply to comment #12) > Interesting things start to happen once you inline allocator functions as > well. > See PR29286 and PR33407 which we still don't handle 100% correct. > I browsed thr