[Bug target/61092] [4.10 Regression]: wide-int merge broke alpha bootstrap
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
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
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
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
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
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
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
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
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.