[Bug target/61092] [4.10 Regression]: wide-int merge broke alpha bootstrap

2014-05-09 Thread uros at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=61092

--- Comment #10 from uros at gcc dot gnu.org ---
Author: uros
Date: Fri May  9 15:02:09 2014
New Revision: 210278

URL: http://gcc.gnu.org/viewcvs?rev=210278root=gccview=rev
Log:
Backport from mainline
2014-05-08  Uros Bizjak  ubiz...@gmail.com

PR target/61092
* config/alpha/alpha.c: Include gimple-iterator.h.
(alpha_gimple_fold_builtin): New function.  Move
ALPHA_BUILTIN_UMULH folding from ...
(alpha_fold_builtin): ... here.
(TARGET_GIMPLE_FOLD_BUILTIN): New define.


Modified:
branches/gcc-4_9-branch/gcc/ChangeLog
branches/gcc-4_9-branch/gcc/config/alpha/alpha.c


[Bug target/61092] [4.10 Regression]: wide-int merge broke alpha bootstrap

2014-05-09 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=61092

Uroš Bizjak ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED
   Target Milestone|4.10.0  |4.9.1

--- Comment #11 from Uroš Bizjak ubizjak at gmail dot com ---
Fixed.

[Bug target/61092] [4.10 Regression]: wide-int merge broke alpha bootstrap

2014-05-08 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=61092

Uroš Bizjak ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2014-05-08
   Assignee|unassigned at gcc dot gnu.org  |ubizjak at gmail dot com
 Ever confirmed|0   |1

--- Comment #8 from Uroš Bizjak ubizjak at gmail dot com ---
Patch at [1].

[1] http://gcc.gnu.org/ml/gcc-patches/2014-05/msg00493.html

[Bug target/61092] [4.10 Regression]: wide-int merge broke alpha bootstrap

2014-05-08 Thread uros at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=61092

--- Comment #9 from uros at gcc dot gnu.org ---
Author: uros
Date: Thu May  8 19:02:28 2014
New Revision: 210233

URL: http://gcc.gnu.org/viewcvs?rev=210233root=gccview=rev
Log:
PR target/61092
* config/alpha/alpha.c: Include gimple-iterator.h.
(alpha_gimple_fold_builtin): New function.  Move
ALPHA_BUILTIN_UMULH folding from ...
(alpha_fold_builtin): ... here.
(TARGET_GIMPLE_FOLD_BUILTIN): New define.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/alpha/alpha.c


[Bug target/61092] [4.10 Regression]: wide-int merge broke alpha bootstrap

2014-05-07 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=61092

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||build
  Component|bootstrap   |target
   Target Milestone|--- |4.10.0


[Bug target/61092] [4.10 Regression]: wide-int merge broke alpha bootstrap

2014-05-07 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=61092

--- Comment #4 from Uroš Bizjak ubizjak at gmail dot com ---
Jakub, what do you think about following c++ patch:

--cut here--
Index: semantics.c
===
--- semantics.c (revision 210137)
+++ semantics.c (working copy)
@@ -9630,6 +9630,7 @@ cxx_eval_constant_expression (const constexpr_call
 case PLUS_EXPR:
 case MINUS_EXPR:
 case MULT_EXPR:
+case MULT_HIGHPART_EXPR:
 case TRUNC_DIV_EXPR:
 case CEIL_DIV_EXPR:
 case FLOOR_DIV_EXPR:
@@ -10484,6 +10485,7 @@ potential_constant_expression_1 (tree t, bool want

 case PLUS_EXPR:
 case MULT_EXPR:
+case MULT_HIGHPART_EXPR:
 case POINTER_PLUS_EXPR:
 case RDIV_EXPR:
 case EXACT_DIV_EXPR:
--cut here--

This patch fixes the compilation of the testcase and allows native alpha
bootstrap to continue.

[Bug target/61092] [4.10 Regression]: wide-int merge broke alpha bootstrap

2014-05-07 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=61092

--- Comment #5 from Jakub Jelinek jakub at gcc dot gnu.org ---
See the discussions, this is a step in a bad direction, the backend builtins
should be folded only during gimplification (i.e. the gimple_fold_builtin
targhook), unless folding them is required e.g. for C++11 constexprs etc.
If folding them is solely an optimization or implementation of those builtins,
then the FE should see them just as calls and only later on they should be
folded.


[Bug target/61092] [4.10 Regression]: wide-int merge broke alpha bootstrap

2014-05-07 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=61092

--- Comment #6 from Richard Biener rguenth at gcc dot gnu.org ---
IMHO fold_builtin should go away entirely in favor of gimple_fold_builtin.


[Bug target/61092] [4.10 Regression]: wide-int merge broke alpha bootstrap

2014-05-07 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=61092

--- Comment #7 from Uroš Bizjak ubizjak at gmail dot com ---
Created attachment 32757
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=32757action=edit
Proposed patch that implements TARGET_GIMPLE_FOLD_BUILTIN for alpha

I am testing the attached patch.