[RFC] Making fold-const sane WRT symbol visibilities

2014-06-24 Thread Jan Hubicka
Hello, fold-const contains quite few confused statements that deal with WEAK visibility and aliases: static int simple_operand_p (const_tree exp) { /* Strip any conversions that don't change the machine mode. */ STRIP_NOPS (exp); return (CONSTANT_CLASS_P (exp) || TREE_CODE

Re: Fortran OpenMP UDR fixes, nested handling fixes etc.

2014-06-24 Thread Tobias Burnus
Jakub Jelinek wrote: So, either we need something like the following patch (incremental), or another possibility for the problem is not do the value.function.name related change in module.c in the UDR patch, and instead fix up the UDR combiner/initializer expressions when they are loaded from

Re: [PATCH, PR61554] ICE during CCP

2014-06-24 Thread Chung-Lin Tang
On 2014/6/23 04:45 PM, Richard Biener wrote: On Mon, Jun 23, 2014 at 7:32 AM, Chung-Lin Tang clt...@codesourcery.com wrote: Hi Richard, In this change: https://gcc.gnu.org/ml/gcc-patches/2014-06/msg01278.html where substitute_and_fold() was changed to use a dom walker, the calls to purge

Re: [PATCH] Fix up -march=native handling under KVM (PR target/61570)

2014-06-24 Thread Uros Bizjak
On Mon, Jun 23, 2014 at 6:29 PM, H.J. Lu hjl.to...@gmail.com wrote: --- gcc/config/i386/driver-i386.c.jj2014-05-14 14:45:54.0 +0200 +++ gcc/config/i386/driver-i386.c 2014-06-20 18:59:57.805006358 +0200 @@ -745,6 +745,11 @@ const char *host_detect_local_cpu (int a

Re: [RFC] Making fold-const sane WRT symbol visibilities

2014-06-24 Thread Richard Biener
On Tue, 24 Jun 2014, Jan Hubicka wrote: Hello, fold-const contains quite few confused statements that deal with WEAK visibility and aliases: static int simple_operand_p (const_tree exp) { /* Strip any conversions that don't change the machine mode. */ STRIP_NOPS (exp); return

Re: [PATCH] Introducing SAD (Sum of Absolute Differences) operation to GCC vectorizer.

2014-06-24 Thread Richard Biener
On Mon, 23 Jun 2014, Cong Hou wrote: It has been 8 months since this patch is posted. I have addressed all comments to this patch. The SAD pattern is very useful for some multimedia algorithms like ffmpeg. This patch will greatly improve the performance of such algorithms. Could you please

Re: [PATCH] Fix forwporp pattern (T)(P + A) - (T)P - (T)A

2014-06-24 Thread Richard Biener
On Mon, Jun 23, 2014 at 8:02 PM, Bernd Edlinger bernd.edlin...@hotmail.de wrote: Hi, On Mon, 23 Jun 2014 19:12:47, Richard Biener wrote: On Mon, Jun 23, 2014 at 4:28 PM, Bernd Edlinger bernd.edlin...@hotmail.de wrote: Hi, On Mon, 23 Jun 2014 10:40:53, Richard Biener wrote: On Sun, Jun

[committed] Fix OpenMP lastprivate and linear clause handling and handling of collapse 1 simd loops

2014-06-24 Thread Jakub Jelinek
Hi! This patch fixes various issues with handling lastprivate and linear clauses and simd collapse 1 loops. Bootstrapped/regtested on x86_64-linux and i686-linux, committed to trunk and 4.9 branch. 2014-06-24 Jakub Jelinek ja...@redhat.com * gimplify.c (gimplify_omp_for): For

[Patch AArch64_be] Fix some vec_concat big-endian confusions

2014-06-24 Thread James Greenhalgh
Hi, vec_concat ( { a, b }, { c, d }) should give a new vector { a, b, c, d }. On big-endian aarch64 targets, we have to think carefully about what this means as we map GCC's view of endian-ness on to ours. GCC (for reasons I have yet to understand) likes to describe lane-extracts from a vector

[GSoC] remove unnecessary temporaries

2014-06-24 Thread Prathamesh Kulkarni
Hi, This patch attempts to generate temporaries only when required. I have changed generation of operand names. All children of an expr-node are assigned at expr-node itself. Names are generated as follows at expr-node: olevelchild-pos = rhs; where level is level of the expr-node in decision

Re: [Committed] New testcase for conditional move with conditional compares

2014-06-24 Thread Kyrill Tkachov
On 23/06/14 22:12, Andrew Pinski wrote: Hi, When looking at the current conditional compare patch, I find that we don't have a testcase to test that we don't ICE for the case where we have conditional compares and conditional moves where the moves are of floating point types. This patch

[PING] [PATCH, ARM] Improve code-gen for multiple shifted accumulations in array indexing

2014-06-24 Thread Yufeng Zhang
Ping~ Original posted here: https://gcc.gnu.org/ml/gcc-patches/2014-06/msg01492.html Thanks, Yufeng On 06/18/14 17:35, Yufeng Zhang wrote: This time with patch... Apologize. Yufeng On 06/18/14 17:31, Yufeng Zhang wrote: Hi, This patch improves the code-gen of -marm in the case of

Re: [PATCH AArch64 2/2] PR/60825 Make {int,uint}64x1_t in arm_neon.h a proper vector type

2014-06-24 Thread James Greenhalgh
On Thu, Jun 19, 2014 at 01:30:32PM +0100, Alan Lawrence wrote: diff --git a/gcc/testsuite/gcc.target/aarch64/simd/ext_s64.x b/gcc/testsuite/gcc.target/aarch64/simd/ext_s64.x index c71011a5157a207fe68fe814ed80658fd5e0f90f..b879fdacaa6544790e4d3ff98ca0055073d6d1d1 100644 ---

[PATCH PR61576]

2014-06-24 Thread Yuri Rumyantsev
Hi All, Here is a fix for PR 61576 - additional test was added that block containing reduction statement is predecessor of block containing phi to choose the correct condition. Bootstrap and regression testing did not show any new failures. Is it OK for trunk? gcc/ChangeLog 2014-06-24 Yuri

[PATCH] Fix PR61572

2014-06-24 Thread Richard Biener
The following avoids to increase hard register lifetime by not sinking loads from those. Bootstrapped on x86_64-unknown-linux-gnu, testing in progress. I wonder if it would make sense to not treat hardregs as memory but instead rewrite them into SSA form but with SSA_NAME_OCCURS_IN_ABNORMAL_PHI

Re: [GSoC] remove unnecessary temporaries

2014-06-24 Thread Richard Biener
On Tue, Jun 24, 2014 at 10:53 AM, Prathamesh Kulkarni bilbotheelffri...@gmail.com wrote: Hi, This patch attempts to generate temporaries only when required. I have changed generation of operand names. All children of an expr-node are assigned at expr-node itself. Names are generated as

Re: [RFC] optimize x - y cmp 0 with undefined overflow

2014-06-24 Thread Richard Biener
On Fri, Jun 20, 2014 at 11:33 AM, Eric Botcazou ebotca...@adacore.com wrote: [I'm at last back to this...] With [1, -x + INF] as the resulting range? But it can be bogus if x is itself equal to +INF (unlike the input range [x + 1, +INF] which is always correct) Hmm, indeed. so this

Re: Fix vectorizer conditions on updating alignment

2014-06-24 Thread James Greenhalgh
On Mon, Jun 16, 2014 at 10:24:26AM +0100, Jan Hubicka wrote: On Fri, Jun 13, 2014 at 12:14 AM, Jan Hubicka hubi...@ucw.cz wrote: Hi, while updating vect_can_force_dr_alignment_p for section API I noticed the predicate is bit confused about when it can update the alignment. We need

RE: [PATCH][MIPS] Enable load-load/store-store bonding

2014-06-24 Thread Sameera Deshpande
Hi Richard, Thanks for the review. Please find attached updated patch after your review comments. Changelog: gcc/ * config/mips/mips.md (JOIN_MODE): New mode iterator. (join2_load_StoreJOIN_MODE:mode): New pattern. (join2_loadhi): Likewise. (define_peehole2): Add

[patch] Do not generate useless integral conversions

2014-06-24 Thread Eric Botcazou
Hi, https://gcc.gnu.org/ml/gcc-patches/2012-03/msg00491.html changed the old signed_type_for/unsigned_type_for functions and made them always return an integer type, whereas they would previously leave integral types unchanged. I don't see any justification for the latter and this has the

Re: [PATCH] Detect a pack-unpack pattern in GCC vectorizer and optimize it.

2014-06-24 Thread Richard Biener
On Sat, May 3, 2014 at 2:39 AM, Cong Hou co...@google.com wrote: On Mon, Apr 28, 2014 at 4:04 AM, Richard Biener rguent...@suse.de wrote: On Thu, 24 Apr 2014, Cong Hou wrote: Given the following loop: int a[N]; short b[N*2]; for (int i = 0; i N; ++i) a[i] = b[i*2]; After being

Re: [PATCH] Introducing SAD (Sum of Absolute Differences) operation to GCC vectorizer.

2014-06-24 Thread Richard Biener
On Tue, Dec 3, 2013 at 2:06 AM, Cong Hou co...@google.com wrote: Hi Richard Could you please take a look at this patch and see if it is ready for the trunk? The patch is pasted as a text file here again. (found it) The patch is ok for trunk. (please consider re-testing before you commit)

Re: [PATCH] Fix GDB PR15559 (inferior calls using thiscall calling convention)

2014-06-24 Thread Julian Brown
On Fri, 9 May 2014 17:33:41 +0100 Julian Brown jul...@codesourcery.com wrote: On Wed, 7 May 2014 09:41:27 -0600 Tom Tromey tro...@redhat.com wrote: Tom The usual approach is some appropriate text somewhere on the Tom GCC wiki (though I suppose a note in the mail archives would Tom do in

Re: RTABI half-precision conversion functions (ping)

2014-06-24 Thread Julian Brown
On Thu, 29 May 2014 11:16:52 +0100 Julian Brown jul...@codesourcery.com wrote: On Thu, 19 Jul 2012 14:47:54 +0100 Julian Brown jul...@codesourcery.com wrote: On Thu, 19 Jul 2012 13:54:57 +0100 Paul Brook p...@codesourcery.com wrote: But, that means EABI-conformant callers are also

Re: Handle MULTILIB_REUSE in auto-generated SYSROOT_SUFFIX_SPEC macro

2014-06-24 Thread Julian Brown
On Thu, 5 Jun 2014 20:23:27 +0100 Julian Brown jul...@codesourcery.com wrote: Hi, The print-sysroot-suffix.sh script that can be used (via the t-sysroot-suffix makefile fragment) to auto-generate the SYSROOT_SUFFIX_SPEC macro for non-trivial multilib setups does not take into account the

Re: [PATCH, ARM] Don't use NEON for autovectorization in big-endian mode

2014-06-24 Thread Julian Brown
On Mon, 16 Jun 2014 12:42:36 +0100 Julian Brown jul...@codesourcery.com wrote: Hi, As discussed several times previously, support for NEON in ARM big-endian mode is quite broken because of differing assumptions about lane ordering made by the ARM EABI and the set of NEON intrinsics on the

Re: [GSoC][match-and-simplify] factor expr check in gimple-match-head.c

2014-06-24 Thread Prathamesh Kulkarni
oops, didn't set plain text mode. sorry for re-post. On Tue, Jun 24, 2014 at 4:59 PM, Prathamesh Kulkarni bilbotheelffri...@gmail.com wrote: This patch factors out checking expression-code in gimple-match-head.c * gimple-match-head.c (check_gimple_assign): New function.

Re: [PATCH]Enable elimination of IV use with unsigned type candidate

2014-06-24 Thread Richard Biener
On Mon, Jun 23, 2014 at 11:49 AM, Bin Cheng bin.ch...@arm.com wrote: Hi, For below simplified case: #define LEN (32000) __attribute__((aligned(16))) float a[LEN],b[LEN]; int foo (int M) { for (int i = 0; i M; i++) a[i+M] = a[i] + b[i]; } Compiling it with command like: $

[Obvious][AArch64 testsuite] Add --save-temps to singleton_intrinsics_1.c test.

2014-06-24 Thread Alan Lawrence
Scan-assembler test was running with dg-do assemble and not generating any assembler to scan. Tested on aarch64-none-elf and aarch64_be-none-elf; 40 * UNRESOLVED-PASS tests in singleton_intrinsics_1.c Patch (below) committed as r211934. --Alan -- Index:

Re: [c++-concepts] Fix assertion failure with cp_maybe_constrained_type_specifier

2014-06-24 Thread Andrew Sutton
Braden, Did you have a specific test case that causes this breakage? I have a feeling that if we're missing base-link nodes in one place, we'll miss them in others too. Andrew On Tue, Jun 17, 2014 at 4:54 AM, Braden Obrzut ad...@maniacsvault.net wrote: cp_maybe_constrained_type_specifier

[PATCH 0/2] Zext/sext elimination using value range

2014-06-24 Thread Kugan
Hi, This patch series (2) implements zext/sext extension elimination using value ranges stored in SSA. Implementation is what was suggested in the thread https://gcc.gnu.org/ml/gcc/2014-05/msg00213.html. I have broken this into: Patch 1 - Changes to store zero and sign extended promotions

[PATCH 1/2] Enable setting sign and unsigned promoted mode (SPR_SIGNED_AND_UNSIGNED)

2014-06-24 Thread Kugan
Changes the the SUBREG flags to be able to set promoted for sign (SRP_SIGNED), unsigned (SRP_UNSIGNED), sign and unsigned (SPR_SIGNED_AND_UNSIGNED) in SUBREG_PROMOTED_VAR_P. Thanks, Kugan gcc/ 2014-06-24 Kugan Vivekanandarajah kug...@linaro.org * gcc/calls.c (precompute_arguments):

[PATCH 2/2] Enable elimination of zext/sext

2014-06-24 Thread Kugan
Sets proper flags on the SUBREG based on value range info and enables elimination of zext/sext when possible. Thanks, Kugan gcc/ 2014-06-24 Kugan Vivekanandarajah kug...@linaro.org * gcc/calls.c (precompute_arguments: Check is_promoted_for_type and set the promoted mode.

Re: [c++-concepts] Fix assertion failure with cp_maybe_constrained_type_specifier

2014-06-24 Thread Ed Smith-Rowland
I saw this during bootstrap. I've verified that the patch works (I was working on similar). Ed

Re: [PATCH 1/2] Enable setting sign and unsigned promoted mode (SPR_SIGNED_AND_UNSIGNED)

2014-06-24 Thread Jakub Jelinek
On Tue, Jun 24, 2014 at 09:51:51PM +1000, Kugan wrote: Changes the the SUBREG flags to be able to set promoted for sign (SRP_SIGNED), unsigned (SRP_UNSIGNED), sign and unsigned (SPR_SIGNED_AND_UNSIGNED) in SUBREG_PROMOTED_VAR_P. 2014-06-24 Kugan Vivekanandarajah kug...@linaro.org

Re: [PATCH 2/2] Enable elimination of zext/sext

2014-06-24 Thread Jakub Jelinek
On Tue, Jun 24, 2014 at 09:53:35PM +1000, Kugan wrote: 2014-06-24 Kugan Vivekanandarajah kug...@linaro.org * gcc/calls.c (precompute_arguments: Check is_promoted_for_type and set the promoted mode. (is_promoted_for_type) : New function. (expand_expr_real_1) : Check

Re: [c++-concepts] Fix assertion failure with cp_maybe_constrained_type_specifier

2014-06-24 Thread Andrew Sutton
Committed as r211935. I updated the patch to add a more appropriate comment and changelog entry. Andrew On Tue, Jun 24, 2014 at 8:07 AM, Ed Smith-Rowland 3dw...@verizon.net wrote: I saw this during bootstrap. I've verified that the patch works (I was working on similar). Ed Index: parser.c

Re: [PATCH 3/3] add hash_map class

2014-06-24 Thread Martin Liška
On 06/20/2014 12:52 PM, tsaund...@mozilla.com wrote: From: Trevor Saunders tsaund...@mozilla.com Hi, This patch adds a hash_map class so we can consolidate the boiler plate around using hash_table as a map, it also allows us to get rid of pointer_map which I do in this patch by converting its

[PATCH] Fix forwprop pattern (T)(P + A) - (T)P - (T)A, Part 1

2014-06-24 Thread Bernd Edlinger
Hi Richard, I have here part 1 of this patch, which does not use undefined behaviour. Currently I start to think that also TYPE_SATURATING just cannot happen here, because only some targets have saturating types, for instance ARM, and also for those who have it, it is only allowed with fixed

Re: [PATCH 3/3] add hash_map class

2014-06-24 Thread Trevor Saunders
On Tue, Jun 24, 2014 at 02:29:53PM +0200, Martin Liška wrote: On 06/20/2014 12:52 PM, tsaund...@mozilla.com wrote: From: Trevor Saunders tsaund...@mozilla.com Hi, This patch adds a hash_map class so we can consolidate the boiler plate around using hash_table as a map, it also allows

[GOOGLE] Fix -femit-function-names in LIPO profile-use mode

2014-06-24 Thread Teresa Johnson
Emit the proper module name in LIPO profile-use mode. Passes regression tests, ok for google branches? Thanks, Teresa 2014-06-24 Teresa Johnson tejohn...@google.com * coverage.c (emit_function_name): Emit module name in LIPO mode. Index: coverage.c

Re: [PATCH 3/3] add hash_map class

2014-06-24 Thread Martin Liška
On 06/24/2014 02:40 PM, Trevor Saunders wrote: On Tue, Jun 24, 2014 at 02:29:53PM +0200, Martin Liška wrote: On 06/20/2014 12:52 PM, tsaund...@mozilla.com wrote: From: Trevor Saunders tsaund...@mozilla.com Hi, This patch adds a hash_map class so we can consolidate the boiler plate around

Re: [PATCH AArch64 2/2] PR/60825 Make {int,uint}64x1_t in arm_neon.h a proper vector type

2014-06-24 Thread Alan Lawrence
Bother. Apologies. Simplest fix is to unshare the test body - patch attached; ok for trunk? gcc/testsuite/ChangeLog: * gcc.target/arm/simd/vexts64_1.c: Remove #include, inline test body. * gcc.target/arm/simd/vextu64_1.c: Likewise. *

Re: [PATCH 3/3] add hash_map class

2014-06-24 Thread Trevor Saunders
On Tue, Jun 24, 2014 at 03:17:46PM +0200, Martin Liška wrote: On 06/24/2014 02:40 PM, Trevor Saunders wrote: On Tue, Jun 24, 2014 at 02:29:53PM +0200, Martin Liška wrote: On 06/20/2014 12:52 PM, tsaund...@mozilla.com wrote: From: Trevor Saunders tsaund...@mozilla.com Hi, This patch

Re: [GSoC][match-and-simplify] factor expr check in gimple-match-head.c

2014-06-24 Thread Richard Biener
On Tue, Jun 24, 2014 at 1:29 PM, Prathamesh Kulkarni bilbotheelffri...@gmail.com wrote: This patch factors out checking expression-code in gimple-match-head.c * gimple-match-head.c (check_gimple_assign): New function. (check_gimple_assign_convert): Likewise.

[PATCH][match-and-simplify] GENERIC boilerplate

2014-06-24 Thread Richard Biener
This adds infrastructure to create generic-match.c (empty for now). Richard. 2014-06-24 Richard Biener rguent...@suse.de * Makefile.in (OBJS): Add generic-match.o. (.PRECIOUS): Likewise. (MOSTLYCLEANFILES): Add generic-match.c. (generic-match.c): New rule.

[C++ Patch] PR 33972

2014-06-24 Thread Paolo Carlini
Hi, in this old rejects-valid we reject: struct s { typedef void f(void); f operator(); }; at the beginning of grokdeclarator: if (((dname IDENTIFIER_OPNAME_P (dname)) || flags == TYPENAME_FLAG) innermost_code != cdk_function ! (ctype !declspecs-any_specifiers_p))

Re: [C++ Patch] PR 33972

2014-06-24 Thread Jason Merrill
OK. Jason

[PATCH][match-and-simplify] Get rid of gimple_match_and_simplify wrappers

2014-06-24 Thread Richard Biener
This re-orders operands so we can default-initialize them to zero now that we only have a single autogenerated function. Richard. 2014-06-24 Richard Biener rguent...@suse.de * genmatch.c (write_fn_prototype): Remove and inline... (decision_tree::gen_gimple): ...here.

Re: [patch] Do not generate useless integral conversions

2014-06-24 Thread Richard Biener
On Tue, Jun 24, 2014 at 12:54 PM, Eric Botcazou ebotca...@adacore.com wrote: Hi, https://gcc.gnu.org/ml/gcc-patches/2012-03/msg00491.html changed the old signed_type_for/unsigned_type_for functions and made them always return an integer type, whereas they would previously leave integral types

[c++-concepts] small pretty printing fix

2014-06-24 Thread Andrew Sutton
This helps improve debug output. When pretty printing template args including a placeholder, show placeholder instead of a dump_expr error. 2014-06-24 Andrew Sutton andrew.n.sut...@gmail.com * gcc/cp/error.C (dump_expr): Pretty print placeholder to improve debug output. Committed as

Re: [PATCH] Fix up -march=native handling under KVM (PR target/61570)

2014-06-24 Thread H.J. Lu
On Mon, Jun 23, 2014 at 11:51 PM, Uros Bizjak ubiz...@gmail.com wrote: On Mon, Jun 23, 2014 at 6:29 PM, H.J. Lu hjl.to...@gmail.com wrote: --- gcc/config/i386/driver-i386.c.jj2014-05-14 14:45:54.0 +0200 +++ gcc/config/i386/driver-i386.c 2014-06-20 18:59:57.805006358

Re: Move DECL_VINDEX and DECL_SAVED_TREE into function_decl

2014-06-24 Thread Jason Merrill
On 06/23/2014 04:25 PM, Jan Hubicka wrote: * class.c (check_methods, create_vtable_ptr, determine_key_method, add_vcall_offset_vtbl_entries_1): Guard VINDEX checks by FUNCTION_DECL check. These changes are unnecessary: TYPE_METHODS is a list of functions. The rest of the

[c++-concepts] member concepts

2014-06-24 Thread Andrew Sutton
Actually allow member concepts in using shorthand notation. 2014-06-24 Andrew Sutton andrew.n.sut...@gmail.com * gcc/cp/parser.c (cp_maybe_constrained_type_specifier): Defer handling the BASELINK check until concept-resolution in order to allow member conceps.

Re: [c++-concepts] Fix assertion failure with cp_maybe_constrained_type_specifier

2014-06-24 Thread Ed Smith-Rowland
I am still having problems doing a full build. I get stuck on something that I think can't be a concepts problem in gcc/config/i386/i386.c: make[3]: Entering directory `/home/ed/obj_concepts/gcc' /home/ed/obj_concepts/./prev-gcc/xg++ -B/home/ed/obj_concepts/./prev-gcc/

[PATCH][match-and-simplify] GENERIC code-gen

2014-06-24 Thread Richard Biener
This massages things so GENERIC code-gen works (well, is emitted and compiles). The GENERIC interface matches that of fold_{unary,binary,ternary} with also supporting calls here. It's supposed to be called at the start of those functions (and if it returns NULL_TREE their remains is executed).

Re: [Committed] New testcase for conditional move with conditional compares

2014-06-24 Thread pinskia
On Jun 24, 2014, at 2:08 AM, Kyrill Tkachov kyrylo.tkac...@arm.com wrote: On 23/06/14 22:12, Andrew Pinski wrote: Hi, When looking at the current conditional compare patch, I find that we don't have a testcase to test that we don't ICE for the case where we have conditional compares

Re: [c++-concepts] Fix assertion failure with cp_maybe_constrained_type_specifier

2014-06-24 Thread Ed Smith-Rowland
I'm not sure the warning is correct in any case... In i386.h struct stringop_algs { const enum stringop_alg unknown_size; const struct stringop_strategy { const int max; const enum stringop_alg alg; int noalign; } size [MAX_STRINGOP_ALGS]; }; in i386.c ---

[patch] Fix some pedantic warnings

2014-06-24 Thread Jonathan Wakely
This fixes some warnings when building the library with -Wpedantic (some only show up when also building with -Wsystem-headers). Tested x86_64-linux, committed to trunk. commit bf385e3ea2d8d10bdaa8e41c7638d32eb26b9bfd Author: Jonathan Wakely jwak...@redhat.com Date: Tue Jun 24 14:16:28 2014

Re: [PATCH][match-and-simplify] GENERIC code-gen

2014-06-24 Thread Prathamesh Kulkarni
On Tue, Jun 24, 2014 at 9:00 PM, Richard Biener rguent...@suse.de wrote: This massages things so GENERIC code-gen works (well, is emitted and compiles). The GENERIC interface matches that of fold_{unary,binary,ternary} with also supporting calls here. It's supposed to be called at the start

Re: [c++-concepts] Fix assertion failure with cp_maybe_constrained_type_specifier

2014-06-24 Thread Andrew Sutton
Weird. Any chance you're doing a bootstrap build? There was an earlier bootstrapping issue with this branch. We had turned on -std=c++1y by default, and it was causing some conversion errors with lvalue references to bitfields in libasan. This doesn't *look* like a regression caused by concepts

Re: [fortran, patch] IEEE intrinsic modules (ping)

2014-06-24 Thread Steve Kargl
On Tue, Jun 24, 2014 at 10:11:32AM +0200, FX wrote: Here?s a patch fixing the diff issue with configure.host and the doc (which apparently is only triggered by some versions of texinfo). Apart from that, functionnaly identical, so I?ll paste here the ?history? of the patch:

[GSoC][match-and-simplify] get rid of multiple def_stmt

2014-06-24 Thread Prathamesh Kulkarni
This patch avoids multiple definitions of def_stmt in different blocks, and moves it at the beginning of gimple_match_and_simplify. * genmatch.c (decision_tree::gen_gimple): Call fprintf to generate definition of def_stmt. (dt_operand::gen_gimple_expr): Adjust call to fprintf to generate

Re: [PATCH 5/5] add libcc1

2014-06-24 Thread Tom Tromey
Trevor hrm, I know basically nothing about the upcoming changes, but I would Trevor have expected linking c++03 code against c++11 code would be fine Trevor especially when the interface doesn't involve any stl. https://gcc.gnu.org/wiki/Cxx11AbiCompatibility This warns against mixing with

Re: [fortran, patch] IEEE intrinsic modules (ping)

2014-06-24 Thread Steve Kargl
On Tue, Jun 24, 2014 at 09:49:36AM -0700, Steve Kargl wrote: Not yet. On i386-*-freebsd In file included from ../../../gcc4x/libgfortran/runtime/fpu.c:29:0: ./fpu-target.h: In function 'set_fpu_trap_exceptions': ./fpu-target.h:31:3: error: unknown type name 'fp_except' fp_except cw

Re: [PATCH 5/5] add libcc1

2014-06-24 Thread Trevor Saunders
On Tue, Jun 24, 2014 at 11:12:38AM -0600, Tom Tromey wrote: Trevor hrm, I know basically nothing about the upcoming changes, but I would Trevor have expected linking c++03 code against c++11 code would be fine Trevor especially when the interface doesn't involve any stl.

Re: Move DECL_VINDEX and DECL_SAVED_TREE into function_decl

2014-06-24 Thread Jan Hubicka
On 06/23/2014 04:25 PM, Jan Hubicka wrote: * class.c (check_methods, create_vtable_ptr, determine_key_method, add_vcall_offset_vtbl_entries_1): Guard VINDEX checks by FUNCTION_DECL check. These changes are unnecessary: TYPE_METHODS is a list of functions. I just double checked

Re: [PATCH] IPA REF: refactoring

2014-06-24 Thread Jan Hubicka
Hello, this patch changes IPA REF API to c++ style. Changes were suggested and consulted with Honza. Patch has been pre approved, will be committed if no comments. Bootstrapped on x86_64-pc-linux-gnu, no regressions. Thanks, Martin ChangeLog: 2014-06-22 Martin Liska

Re: [PATCH 3/3] add hash_map class

2014-06-24 Thread Jan Hubicka
On 06/20/2014 12:52 PM, tsaund...@mozilla.com wrote: From: Trevor Saunders tsaund...@mozilla.com Hi, This patch adds a hash_map class so we can consolidate the boiler plate around using hash_table as a map, it also allows us to get rid of pointer_map which I do in this patch by

Re: [RFC] Making fold-const sane WRT symbol visibilities

2014-06-24 Thread Jan Hubicka
The problem is that the patch fails testcases that assume we do such folding at parsing time. ./testsuite/gcc/gcc.sum:FAIL: gcc.dg/pr36901-1.c (test for excess errors) ./testsuite/gcc/gcc.sum:FAIL: gcc.dg/pr36901-2.c (test for excess errors) ./testsuite/gcc/gcc.sum:FAIL:

Re: [fortran, patch] IEEE intrinsic modules (ping)

2014-06-24 Thread Tobias Burnus
Steve Kargl wrote: On FreeBSD (and perhaps other *BSD), there is no fpsetsticky(). The function is fpresetsticky(). Solaris has fpsetsticky() (requires ieeefp.h) and BSD has fpresetsticky() – thus, like at other places in that file, one needs to conditionally enable one or the other.

[PATCH] Convert XCOFF ASM_DECLARE_FUNCTION_NAME to function

2014-06-24 Thread David Edelsohn
In preparation to fix the alias issues on AIX, this patch changes ASM_DECLARE_FUNCTION_NAME from a macro to a function. Bootstrap on powerpc-ibm-aix7.1.0.0 in progress. * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Remove definition and call... *

Re: [PATCH] Convert XCOFF ASM_DECLARE_FUNCTION_NAME to function

2014-06-24 Thread Jan Hubicka
In preparation to fix the alias issues on AIX, this patch changes ASM_DECLARE_FUNCTION_NAME from a macro to a function. Thanks, David! We will also need to introduce ASM_DECLARE_OBJECT_NAME to handle the aliases of variables. I can look into that probably later this week (it is last week of

Re: [PATCH 3/3] add hash_map class

2014-06-24 Thread Trevor Saunders
On Tue, Jun 24, 2014 at 08:23:49PM +0200, Jan Hubicka wrote: On 06/20/2014 12:52 PM, tsaund...@mozilla.com wrote: From: Trevor Saunders tsaund...@mozilla.com Hi, This patch adds a hash_map class so we can consolidate the boiler plate around using hash_table as a map, it also

Re: [fortran, patch] IEEE intrinsic modules (ping)

2014-06-24 Thread Steve Kargl
On Tue, Jun 24, 2014 at 08:34:23PM +0200, Tobias Burnus wrote: Steve Kargl wrote: On FreeBSD (and perhaps other *BSD), there is no fpsetsticky(). The function is fpresetsticky(). Solaris has fpsetsticky() (requires ieeefp.h) and BSD has fpresetsticky() ? thus, like at other places in

Re: Delay RTL initialization until it is really needed

2014-06-24 Thread Jeff Law
On 06/20/14 01:51, Jan Hubicka wrote: Hi, IRA initialization shows high in profiles even when building lto objects. This patch simply delays RTL backend initialization until we really decide to output a function. In some cases this avoids the initialization completely (like in the case of

Re: Re: [c++-concepts] Fix assertion failure with cp_maybe_constrained_type_specifier

2014-06-24 Thread Ed Smith-Rowland
On 06/24/14, Andrew Sutton wrote: Weird. Any chance you're doing a bootstrap build? There was an earlier bootstrapping issue with this branch. We had turned on -std=c++1y by default, and it was causing some conversion errors with lvalue references to bitfields in libasan. This doesn't

Re: [PATCH 3/3] add hash_map class

2014-06-24 Thread Richard Biener
On June 24, 2014 9:16:34 PM CEST, Trevor Saunders tsaund...@mozilla.com wrote: On Tue, Jun 24, 2014 at 08:23:49PM +0200, Jan Hubicka wrote: On 06/20/2014 12:52 PM, tsaund...@mozilla.com wrote: From: Trevor Saunders tsaund...@mozilla.com Hi, This patch adds a hash_map class so we

Re: Another AIX Bootstrap failure

2014-06-24 Thread Iain Sandoe
Hi Honza, On 23 Jun 2014, at 18:36, Jan Hubicka wrote: The tests gcc.dg/globalalias-2.c and gcc.dg/localalias-2.c fail on darwin with /opt/gcc/work/gcc/testsuite/gcc.dg/globalalias-2.c:20:2: warning: alias definitions not supported in Mach-O; ignored I think they should be protected

[PATCH v2] gcc: fix segfault from calling free on non-malloc'd area

2014-06-24 Thread Paul Gortmaker
We see the following on a 32bit gcc installed on 64 bit host: Reading symbols from ./i586-pokymllib32-linux-gcc...done. (gdb) run Starting program: x86-pokymllib32-linux/lib32-gcc/4.9.0-r0/image/usr/bin/i586-pokymllib32-linux-gcc Program received signal SIGSEGV, Segmentation fault.

Re: [patch, mips] delete bit-rotten ADJUST_REG_ALLOC_ORDER definition

2014-06-24 Thread Richard Sandiford
Sandra Loosemore san...@codesourcery.com writes: On 05/14/2014 12:49 PM, Richard Sandiford wrote: Jeff Law l...@redhat.com writes: On 05/13/14 14:11, Sandra Loosemore wrote: 2014-05-13 Catherine Moore c...@codesourcery.com Sandra Loosemore san...@codesourcery.com gcc/

Re: [PATCH] Change default for --param allow-...-data-races to off

2014-06-24 Thread Martin Jambor
On Mon, Jun 23, 2014 at 03:35:01PM +0200, Bernd Edlinger wrote: Hi Martin, Well actually, I am not sure if we ever wanted to have a race condition here. Have you seen any impact of --param allow-store-data-races on any benchmark? It's trivially to write one. The only pass that

Re: [fortran, patch] IEEE intrinsic modules (ping)

2014-06-24 Thread Steve Kargl
On Tue, Jun 24, 2014 at 09:43:06PM +0200, FX wrote: Thanks for testing on a platform I don?t have access to! I try to answer to the three main points below: I suppose I don't understand the logic in libgfortran/configure.host. It is picking the wrong config/fpu*.h file. 1. This is a

Re: [fortran, patch] IEEE intrinsic modules (ping)

2014-06-24 Thread FX
3. Does the attached updated patch (libgfortran only, without regenerated files) fix the problem? I'll test it when my regtesting is completed. But, a scan of the configure.host re-arrangement suggests that it should work. OK. If you have some spare cycles, could you then also check it by

Re: [PATCH 3/5] IPA ICF pass

2014-06-24 Thread Jeff Law
On 06/13/14 04:44, mliska wrote: Hello, this is core of IPA ICF patchset. It adds new pass and registers all needed stuff related to a newly introduced interprocedural optimization. Algorithm description: In LGEN, we visit all read-only variables and functions. For each symbol, a hash

Re: [fortran, patch] IEEE intrinsic modules (ping)

2014-06-24 Thread Steve Kargl
On Tue, Jun 24, 2014 at 10:26:27PM +0200, FX wrote: 3. Does the attached updated patch (libgfortran only, without regenerated files) fix the problem? I'll test it when my regtesting is completed. But, a scan of the configure.host re-arrangement suggests that it should work. OK.

bootstrap failure for cygwin, mingw targets due recent changes to hash_table

2014-06-24 Thread Kai Tietz
Hi Trevor, your recent commits have broken bootstrap for cygwin/mingw i386 targets with: ../../gcc/gcc/config/i386/winnt.c: In Funktion »unsigned int i386_pe_section_type_flags(tree, const char*, int)«: ../../gcc/gcc/config/i386/winnt.c:503:61: Fehler: keine passende Funktion für Aufruf von

[PATCH] Fix PR c++/61537

2014-06-24 Thread Adam Butcher
* parser.c (cp_parser_elaborated_type_specifier): Only consider template parameter lists outside of function parameter scope. * g++.dg/cpp1y/pr61537.C: New testcase. --- gcc/cp/parser.c | 28 +++-

Aw: [MIPS r5900] libgcc floating point fixes

2014-06-24 Thread Jürgen Urban
Please don't ignore this, support for MIPS r5900 was already ignored for ~10 years. Just apply the patch when you don't know what I am talking about. The fix for mips16 is very important. The patch has impact only on MIPS r5900. Gesendet: Sonntag, 15. Juni 2014 um 22:08 Uhr Von: Jürgen Urban

Re: [patch] Do not generate useless integral conversions

2014-06-24 Thread Eric Botcazou
I think that was on purpose to avoid arithmetics in enum types. As those conversions are useless and thus stripped later is it really important to retain enum and boolean kind here? The problem is that convert.c is called by front-ends and the patch also removed the callback into them that

[C++ Patch/RFC] PR 49132

2014-06-24 Thread Paolo Carlini
Hi, this remained unresolved for a long time, but, if I understand correctly Jason' Comment 1, should be rather easy, just do not complain for uninitialized const members in aggregates, recursively too (per struct B in the testcases). Does the below makes sense, then?!? It passes testing,

Re: [C++ Patch/RFC] PR 49132

2014-06-24 Thread Paolo Carlini
... in order to handle correctly in C++98 mode (*) the case of references in a member, I think we have to add an explicit check of CLASSTYPE_REF_FIELDS_NEED_INIT, per the below. Thanks, Paolo. (*) For C++11 my previous patch is fine, the TREE_CODE (TREE_TYPE (field)) == REFERENCE_TYPE check

[GOOGLE] Do not change edge probabilities when propagating edge counts

2014-06-24 Thread Yi Yang
Hi, This patch removes unnecessary edge probability calculations in afdo_propagate_circuit() that would eventually be overridden by afdo_calculate_branch_prob(). This would pave the way for my next patch, which compares the estimated branch probabilities or the branch annotations against the

Re: [GOOGLE] Do not change edge probabilities when propagating edge counts

2014-06-24 Thread Dehao Chen
OK for google-4_8 and google-4_9 Thanks, Dehao On Tue, Jun 24, 2014 at 3:09 PM, Yi Yang ahyan...@google.com wrote: Hi, This patch removes unnecessary edge probability calculations in afdo_propagate_circuit() that would eventually be overridden by afdo_calculate_branch_prob(). This would

Re: [PATCH,MIPS] MIPS64r6 support

2014-06-24 Thread Richard Sandiford
Matthew Fortune matthew.fort...@imgtec.com writes: I suppose we'll need a way of specifying an isa_rev range, say isa_rev=2-5. That should be a fairly localised change though. There appear to be about 9 tests that are not fixed by educating mips.exp about flags which are not supported on R6.

Re: [PATCH] Fix PR c++/61537

2014-06-24 Thread Paolo Carlini
Hi, On 06/24/2014 01:40 AM, Adam Butcher wrote: +++ b/gcc/testsuite/g++.dg/cpp1y/pr61537.C @@ -0,0 +1,24 @@ +// PR c++/61537 +// { dg-do compile { target c++1y } } I don't think this is a C++1y specific issue... +// { dg-options } Also, likely minor detail, could you please explain why you

Re: [PATCH] Fix PR c++/61537

2014-06-24 Thread Adam Butcher
On 2014-06-24 23:22, Paolo Carlini wrote: On 06/24/2014 01:40 AM, Adam Butcher wrote: +// { dg-do compile { target c++1y } } I don't think this is a C++1y specific issue... You're right. I'm so used to creating pr testcases in that g++.dg/cpp1y dir, I automatically added the test there

Re: [patch 1/4] change specific int128 - generic intN

2014-06-24 Thread DJ Delorie
Part 1 of 4, split from the full patch. The purpose of this set of changes is to remove assumptions in GCC about type sizes. Previous to this patch, GCC assumed that all types were powers-of-two in size, and used naive math accordingly. Old: POINTER_SIZE / BITS_PER_UNIT

Re: [patch 3/4] change specific int128 - generic intN

2014-06-24 Thread DJ Delorie
Part 3 of 4, split from the full patch. Additional optimization opportunity, since the MSP430 does a lot of conversions between HImode and PSImode. gcc/ * expr.c (convert_move): If the target has an explicit converter, use it. Index: gcc/expr.c

Re: [patch 4/4] change specific int128 - generic intN

2014-06-24 Thread DJ Delorie
Part 4 of 4, split from the full patch. This is the MSP430-specific use of the new intN framework to enable true 20-bit pointers. Since I'm one of the MSP430 maintainers, this patch is being posted for reference, not for approval. gcc/config/msp430 * config/msp430/msp430-protos.h

  1   2   >