Re: PR 57779 New debug check

2013-08-02 Thread Paolo Carlini
On 08/02/2013 05:02 AM, Gabriel Dos Reis wrote: On Thu, Aug 1, 2013 at 9:42 PM, David Edelsohn dje@gmail.com wrote: This patch broke bootstrap on AIX and probably many other targets. In file included from /tmp/20130801/powerpc-ibm-aix7.1.0.0/libstdc++-v3/include/

Re: PR 57779 New debug check

2013-08-02 Thread Paolo Carlini
... applied this. Thanks, Paolo. // 2013-08-02 Paolo Carlini paolo.carl...@oracle.com PR libstdc++/58049 * include/debug/functions.h: Include bits/move.h; minor formatting changes. (__foreign_iterator_aux4): Declare __l and __ge constexpr.

Re: [Patch, Fortran, OOP] PR 57306: ICE on valid with class pointer initialization

2013-08-02 Thread Janus Weil
ping! 2013/7/30 Janus Weil ja...@gcc.gnu.org: The attached update fixes it, and thus should hopefully be regression-free. It also renames 'gfc_class_null_initializer' to 'gfc_class_initializer', since it now also does other initializations beside EXPR_NULL. Will do another regtest to make

Fix ltrans ICE seen while compiling Firefox

2013-08-02 Thread Jan Hubicka
Hi, this patch fixes one extra place where we need to consider partial cgraphs and enables firefox to build again. Comitted as obvious, Honza Index: ChangeLog === --- ChangeLog (revision 201430) +++ ChangeLog (working copy) @@

Re: Do not use PARM_DECLs in ipa-cp and ipa-prop

2013-08-02 Thread Martin Jambor
Hi, On Thu, Aug 01, 2013 at 05:48:20PM +0200, Jan Hubicka wrote: On Thu, Aug 01, 2013 at 03:11:36PM +0200, Jan Hubicka wrote: Hi, this is preparation work to move DECL_ARGUMENTS and DECL_RESULT into function sections during WPA. Even with some work to release unused ones, there

[PATCH, Fortran, PR 57987] Do not call cgraph_finalize_function multiple times on finalizers

2013-08-02 Thread Martin Jambor
Hi, when looking at another PR, I found out that inliner refused to even consider __final_test2_T/0 because, according to the dump, redefined extern inline functions are not considered for inlining. When I looked at why, I realized that the function is finalized (by cgraph_finalize_function)

Re: [PATCH, i386, MPX 1/X] Support of Intel MPX ISA

2013-08-02 Thread Ilya Enkovich
Hi All, I've updated MPX Wiki page (http://gcc.gnu.org/wiki/Intel%20MPX%20support%20in%20the%20GCC%20compiler). I added instrumentation description, programming model description, differences with other checkers, implementation details. What about the first patch? Should I post next patches in

Re: PR 57779 New debug check

2013-08-02 Thread Gabriel Dos Reis
On Fri, Aug 2, 2013 at 2:36 AM, Paolo Carlini paolo.carl...@oracle.com wrote: ... applied this. thanks.

[PATCH][ARM] Delete gcc.target/arm/neon-for-64bits-2.c test

2013-08-02 Thread Kyrylo Tkachov
Hi all, The gcc.target/arm/neon-for-64bits-2.c test is supposed to test that -mneon-for-64bits gets the compiler to use NEON instructions for 64 bit bitwise operations. However, the -mneon-for-64bits flag was only really added as a complement of -mno-neon-for-64bits that explicitly prevents

Re: [PATCH, Fortran, PR 57987] Do not call cgraph_finalize_function multiple times on finalizers

