[Bug tree-optimization/34099] [4.3 Regression] optimizer problem

2007-11-19 Thread rguenth at gcc dot gnu dot org
--- Comment #17 from rguenth at gcc dot gnu dot org 2007-11-19 12:53 --- Subject: Bug 34099 Author: rguenth Date: Mon Nov 19 12:52:58 2007 New Revision: 130290 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=130290 Log: 2007-11-19 Richard Guenther <[EMAIL PROTECTED]>

[Bug tree-optimization/34099] [4.3 Regression] optimizer problem

2007-11-19 Thread rguenth at gcc dot gnu dot org
--- Comment #16 from rguenth at gcc dot gnu dot org 2007-11-19 12:52 --- Subject: Bug 34099 Author: rguenth Date: Mon Nov 19 12:52:09 2007 New Revision: 130289 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=130289 Log: 2007-11-19 Richard Guenther <[EMAIL PROTECTED]>

[Bug tree-optimization/34099] [4.3 Regression] optimizer problem

2007-11-16 Thread rguenth at gcc dot gnu dot org
--- Comment #15 from rguenth at gcc dot gnu dot org 2007-11-16 10:36 --- Fixed. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNE

[Bug tree-optimization/34099] [4.3 Regression] optimizer problem

2007-11-16 Thread rguenth at gcc dot gnu dot org
--- Comment #14 from rguenth at gcc dot gnu dot org 2007-11-16 10:10 --- Subject: Bug 34099 Author: rguenth Date: Fri Nov 16 10:10:05 2007 New Revision: 130222 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=130222 Log: 2007-11-16 Richard Guenther <[EMAIL PROTECTED]>

[Bug tree-optimization/34099] [4.3 Regression] optimizer problem

2007-11-15 Thread rguenth at gcc dot gnu dot org
--- Comment #12 from rguenth at gcc dot gnu dot org 2007-11-15 17:10 --- Trivial testcase we get wrong with the current scheme: int foo (int b, int c) { int x; if (b) return x & c; else return 1; } extern void abort (void); int main() { if (foo(1, 0) != 0) abort ();

[Bug tree-optimization/34099] [4.3 Regression] optimizer problem

2007-11-15 Thread rguenth at gcc dot gnu dot org
--- Comment #13 from rguenth at gcc dot gnu dot org 2007-11-15 17:17 --- I think this has been caused by the fix for PR29738. Author: rakdver Date: Thu Nov 9 00:09:43 2006 New Revision: 118602 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=118602 Log: PR tree-optimizat

[Bug tree-optimization/34099] [4.3 Regression] optimizer problem

2007-11-15 Thread rguenth at gcc dot gnu dot org
--- Comment #11 from rguenth at gcc dot gnu dot org 2007-11-15 16:38 --- Oh, trivial error. Looking again tomorrow. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added ---

[Bug tree-optimization/34099] [4.3 Regression] optimizer problem

2007-11-15 Thread ebotcazou at gcc dot gnu dot org
--- Comment #6 from ebotcazou at gcc dot gnu dot org 2007-11-15 15:44 --- > That is, a certain class of operations (like COMPLEX_EXPR) do not fulfil the > constraint that if one operand is UNDEFINED the result is UNDEFINED as well. Is the problem somehow related to PR middle-end/33088?

[Bug tree-optimization/34099] [4.3 Regression] optimizer problem

2007-11-15 Thread rguenth at gcc dot gnu dot org
--- Comment #10 from rguenth at gcc dot gnu dot org 2007-11-15 16:08 --- Created an attachment (id=14558) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14558&action=view) new broken patch Err, that was an old patch. -- rguenth at gcc dot gnu dot org changed: What

[Bug tree-optimization/34099] [4.3 Regression] optimizer problem

2007-11-15 Thread rguenth at gcc dot gnu dot org
--- Comment #9 from rguenth at gcc dot gnu dot org 2007-11-15 16:06 --- Created an attachment (id=14557) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14557&action=view) broken patch It miscompiles gengtype. I remember problems with changing likely_value in similar ways back in t

[Bug tree-optimization/34099] [4.3 Regression] optimizer problem

2007-11-15 Thread rguenth at gcc dot gnu dot org
--- Comment #8 from rguenth at gcc dot gnu dot org 2007-11-15 16:04 --- Which doesn't work :( Unassigning. -- rguenth at gcc dot gnu dot org changed: What|Removed |Added

[Bug tree-optimization/34099] [4.3 Regression] optimizer problem

2007-11-15 Thread rguenther at suse dot de
--- Comment #7 from rguenther at suse dot de 2007-11-15 15:51 --- Subject: Re: [4.3 Regression] optimizer problem On Thu, 15 Nov 2007, ebotcazou at gcc dot gnu dot org wrote: > --- Comment #6 from ebotcazou at gcc dot gnu dot org 2007-11-15 15:44 > --- > > That is, a certain

[Bug tree-optimization/34099] [4.3 Regression] optimizer problem

2007-11-15 Thread rguenth at gcc dot gnu dot org
--- Comment #5 from rguenth at gcc dot gnu dot org 2007-11-15 15:40 --- That is, a certain class of operations (like COMPLEX_EXPR) do not fulfil the constraint that if one operand is UNDEFINED the result is UNDEFINED as well. For example MIN_EXPR , or MAX_EXPR are of such kind as well.

[Bug tree-optimization/34099] [4.3 Regression] optimizer problem

2007-11-15 Thread rguenth at gcc dot gnu dot org
--- Comment #4 from rguenth at gcc dot gnu dot org 2007-11-15 15:08 --- This looks like this old bug that evaluate_stmt() sets results to UNDEFINED. As we visit D.26933_16 = __t_14 * D.26932_15; the result should become VARYING, but we make it UNDEFINED. Because also likely_value ()

[Bug tree-optimization/34099] [4.3 Regression] optimizer problem

2007-11-15 Thread rguenth at gcc dot gnu dot org
--- Comment #3 from rguenth at gcc dot gnu dot org 2007-11-15 14:56 --- Uhm, this goes wrong in CCP. (w/o SRA the failure doesn't trigger though) Before CCP we have: void multiply(NumType, NumType, unsigned int, NumType&) (a, b, ac, ab) { double s$_M_value$real; double s$_M_value

[Bug tree-optimization/34099] [4.3 Regression] optimizer problem

2007-11-15 Thread rguenth at gcc dot gnu dot org
--- Comment #2 from rguenth at gcc dot gnu dot org 2007-11-15 10:21 --- Confirmed. Shorter testcase: #include #include typedef std::complex NumType; void multiply(NumType a, NumType b, unsigned ac, NumType &ab) { NumType s; for (unsigned j=0; jhttp://gcc.gnu.org/bugzilla/show_b