2013-08-02 Thread Jan Hubicka
Hi, when looking at another PR, I found out that inliner refused to even consider __final_test2_T/0 because, according to the dump, redefined extern inline functions are not considered for inlining. When I looked at why, I realized that the function is finalized (by

Re: [PATCH] Sanitize block partitioning under -freorder-blocks-and-partition

2013-08-02 Thread Bernhard Reutner-Fischer
On 1 August 2013 18:32, Teresa Johnson tejohn...@google.com wrote: Patch 3 of 3 split out from the patch I sent in May that fixes problems with -freorder-blocks-and-partition, with changes/fixes discussed in that thread. See http://gcc.gnu.org/ml/gcc-patches/2013-05/threads.html#00388 for

Re: [PATCH] S/390: Hardware transactional memory support

2013-08-02 Thread Torvald Riegel
On Fri, 2013-06-21 at 12:23 +0200, Andreas Krebbel wrote: Index: libitm/config/s390/target.h === *** libitm/config/s390/target.h.orig --- libitm/config/s390/target.h *** [...] + static inline uint32_t + htm_begin

Re: [PATCH][4.8 backport] S/390: Transactional Execution support

2013-08-02 Thread Torvald Riegel
On Thu, 2013-08-01 at 10:55 +0200, Andreas Krebbel wrote: Torvald, could you please consider adding backports of the following patches to the 4.8 branch? 19/06/13 [patch] libitm: Fix handling of reentrancy in the HTM fastpath http://gcc.gnu.org/ml/gcc-patches/2013-06/msg01132.html

[PATCH, PR 57748] Set mode of structures with zero sized arrays to be BLK

2013-08-02 Thread Martin Jambor
Hi, while compute_record_mode in stor-layout.c makes sure it assigns BLK mode to structs with flexible arrays, it has no such provisions for zero length arrays (http://gcc.gnu.org/onlinedocs/gcc-4.8.1/gcc/Zero-Length.html). I think that in order to avoid problems and surprises like PR 57748

Re: [PATCH][ARM] Delete gcc.target/arm/neon-for-64bits-2.c test

2013-08-02 Thread Richard Earnshaw
On 02/08/13 11:56, Kyrylo Tkachov wrote: Hi all, The gcc.target/arm/neon-for-64bits-2.c test is supposed to test that -mneon-for-64bits gets the compiler to use NEON instructions for 64 bit bitwise operations. However, the -mneon-for-64bits flag was only really added as a complement of

[AARCH64][Insn classification unification 4/N] load/store types

2013-08-02 Thread Sofiane Naci
Hi, This patch is part of the ongoing work to unify instruction classification between the ARM and AARCH64 backends. This patch adds load_acq and store_rel types for classifying load acquire and store release instructions respectively. It also updates the ARMv8 pipeline descriptions. OK for

Re: [AARCH64][Insn classification unification 4/N] load/store types

2013-08-02 Thread Richard Earnshaw
On 02/08/13 14:03, Sofiane Naci wrote: Hi, This patch is part of the ongoing work to unify instruction classification between the ARM and AARCH64 backends. This patch adds load_acq and store_rel types for classifying load acquire and store release instructions respectively. It also

Re: [PATCH] S/390: Hardware transactional memory support

2013-08-02 Thread Andreas Krebbel
On 02/08/13 13:31, Torvald Riegel wrote: On Fri, 2013-06-21 at 12:23 +0200, Andreas Krebbel wrote: Index: libitm/config/s390/target.h === *** libitm/config/s390/target.h.orig --- libitm/config/s390/target.h ***

Re: [Patch] regex bracket expression implementaion

2013-08-02 Thread Paolo Carlini
Hi, On 08/01/2013 04:59 PM, Tim Shen wrote: Fully tested under x86_64. (make bootstrap make -k check). Next, I'll try to refactor _Grep_matcher using templates instead of virtual functions, to make implementing back-reference easier. If nobody has further comments over the next day or so,

[c++-concepts] class template constraints

2013-08-02 Thread Andrew Sutton
Attached is a patch that deals with class template constraints. In particular, it does 3 things: 1. Type constraints are checked on lookup rather than instantiation. 2. Initial support for constrained out-of-class definitions is added (more work needed) 3. Support for constrained partial template

Re: [PATCH] S/390: Hardware transactional memory support

2013-08-02 Thread Peter Bergner
On Fri, 2013-08-02 at 15:16 +0200, Andreas Krebbel wrote: Since libitm implements TX begins as function calls only call-saved registers can be live across a tbegin. But all the call-saved FPRs are saved in _ITM_beginTransaction and get restored when doing the longjmp back into the user

Re: [PATCH] S/390: Hardware transactional memory support

2013-08-02 Thread Andreas Krebbel
On 02/08/13 16:23, Peter Bergner wrote: On Fri, 2013-08-02 at 15:16 +0200, Andreas Krebbel wrote: Since libitm implements TX begins as function calls only call-saved registers can be live across a tbegin. But all the call-saved FPRs are saved in _ITM_beginTransaction and get restored when

patch to fix PR57963 (s390)

2013-08-02 Thread Vladimir Makarov
The following patch fixes http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57963 The page contains a good analysis of the PR from Andreas Krebbel. The patch was successfully bootstrapped and tested on x86/x86-64 and s390x. Committed as rev. 201438. 2013-08-02 Vladimir Makarov

Introduce local aliases for call targets when possible

2013-08-02 Thread Jan Hubicka
Hi, this patch (developed with Martin Liska) adds symbol table function symtab_nonoverwritable_alias that for a given definition returns symtab node that is not overwritable by linking and points to it. This patch makes simple use of it: when inline function is called and the symbol itself can be

Re: [PATCH] S/390: Hardware transactional memory support

2013-08-02 Thread Peter Bergner
On Fri, 2013-08-02 at 16:26 +0200, Andreas Krebbel wrote: On 02/08/13 16:23, Peter Bergner wrote: On Fri, 2013-08-02 at 15:16 +0200, Andreas Krebbel wrote: Since libitm implements TX begins as function calls only call-saved registers can be live across a tbegin. But all the call-saved

[RFC PATCH][ARM] Uncombine cbz/cbnz in if-conversion

2013-08-02 Thread Plotnikov Dmitry
Hi, On ARM/Thumb-2, if-conversion is sometimes unnecessarily constrained by combine pass (example below). In such cases, it would be profitable to teach if-conversion to apply a reverse transformation, but only if if-converting is possible. The attached patch implements that and improves

Re: [PATCH] S/390: Hardware transactional memory support

2013-08-02 Thread Andreas Krebbel
On 02/08/13 16:36, Peter Bergner wrote: On Fri, 2013-08-02 at 16:26 +0200, Andreas Krebbel wrote: On 02/08/13 16:23, Peter Bergner wrote: As long as libitm does not use FPRs itself this should be safe without having tbegin clobbering FPRs. Is it a given that s390 doesn't use FPRs without

Re: [PATCH] Sanitize block partitioning under -freorder-blocks-and-partition

2013-08-02 Thread Teresa Johnson
On Fri, Aug 2, 2013 at 4:22 AM, Bernhard Reutner-Fischer rep.dot@gmail.com wrote: On 1 August 2013 18:32, Teresa Johnson tejohn...@google.com wrote: Patch 3 of 3 split out from the patch I sent in May that fixes problems with -freorder-blocks-and-partition, with changes/fixes discussed in

Re: [PATCH] S/390: Hardware transactional memory support

2013-08-02 Thread Torvald Riegel
On Fri, 2013-08-02 at 15:16 +0200, Andreas Krebbel wrote: On 02/08/13 13:31, Torvald Riegel wrote: On Fri, 2013-06-21 at 12:23 +0200, Andreas Krebbel wrote: Index: libitm/config/s390/target.h === ***

Re: [PATCH] Sanitize block partitioning under -freorder-blocks-and-partition

2013-08-02 Thread Jan Hubicka
2013-08-01 Teresa Johnson tejohn...@google.com Steven Bosscher ste...@gcc.gnu.org * cfgrtl.c (fixup_bb_partition): New routine. (commit_edge_insertions): Invoke fixup_partitions. (find_partition_fixes): New routine. (fixup_partitions):

Go patch committed: Always put descriptor wrappers in their own section

2013-08-02 Thread Ian Lance Taylor
This patch to the Go frontend always puts descriptor wrapper functions in their own section. This lets the linker GC them. That is convenient since we must generate a wrapper for every top-level exported function, although most of them will never be used. We can only know whether they are used

Merge from 4.8 branch to gccgo branch

2013-08-02 Thread Ian Lance Taylor
I've merged revision 201443 from the GCC 4.8 branch to the gccgo branch. Ian

Re: [PATCH/Merge Request] Vtable Verification feature.

2013-08-02 Thread Diego Novillo
On Thu, Aug 1, 2013 at 1:19 PM, Benjamin De Kosnik b...@redhat.com wrote: You'll need a GWP to do the merge (Maybe Diego, Jason, Richard Henderson?) and then add yourself to MAINTAINERS for libvtv. Eh, no. We need a GWP to approve the final patch, but Caroline can and should do the merge

Re: [GOOGLE] Refactor AutoFDO

2013-08-02 Thread Xinliang David Li
More to follow. David static void read_profile (void) { if (gcov_open (auto_profile_file, 1) == 0) { inform (0, Cannot open profile file %s., auto_profile_file); Should be at least warning instead -- I think error is probably more appropriate -- this is different from regular

Go patch committed: Always put immutable structs in unique section

2013-08-02 Thread Ian Lance Taylor
The Go backend interfaces uses immutable structs for things like type descriptors, map descriptors, and function descriptors. These objects must always be created for exported names in case they are referenced by a different package, but this often does not happen. This patch moves them to

Re: [PATCH 10/11] Make gcc::context be GC-managed

2013-08-02 Thread David Malcolm
On Thu, 2013-08-01 at 11:28 -1000, Richard Henderson wrote: On 07/26/2013 05:04 AM, David Malcolm wrote: +/* Functions relating to the garbage collector. */ +void +gcc::context::gt_ggc_mx () +{ + /* Currently a no-op. */ +} + +void +gcc::context::gt_pch_nx () +{ + /*

Merge from 4.8 branch to gccgo branch

2013-08-02 Thread Ian Lance Taylor
I merged 4.8 branch revision 201447 to the gccgo branch. Ian

Re: [PATCH 11/11] Make opt_pass and gcc::pipeline be GC-managed

2013-08-02 Thread David Malcolm
On Thu, 2013-08-01 at 11:45 -1000, Richard Henderson wrote: On 07/26/2013 05:04 AM, David Malcolm wrote: (opt_pass::gt_ggc_mx): New. (opt_pass::gt_pch_nx): New. (opt_pass::gt_pch_nx_with_op): New. (gt_ggc_mx (opt_pass *)): New. (gt_pch_nx (opt_pass *)): New.

[PATCH] - C11 expressions and stdatomic.h - Just for current state

2013-08-02 Thread Andrew MacLeod
On 07/30/2013 12:49 PM, Andrew MacLeod wrote: I split the original patch into some smaller hunks, and cleaned up a few bit and pieces here and there... following: Not looking for a review, but posting progress to this point since I'm off for 2 weeks, and someone might want to play with this.

Re: [PATCH 11/11] Make opt_pass and gcc::pipeline be GC-managed

2013-08-02 Thread Richard Henderson
On 08/02/2013 09:08 AM, David Malcolm wrote: For opt_pass and pass_manager, something different is going on. I'd wondered about that. For some reason gengtype doesn't generate the triad of gt_ggc_mx_FOO, gt_pch_nx_FOO, gt_pch_p_NFOO functions in gtype-desc.c, for types FOO=opt_pass and

Re: [PATCH] S/390: Hardware transactional memory support

2013-08-02 Thread Richard Henderson
On 08/02/2013 04:45 AM, Andreas Krebbel wrote: ! XCFLAGS=${XCFLAGS} -mzarch -mhtm -msoft-float Not good, since _ITM_R{F,D,E,CF,CD,CE} should return values in floating point registers; similarly for the write accessors. r~

Re: [PATCH, rs6000] Add builtin support for power8 32-bit Altivec multiply insns

2013-08-02 Thread David Edelsohn
On Thu, Aug 1, 2013 at 2:21 PM, Peter Bergner berg...@vnet.ibm.com wrote: This patch adds builtin support for the new 32-bit Altivec multiply instructions that were added in ISA 2.07 (ie, POWER8). This passed bootstrap and regtesting with no errors. Ok for mainline? Peter, The builtins and

Re: [PATCH, rs6000] Add builtin support for power8 32-bit Altivec multiply insns

2013-08-02 Thread Peter Bergner
On Fri, 2013-08-02 at 17:13 -0400, David Edelsohn wrote: The builtins and patterns seem to be in a random order. Sometimes signed is first and sometimes unsigned is first. Please make the ordering of the names consistent. Ok, I can clean that up. If these operations are multiplies, why are

Re: [PATCH 11/11] Make opt_pass and gcc::pipeline be GC-managed

2013-08-02 Thread David Malcolm
On Fri, 2013-08-02 at 10:01 -1000, Richard Henderson wrote: On 08/02/2013 09:08 AM, David Malcolm wrote: For opt_pass and pass_manager, something different is going on. I'd wondered about that. For some reason gengtype doesn't generate the triad of gt_ggc_mx_FOO, gt_pch_nx_FOO,

Re: [PATCH, rs6000] Add builtin support for power8 32-bit Altivec multiply insns

2013-08-02 Thread Michael Meissner
On Fri, Aug 02, 2013 at 04:31:37PM -0500, Peter Bergner wrote: On Fri, 2013-08-02 at 17:13 -0400, David Edelsohn wrote: The builtins and patterns seem to be in a random order. Sometimes signed is first and sometimes unsigned is first. Please make the ordering of the names consistent.

patch to fix PR58048

2013-08-02 Thread Vladimir Makarov
The following patch fixes http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58048 LRA has a correct behaviour (as reload) on the test with -O0. But with -O2 a constant propagation into asm operands resulted in LRA cycling instead of error reporting. The patch was successfully bootstrapped and

Re: [libgo PATCH 0/1] mksyscalls.awk: make split ERE more portable

2013-08-02 Thread Ian Lance Taylor
On Thu, Aug 1, 2013 at 5:36 AM, Bernhard Reutner-Fischer rep.dot@gmail.com wrote: When using busybox' awk to bootstrap, libgo's syscalls are generated incorrectly. I'm attaching the split() used by busybox' awk including output before and after the patch for reference. Please install /

Re: [PATCH] Sanitize block partitioning under -freorder-blocks-and-partition

2013-08-02 Thread Steven Bosscher
On Fri, Aug 2, 2013 at 5:05 PM, Jan Hubicka hubi...@ucw.cz wrote: +/* Called when block BB has been reassigned to a different partition, + to ensure that the region crossing attributes are updated. */ + +static void +fixup_bb_partition (basic_block bb) +{ + edge e; + edge_iterator ei;

Re: [PATCH 11/11] Make opt_pass and gcc::pipeline be GC-managed

2013-08-02 Thread Richard Henderson
On 08/02/2013 11:53 AM, David Malcolm wrote: FWIW I had a go at avoiding templates by attempting to tell gengtype to write out functions for all GTY((user)) types, regardless of whether it thinks they're referenced, with this: @@ -3697,7 +3697,8 @@ write_types (outf_p output_header, type_p

Re: [PATCH 3.1/11] Explicitly initialize the macro-generated pass fields (was Re: [PATCH 03/11] Handwritten part of conversion of passes to C++ classes)

2013-08-02 Thread David Malcolm
On Thu, 2013-08-01 at 13:13 -0400, David Malcolm wrote: On Mon, 2013-07-29 at 15:41 -0600, Jeff Law wrote: On 07/26/2013 09:04 AM, David Malcolm wrote: This patch is the hand-written part of the conversion of passes from C structs to C++ classes. It does not work without the subsequent

Updated patch 10 (was Re: [PATCH 10/11] Make gcc::context be GC-managed)

2013-08-02 Thread David Malcolm
On Fri, 2013-08-02 at 14:31 -0400, David Malcolm wrote: On Thu, 2013-08-01 at 11:28 -1000, Richard Henderson wrote: On 07/26/2013 05:04 AM, David Malcolm wrote: +/* Functions relating to the garbage collector. */ +void +gcc::context::gt_ggc_mx () +{ + /* Currently a no-op. */

Updated patch (was Re: [PATCH 11/11] Make opt_pass and gcc::pipeline be GC-managed)

2013-08-02 Thread David Malcolm
On Fri, 2013-08-02 at 10:01 -1000, Richard Henderson wrote: On 08/02/2013 09:08 AM, David Malcolm wrote: For opt_pass and pass_manager, something different is going on. I'd wondered about that. For some reason gengtype doesn't generate the triad of gt_ggc_mx_FOO, gt_pch_nx_FOO,

GDB hooks for debugging GCC

2013-08-02 Thread David Malcolm
GDB 7.0 onwards supports hooks written in Python to improve the quality-of-life within the debugger. The best known are the pretty-printing hooks [1], which we already use within libstdc++ for printing better representations of STL containers. I've written debug hooks for when the inferior

New parameters to control stringop expansion libcall strategy

2013-08-02 Thread Xinliang David Li
On x86_64, when the expected size of memcpy/memset is known (e.g, with FDO), libcall strategy is used with the size is 8192. This value is hard coded, which makes it hard to do performance tuning. This patch adds two new parameters to do that. Potential usage includes per-application libcall

Re: C++ coding conventions: namespaces, references and getters (was Re: [PATCH 2/2] Introduce beginnings of a pipeline class.)

2013-08-02 Thread Gabriel Dos Reis
[ Adding Benjamin, Diego, Lawrence ] General remarks first: When we designed the coding standards for GCC, an overriding philosophy was that we did not want to be prescriptive. Rather, we explicitly wanted to encourage common sense and trust the judgment of maintainers to make sound and

Re: C++ coding conventions: namespaces, references and getters (was Re: [PATCH 2/2] Introduce beginnings of a pipeline class.)

2013-08-02 Thread Gabriel Dos Reis
On Tue, Jul 30, 2013 at 4:11 AM, Martin Jambor mjam...@suse.cz wrote: Moreover, I think we should be extra careful here because GCC is transitioning from C and many developers are used to expect C semantics, we will be mixing new C++ code with C code a lot in the future and even though we

Re: C++ coding conventions: namespaces, references and getters (was Re: [PATCH 2/2] Introduce beginnings of a pipeline class.)

2013-08-02 Thread Gabriel Dos Reis
On Tue, Jul 30, 2013 at 4:30 AM, Martin Jambor mjam...@suse.cz wrote: I'm voting for references. References can be seen as yet another software structuring tool that instantly communicate some properties such as you mentioned above. In addition to that it's also a hint of ownership, i.e. if

Re: [PATCH] Sanitize block partitioning under -freorder-blocks-and-partition

2013-08-02 Thread Teresa Johnson
On Fri, Aug 2, 2013 at 8:05 AM, Jan Hubicka hubi...@ucw.cz wrote: 2013-08-01 Teresa Johnson tejohn...@google.com Steven Bosscher ste...@gcc.gnu.org * cfgrtl.c (fixup_bb_partition): New routine. (commit_edge_insertions): Invoke fixup_partitions.

Re: [PATCH] Sanitize block partitioning under -freorder-blocks-and-partition

2013-08-02 Thread Teresa Johnson
On Fri, Aug 2, 2013 at 4:04 PM, Steven Bosscher stevenb@gmail.com wrote: On Fri, Aug 2, 2013 at 5:05 PM, Jan Hubicka hubi...@ucw.cz wrote: +/* Called when block BB has been reassigned to a different partition, + to ensure that the region crossing attributes are updated. */ + +static