Re: [patch] shuffle a couple of functions.

2013-10-10 Thread Richard Biener
On Wed, Oct 9, 2013 at 8:14 PM, Andrew MacLeod amacl...@redhat.com wrote: This patch simply moves std_gimplify_va_arg_expr() and the related build_va_arg_indirect_ref to gimplify.c where I think it belongs. It also moves gimple_fold_indirect_ref out of gimplfy.c and into gimple-fold.c.

Re: [patch] The remainder of tree-flow.h refactored.

2013-10-10 Thread Richard Biener
On Wed, Oct 9, 2013 at 11:34 PM, Andrew MacLeod amacl...@redhat.com wrote: On 10/09/2013 02:18 PM, Andrew MacLeod wrote: On 10/09/2013 02:15 PM, Andrew MacLeod wrote: Fair enough. I'll adjust... the front end files which use that routine will just have to include gimplify.h Unless

Re: [PATCH] Fix memory leak within ipa_inline

2013-10-10 Thread Richard Biener
On Thu, Oct 10, 2013 at 2:10 AM, David Malcolm dmalc...@redhat.com wrote: ipa-inline.c:ipa_inline leaks order when optimizations are disabled. This potentially becomes significant in my JIT branch since the compilation code could be invoked many times within one process. Bootstrapped and

Re: [PATCH 1/2] Handwritten part of conversion of IPA pass hooks to virtual functions

2013-10-10 Thread Richard Biener
As a general observation I don't like the if (pass-has_foo_member_function) pass-foo_member_function () style. It is totally against the idea of having virtual functions. Why not simply provide stub implementations in the base classes? Richard. On Thu, Oct 10, 2013 at 2:41 AM, David

Re: [PATCH] Reassociate X == CST1 || X == CST2 if popcount (CST2 - CST1) == 1 into ((X - CST1) ~(CST2 - CST1)) == 0

2013-10-10 Thread Richard Biener
On Thu, Oct 10, 2013 at 5:04 AM, Jeff Law l...@redhat.com wrote: On 08/05/13 02:08, Zhenqiang Chen wrote: Hi The patch reassociates X == CST1 || X == CST2 if popcount (CST2 - CST1) == 1 into ((X - CST1) ~(CST2 - CST1)) == 0. Bootstrap on x86-64 and ARM chromebook. No make check

Re: [PATCH] Workaround errata for the PMC-Sierra RM7000 cpu.

2013-10-10 Thread Richard Sandiford
Moore, Catherine catherine_mo...@mentor.com writes: Hi Richard, This patch implements a workaround for errors on the PMC-Sierra RM7000 cpu while executing the dmult or dmultu instruction. The workaround is to insert three nops after the dmult/dmultu. Do you have any more details? E.g. does

RE: [PATCH, libgcc] Disable JCR section when java is not enabled

2013-10-10 Thread Joey Ye
Dear Java maintainers, are you OK with this patch? - Joey -Original Message- From: Ian Lance Taylor [mailto:i...@google.com] Sent: Thursday, September 12, 2013 3:28 To: Joey Ye Cc: gcc-patches; H.J. Lu; p...@bothner.com; a...@redhat.com; Tom Tromey Subject: Re: [PATCH, libgcc]

Re: Patch: Add #pragma ivdep support to the ME and C FE

2013-10-10 Thread Tobias Burnus
Richard: Could you review the Gimple part? Thanks! Joseph: Could you have a look at the C part? Thanks! Jakub Jelinek wrote: + if (loop-latch) + FOR_EACH_EDGE (e, ei, loop-latch-succs) + { + if (e-dest-flags BB_RTL) + break; I'd prefer Richard to

[Patch, C++] Add C++ FE support for #pragma ivdep

2013-10-10 Thread Tobias Burnus
This patch depends on the middle-end / C FE patch: http://gcc.gnu.org/ml/gcc-patches/2013-10/msg00655.html It adds parsing support for #pragma ivdep and annotates the condition of C-like for loops such that one can later set the vectorization safe length (loop-safelen) to INT_MAX. I

Re: [PATCH, libgcc] Disable JCR section when java is not enabled

2013-10-10 Thread Jakub Jelinek
On Thu, Oct 10, 2013 at 04:22:52PM +0800, Joey Ye wrote: Dear Java maintainers, are you OK with this patch? Given the state of gcj that it is now only rarely used and most people just use OpenJDK instead, wouldn't it be a good idea to just require that gcj code is linked using gcj driver or, if

RE: [PATCH] Reassociate X == CST1 || X == CST2 if popcount (CST2 - CST1) == 1 into ((X - CST1) ~(CST2 - CST1)) == 0

2013-10-10 Thread Zhenqiang Chen
-Original Message- From: Jeff Law [mailto:l...@redhat.com] Sent: Thursday, October 10, 2013 11:05 AM To: Zhenqiang Chen; gcc-patches@gcc.gnu.org Subject: Re: [PATCH] Reassociate X == CST1 || X == CST2 if popcount (CST2 - CST1) == 1 into ((X - CST1) ~(CST2 - CST1)) == 0 On

[Patch ARM] Add support for a set of multilibs to be built for A profile cores.

2013-10-10 Thread Ramana Radhakrishnan
Hi, One of our internal patches is a multilib patch that helps in testing bare-metal toolchains for v7-a and above. It's a bit brute force but this is something that we use internally every night to build a set of base libraries in a hierarchical directory structure to be used by bare

Re: [PING] 3 patches waiting for approval/review

2013-10-10 Thread Andreas Krebbel
On 09/10/13 21:46, Jeff Law wrote: On 08/21/13 03:21, Andreas Krebbel wrote: [RFC] Allow functions calling mcount before prologue to be leaf functions http://gcc.gnu.org/ml/gcc-patches/2013-04/msg00993.html I don't think this is necessarily correct for all targets. ISTM the ability to

Re: [PATCH] Reassociate X == CST1 || X == CST2 if popcount (CST2 - CST1) == 1 into ((X - CST1) ~(CST2 - CST1)) == 0

2013-10-10 Thread Jakub Jelinek
On Thu, Oct 10, 2013 at 05:25:01PM +0800, Zhenqiang Chen wrote: Note I've been suggesting the bits I'm referring to in fold-const.c move out into the tree-ssa optimizers. If they fit well into tree-ssa-reassoc.c I'd look favorably upon a patch which moved them. The code is similar with

[PATCH] Fix asm goto miscompilation of Linux kernel (PR middle-end/58670)

2013-10-10 Thread Jakub Jelinek
Hi! The following testcase distilled from Linux kernel is miscompiled, in *.optimized we end up with asm goto whose only label points to the fallthru basic block. During expansion, we unfortunately put further instructions after it into the same basic block (one in expand_gimple_block: /*

[Ada] Internal optimization of Get_Source_File_Index

2013-10-10 Thread Arnaud Charlet
The frequently called Get_Source_File_Index function is optimized to be inline and is now a simple array access. This is an internal optimization only, with no functional effect (except hopefully a compilation time speed up). No test required Tested on x86_64-pc-linux-gnu, committed on trunk

[Ada] Updates to make System.Storage_Pools match RM

2013-10-10 Thread Arnaud Charlet
Add pragma Preelaborable_Initialization for Root_Storage_Pool type. Tested on x86_64-pc-linux-gnu, committed on trunk 2013-10-10 Vadim Godunko godu...@adacore.com * s-stopoo.ads (Root_Storage_Pool): Add pragma Preelaborable_Initialization. Index: s-stopoo.ads

[Ada] Allow Linker_Section for types

2013-10-10 Thread Arnaud Charlet
This is the front end part of the work for allowing Linker_Section for types. No test filed yet, waiting for completion of required back end (gigi) work. Tested on x86_64-pc-linux-gnu, committed on trunk 2013-10-10 Robert Dewar de...@adacore.com * sem_prag.adb (Analyze_Pragma, case

Re: [PATCH] Reassociate X == CST1 || X == CST2 if popcount (CST2 - CST1) == 1 into ((X - CST1) ~(CST2 - CST1)) == 0

2013-10-10 Thread Jakub Jelinek
On Mon, Aug 05, 2013 at 01:39:50AM -0700, Andrew Pinski wrote: Seems like a better place to put this is inside tree-ssa-ifcombine.c which handles the case where if(a || b) is split up into if(a) else if(b). Moving it into tree-ssa-ifcombine.c allows for code to be optimized which was written

[buildrobot] r203314..r203320: ssa / ssanames restructure broke alpha-linux again

2013-10-10 Thread Jan-Benedict Glaw
Hi! On Mon, 2013-09-16 10:32:24 -0400, Andrew MacLeod amacl...@redhat.com wrote: On 09/16/2013 05:05 AM, Richard Biener wrote: On Sat, Sep 14, 2013 at 12:41 PM, Jan-Benedict Glaw jbg...@lug-owl.de wrote: My Build Robot[1] found this recent commit to break Alpha: *

[Ada] Copy-on-write version of Ada.Containers.Indefinite_Holders

2013-10-10 Thread Arnaud Charlet
Optimized version of Ada.Containers.Indefinite_Holders is used on platforms which supports atomic operations. Tested on x86_64-pc-linux-gnu, committed on trunk 2013-10-10 Vadim Godunko godu...@adacore.com * a-coinho-shared.ads, a-coinho-shared.adb: New file. * s-atocou.ads:

[Ada] Allow full range of static address values for To_Address

2013-10-10 Thread Arnaud Charlet
This patch allows the use of static expressions, including most importantly literals that accomodate the full range of positive values for the Address, up to 2**a-1, where a is the size of address values (most typically 32 or 64). The following is compiled on a 32-bit machine: 1. with

[Ada] Handle some warning situations with Address aspect

2013-10-10 Thread Arnaud Charlet
The Address attribute definition clause processing warns when overlaying a small object with a large one, and also avoids giving a warning about the entity not being referenced. This patch applies the same processing to corresponding uses of the Address aspect. The following test program shows the

[Ada] Improper visibility with child instance that is siblling of current unit

2013-10-10 Thread Arnaud Charlet
This patch fixes a visibility hole in the instantiation of child units. Before this patch, a declaration in the private part of a non-generic common ancestor was made visible by an instantiation of a child unit in another descendant of that ancestor. Compiling p-c.ads must be rejected with:

[Ada] Fix malfunction of ASIS tools for predicated choices

2013-10-10 Thread Arnaud Charlet
The compiler was expanding choices in variant parts and case statements and expressions prematurely, so that the ASIS tree had these expansions, causing malfunction of ASIS tools (notably gnatpp, the pretty printer) to malfunction. This patch moves the expansion to the expander where it belongs so

[Ada] Improve error message on malformed aspect name

2013-10-10 Thread Arnaud Charlet
Compiling wrong_aspect.ads must yield: wrong_aspect.ads:8:62: aspect identifier expected wrong_aspect.ads:10:50: aspect identifier expected wrong_aspect.ads:12:50: aspect identifier expected --- package Wrong_Aspect is type Bits_1 is mod 2**1 with Size = 1; type Bits_2 is mod

Re: [PATCH] Reassociate X == CST1 || X == CST2 if popcount (CST2 - CST1) == 1 into ((X - CST1) ~(CST2 - CST1)) == 0

2013-10-10 Thread Jakub Jelinek
On Mon, Aug 05, 2013 at 04:08:58PM +0800, Zhenqiang Chen wrote: ChangeLog 2013-08-05 Zhenqiang Chen zhenqiang.c...@arm.com * tree-ssa-reassoc.c (optimize_range_tests): Reasociate X == CST1 || X == CST2 if popcount (CST2 - CST1) == 1 into ((X - CST1) ~(CST2 - CST1)) ==

[Ada] Better error message for incorrect instantiations

2013-10-10 Thread Arnaud Charlet
This patch adds the name of entity that is improperly used as the name in a package or subprogram instantiation. Compiling generic_test.adb must yield: generic_test.adb:30:10: E is not the name of a generic package --- procedure Generic_Test is generic M : Positive; package G

[Ada] Endianness of Ada.Sequential_IO length information

2013-10-10 Thread Arnaud Charlet
For unconstrained types, Ada.Sequential_IO needs to encode length information prior to actual object representation. This length information is now stored with the same endianness as the object itself, which means that the same representation is now generated, independent of platform endianness,

[Ada] Make statically predicated choices in variants work

2013-10-10 Thread Arnaud Charlet
This is a fairly major reorganization of the way that choices are handled. The processing of such choices in variants was completely wrong before, since we attempted to do it when the variant is first seen, but the statically predicated subtype may not be frozen yet, so this processing has to be

[Ada] Shared libraries not linked with Rpath when -R is used

2013-10-10 Thread Arnaud Charlet
When the builder is invoked with -R, shared libraries are not linked with an Rpath. Tested on x86_64-pc-linux-gnu, committed on trunk 2013-10-10 Vincent Celier cel...@adacore.com * mlib-prj.adb (Build_Library): Do not issue link dynamic libraries with an Rpath, if switch -R

[Ada] Aspect Refined_Post

2013-10-10 Thread Arnaud Charlet
This patch provides the initial implementation of aspect/pragma Refined_Post. This construct is intended for formal verification proofs. The syntax of the aspect is as follows: ASPECT_DEFINITION ::= ( boolean_EXPRESSION ) The syntax of the pragma is as follows: pragma Refined_Post (

[Ada] Fix problems in error analysis for variant part

2013-10-10 Thread Arnaud Charlet
This patch fixes regressions caused by the previous checkin to handle statically predicated subtypes in variant choices. Error messages were not being given in full code generation mode. The following should compile with the indicated errors in both -gnatc and normal code generation mode.

[Ada] Resolving self-references to a child generic unit in an instance

2013-10-10 Thread Arnaud Charlet
This patch fixes a name resolution problem in a child instance. involving a name of the form A.B.C, where A. B and C constitute a generic hierarchy. Within an instance of C, this name must be rewritten to denote the instances of A, B and C. Previously the compiler only handled one level of child

[Ada] Implement use of static predicates in variants

2013-10-10 Thread Arnaud Charlet
This patch completes the implementation of statically predicated subtypes as choices in record variants. The following should compile quietly in both code generation and -gnatct mode: 1. package Predicate_Variant is 2.type Color is 3. (Red, Orange, Yellow, Green, Blue,

[C++ Patch] PR 31671

2013-10-10 Thread Paolo Carlini
Hi, I think that in order to resolve this very old accepts-invalid, we can simply adjust the expr to the cv-qualifiers of probe_type. I also double checked that thing are fine for other combinations of cv-qualified reference types as parameter and as argument. Tested x86_64-linux. Thanks,

[Ada] Update names Is_Other_Format/Is_Punctuation_Connector

2013-10-10 Thread Arnaud Charlet
The two routines Is_Other_Format and Is_Punctuation_Connector are thus renamed (from Is_Other and Is_Punctuation) in packages Ada.Wide_Character.Handling and Ada.Wide_Wide_Character.Handling to reflect the final decision on names. The following should compile as shown 1. with

[Ada] Aspects on task and protected bodies are illegal

2013-10-10 Thread Arnaud Charlet
Previously we gave a warning and ignored all such aspects, including language-defined ones, which must be diagnosed as illegal. This patch considers all aspects illegal in this context. Why not? They are our aspects, and if we are not going to implement them in this context, they should not be

[Ada] Duplicated index values are displayed for case statements

2013-10-10 Thread Arnaud Charlet
Duplicated index values are now displayed for case statement and error flags for both duplicated and missing case values are placed more precisely as shown by the compilation of the following test compiled with -gnatj60. 1. package dupaggr is 2.type enum is (a, b, c, d, e, f);

[Ada] Fatal error if linker options appear in predefined generics

2013-10-10 Thread Arnaud Charlet
For reasons explained in source comments, we ignore linker options that appear in predefined generic units. This patch adds a fatal error message if this is attempted. This is an internal change only since it affects only implementation units, so no test needed Tested on x86_64-pc-linux-gnu,

[Ada] Proper detection of errors in variant choices

2013-10-10 Thread Arnaud Charlet
This is part of the previous work on getting variant choices that involve a statically predicated subtype to work. The one gap was in the generic case, where we were detecting the error on instances instead of the template (this also called a failure of ACATS test B49007A, where we had lots such a

[Ada] Warn on redundant if statement

2013-10-10 Thread Arnaud Charlet
A warning is added for if statements which have no else or elsif, and a then that is a single null statement, and a condition that has no obvious side effects. The following is compiled with -gnatwr.d 1. function WarnOnIf (X : Integer) return Boolean is 2.V : Integer with Volatile;

[Ada] Correct usage of Default_Aspect_Value in scalar types

2013-10-10 Thread Arnaud Charlet
This patch corrects the string representation of attribute Default_Aspect_Value when it is applied to scalar types. The string name is for internal debugging purposes only, no test. Tested on x86_64-pc-linux-gnu, committed on trunk 2013-10-10 Hristian Kirtchev kirtc...@adacore.com *

[Ada] The progenitor of a type extension may be a subtype.

2013-10-10 Thread Arnaud Charlet
A subtype of an interface type can appear as a progenitor in a type extension. The routine that determines whether a given interface is a progenitor of a type must take this subtype into account. Compiling and executing main.adb must yield: The integer: 42 --- with Ultimate_User; procedure

[Ada] Add missing functions to Ada.Characters.Handling

2013-10-10 Thread Arnaud Charlet
This patch adds a number of functions to Ada.Characters.Handling that were added late on in the design process and missed it into the first version of this package. The test below tests these missing functions. It is to be compiled with -gnata and executed: 1. with Ada.Characters.Handling;

[Ada] Support for aspect Refined_State

2013-10-10 Thread Arnaud Charlet
This patch provides the initial implementation of aspect/pragma Refined_State. The construct is intended for formal verification proofs. The syntax of the aspect/pragma is as follows: pragma Refined_State (REFINEMENT_LIST); REFINEMENT_LIST ::= REFINEMENT_CLAUSE |

Re: [PATCH, libgcc] Disable JCR section when java is not enabled

2013-10-10 Thread Tom Tromey
Jakub Given the state of gcj that it is now only rarely used and most Jakub people just use OpenJDK instead, wouldn't it be a good idea to Jakub just require that gcj code is linked using gcj driver or, if Jakub linked in any other driver, just using a special non-default Jakub option (-flink-jcr

gimplify.c fix for rs6000 and mips

2013-10-10 Thread Andrew MacLeod
More fun target specific stuff. gimplify.c needs the back end supplied macros/function for the va-arg padding functions to bootstrap... confirmed to build stage1 cross compile on rs6000 and mips64. checked in as revision 203373... hopefully that's the last of them :-P Andrew *

[PATCH] Fix PR58656

2013-10-10 Thread Richard Biener
This fixes an unintended side-effect of the PR58464 fix, caching failed translations has issues with insertion iteration. Bootstrapped and tested on x86_64-unknown-linux-gnu, applied. Richard. 2013-10-10 Richard Biener rguent...@suse.de PR tree-optimization/58656 *

Re: New attribute: returns_nonnull

2013-10-10 Thread Tom Tromey
Marc + if (flag_delete_null_pointer_checks Marc + lookup_attribute (returns_nonnull, Marc + TYPE_ATTRIBUTES (TREE_TYPE (fndecl Marc + return true; I wired all this up to gcj, but it tripped over the flag_delete_null_pointer_checks test, because java/lang.c sets it: /* Java

[patch] combine ICE fix

2013-10-10 Thread Cesar Philippidis
This patch addresses an ICE when building qemu for a Mips target in Yocto. Both gcc-trunk, gcc-4.8 and all of the targets are potentially affected. The problem occurs because the instruction combine phase uses two data structures to keep track of registers, reg_stat and regstat_n_sets_and_refs,

Re: [PATCH i386 3/8] [AVX512] [11/n] Add AVX-512 patterns: FMA.

2013-10-10 Thread Kirill Yukhin
Hello, Thanks a lot for all reviews! On 09 Oct 14:55, Richard Henderson wrote: On 10/09/2013 03:28 AM, Kirill Yukhin wrote: +;; CPUID bit AVX512F enables evex encoded scalar and 512-bit fma. It doesn't +;; care about FMA bit, so we enable fma for TARGET_AVX512F even when TARGET_FMA

Re: New attribute: returns_nonnull

2013-10-10 Thread Richard Biener
On Thu, Oct 10, 2013 at 4:17 PM, Tom Tromey tro...@redhat.com wrote: Marc + if (flag_delete_null_pointer_checks Marc + lookup_attribute (returns_nonnull, Marc + TYPE_ATTRIBUTES (TREE_TYPE (fndecl Marc + return true; I wired all this up to gcj, but it tripped over the

Re: gimplify.c fix for rs6000 and mips

2013-10-10 Thread Richard Biener
On Thu, Oct 10, 2013 at 3:10 PM, Andrew MacLeod amacl...@redhat.com wrote: More fun target specific stuff. gimplify.c needs the back end supplied macros/function for the va-arg padding functions to bootstrap... Err ... don't we have the va_arg gimplify target hooks to hide this kind of target

Re: gimplify.c fix for rs6000 and mips

2013-10-10 Thread Richard Biener
On Thu, Oct 10, 2013 at 4:30 PM, Richard Biener richard.guent...@gmail.com wrote: On Thu, Oct 10, 2013 at 3:10 PM, Andrew MacLeod amacl...@redhat.com wrote: More fun target specific stuff. gimplify.c needs the back end supplied macros/function for the va-arg padding functions to bootstrap...

Re: [3/6] OpenMP 4.0 C++ FE support

2013-10-10 Thread Jakub Jelinek
On Wed, Oct 09, 2013 at 08:17:55PM -0400, Jason Merrill wrote: Please add a comment explaining why an invisiref decl is handled specially. Ok. @@ -1345,6 +1384,30 @@ cplus_decl_attributes (tree *decl, tree || *decl == error_mark_node) return; + /* Add implicit omp declare

Re: [GOOGLE] Iterative AutoFDO

2013-10-10 Thread Dehao Chen
Patch updated. Thanks, Dehao On Wed, Oct 9, 2013 at 10:45 PM, Xinliang David Li davi...@google.com wrote: /* Program behavior changed, original promoted (and inlined) target is not hot any more. Will avoid promote the original target. */ if (total = info-first * 0.5) return false;

[google gcc-4_8,integration][patch] Set abi-version to 0

2013-10-10 Thread Paul Pluzhnikov
Greetings, For Google b/10860844, I've committed the patch below on google gcc-4_8 (r203381) and integration (r203382) branches. This forces abi-version to be the latest available. 2013-10-10 Paul Pluizhnikov ppluzhni...@google.com * gcc/common.opt (flag_abi_version): Set to 0.

[PATCH] testsuite/29_atomics/atomic/cons/49445.cc missing dg-require-atomic-builtins

2013-10-10 Thread Marcus Shawcroft
Hi, The libstdc++-v3 testcase atomic/cons/49445.cc fails for a variety of arm configurations that do not provide atomic builtins because the test is not gated by dg-require-atomic-builtins OK ? /M 2013-10-10 Marcus Shawcroft marcus.shawcr...@arm.com *

Re: [PATCH] Do not append *INTERNAL* to the decl name

2013-10-10 Thread Dehao Chen
ping^2 Thanks, Dehao On Tue, Oct 1, 2013 at 1:28 PM, Dehao Chen de...@google.com wrote: Hi, This patch disables the C++ frontend to add *INTERNAL* suffix to maybe_in_charge_destructor/constructor. This is needed because these functions could be emitted in the debug info, and we would want

[PATCH] Fix PR58682

2013-10-10 Thread Paulo Matos
This is a patch for trunk. It should be backported to 4_8, once it thaws. OK for trunk? 2013-10-10 Paulo Matos pma...@broadcom.com PR gcov-profile/58682 * ipa-inline.c (inline_small_functions): Update max_count if new edges are added after inline_call. Paulo Matos

Re: [PATCH] Fix PR58682

2013-10-10 Thread Kyrill Tkachov
Hi Paul, On 10/10/13 17:10, Paulo Matos wrote: - inline_call (edge, true, new_indirect_edges, overall_size, true); + if (inline_call (edge, true, new_indirect_edges, overall_size, true)) +{ + /* Update max_count if new edges were found */ Comments end

Re: [PATCH] Fix asm goto miscompilation of Linux kernel (PR middle-end/58670)

2013-10-10 Thread Richard Henderson
On 10/10/2013 03:22 AM, Jakub Jelinek wrote: Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk and 4.8? 2013-10-10 Jakub Jelinek ja...@redhat.com PR middle-end/58670 * stmt.c (expand_asm_operands): Add FALLTHRU_BB argument, if any labels are in

Re: [PATCH][i386] Enable vector_loop in memset expanding and merge expanders for memset and memmov

2013-10-10 Thread Jan Hubicka
Hi, lets start with your unification code and then I will update my patch. The patch is bootstrapped and tested on i386/x86_64 (make check, and stability testing on Spec2k, Spec2k6). Please do not forget to check also -minline-all-stringop. diff --git a/gcc/config/i386/i386.c

Re: New attribute: returns_nonnull

2013-10-10 Thread Jeff Law
On 10/10/13 08:17, Tom Tromey wrote: In addition, other optimization passes in GCC use this flag to control global dataflow analyses that eliminate useless checks for null pointers; these assume that if a pointer is checked after it has already been dereferenced,

Re: [patch] combine ICE fix

2013-10-10 Thread Jakub Jelinek
On Thu, Oct 10, 2013 at 07:26:43AM -0700, Cesar Philippidis wrote: This patch addresses an ICE when building qemu for a Mips target in Yocto. Both gcc-trunk, gcc-4.8 and all of the targets are potentially affected. The problem occurs because the instruction combine phase uses two data

Re: [PATCH] testsuite/29_atomics/atomic/cons/49445.cc missing dg-require-atomic-builtins

2013-10-10 Thread Jonathan Wakely
On 10 October 2013 16:53, Marcus Shawcroft wrote: Hi, The libstdc++-v3 testcase atomic/cons/49445.cc fails for a variety of arm configurations that do not provide atomic builtins because the test is not gated by dg-require-atomic-builtins OK ? OK, thanks.

Re: [PING] 3 patches waiting for approval/review

2013-10-10 Thread Jeff Law
On 10/10/13 04:00, Andreas Krebbel wrote: On 09/10/13 21:46, Jeff Law wrote: On 08/21/13 03:21, Andreas Krebbel wrote: [RFC] Allow functions calling mcount before prologue to be leaf functions http://gcc.gnu.org/ml/gcc-patches/2013-04/msg00993.html I don't think this is necessarily correct

Re: [PATCH i386 3/8] [AVX512] [11/n] Add AVX-512 patterns: FMA.

2013-10-10 Thread Richard Henderson
On 10/10/2013 07:27 AM, Kirill Yukhin wrote: Currently, from HW point of view, there're no CPUs which feature AVX-512, but not AVX2. So, I believe we may put a `TODO` in comment, like this: +;; CPUID bit AVX512F enables evex encoded scalar and 512-bit fma. It doesn't +;; care about FMA

Re: gimplify.c fix for rs6000 and mips

2013-10-10 Thread Andrew MacLeod
On 10/10/2013 10:35 AM, Richard Biener wrote: On Thu, Oct 10, 2013 at 4:30 PM, Richard Biener richard.guent...@gmail.com wrote: On Thu, Oct 10, 2013 at 3:10 PM, Andrew MacLeod amacl...@redhat.com wrote: More fun target specific stuff. gimplify.c needs the back end supplied macros/function for

Re: [1/6] OpenMP 4.0 C FE support

2013-10-10 Thread Joseph S. Myers
My only comment is that you change the parameters to c_parser_binary_expression, but don't change the comment above that function documenting what they are. -- Joseph S. Myers jos...@codesourcery.com

Re: [PATCH] Workaround errata for the PMC-Sierra RM7000 cpu.

2013-10-10 Thread Richard Sandiford
Moore, Catherine catherine_mo...@mentor.com writes: -Original Message- From: Richard Sandiford [mailto:rdsandif...@googlemail.com] Subject: Re: [PATCH] Workaround errata for the PMC-Sierra RM7000 cpu. Moore, Catherine catherine_mo...@mentor.com writes: Hi Richard, This patch

More generic tuning updates

2013-10-10 Thread Jan Hubicka
Hi, this patch enables X86_TUNE_SSE_TYPELESS_STORES for generic. This is because it is currently enabled for both Bulldozer and Cores and I think in fact all modern chips honnors it. I am not sure why it is off for Atom/Slm and Bobcat. Second change is to enable X86_TUNE_SSE_LOAD0_BY_PXOR for

Re: [1/6] OpenMP 4.0 C FE support

2013-10-10 Thread Jakub Jelinek
On Thu, Oct 10, 2013 at 05:14:02PM +, Joseph S. Myers wrote: My only comment is that you change the parameters to c_parser_binary_expression, but don't change the comment above that function documenting what they are. Thanks, here is the fix for that: 2013-10-10 Jakub Jelinek

[PATCH] rewrite stack vectors

2013-10-10 Thread tsaunders
From: Trevor Saunders tsaund...@mozilla.com Hi, This makes the implementation of stack vectors simpler and easier to use. This works by making

Re: coverage.c: Fix leak of da_file_name

2013-10-10 Thread David Malcolm
On Wed, 2013-10-09 at 19:56 -0700, Ian Lance Taylor wrote: On Wed, Oct 9, 2013 at 5:18 PM, David Malcolm dmalc...@redhat.com wrote: coverage_init allocates da_file_name using XNEWVEC, but it is never freed. This shows up as a slow memory leak in my JIT code when repeatedly invoking the

Re: [PATCH] Fix memory leak within ipa_inline

2013-10-10 Thread David Malcolm
On Thu, 2013-10-10 at 09:53 +0200, Richard Biener wrote: On Thu, Oct 10, 2013 at 2:10 AM, David Malcolm dmalc...@redhat.com wrote: ipa-inline.c:ipa_inline leaks order when optimizations are disabled. This potentially becomes significant in my JIT branch since the compilation code could be

Re: [C++ Patch] PR 31671

2013-10-10 Thread Jason Merrill
On 10/10/2013 08:33 AM, Paolo Carlini wrote: + expr_type = TREE_TYPE (expr) = cp_build_qualified_type + (TREE_TYPE (expr), cp_type_quals (TREE_TYPE (probe_type))); Won't that end up being the same as the contents of expr_type before this statement? Can we just

[Google] Skip LIPO type unification for trivial module groups

2013-10-10 Thread Teresa Johnson
The following patch fixes an inefficiency whereby type unification was being attempted unnecessarily in LIPO even when there were no aux modules. Tested with regression tests and internal LIPO benchmark. Ok for google/4_8? Thanks, Teresa 2013-10-10 Teresa Johnson tejohn...@google.com

Re: [3/6] OpenMP 4.0 C++ FE support

2013-10-10 Thread Jason Merrill
On 10/10/2013 11:01 AM, Jakub Jelinek wrote: int inhibit_evaluation_warnings; + int omp_declare_target_attribute; Let's keep the comment you had on the variable, just put it on the member now. OK with that change. Jason

Re: Honnor ix86_accumulate_outgoing_args again

2013-10-10 Thread Jan Hubicka
Hi, this patch makes ACCUMULATE_OUTGOING_ARGS to disable itself when function is cold. I did some extra testing and to my amusement we now seem to output more compact unwind info when ACCUMULATE_OUTGOING_ARGS is disabled, so this seems quite consistent code size win. We actually can do better

Re: [Google] Skip LIPO type unification for trivial module groups

2013-10-10 Thread Xinliang David Li
It is better to turn it on when random stress test is also on: param value of PARAM_LIPO_RANDOM_GROUP_SIZE is not the default value (0). if (!L_IPO_COMP_MODE || (num_in_fnames == 1 PARAM_VALUE (PARAM_LIPO_RANDOM_GROUP_SIZE) == 0)) ok with this change. David On Thu, Oct 10, 2013 at 11:27 AM,

Re: [Google] Skip LIPO type unification for trivial module groups

2013-10-10 Thread Teresa Johnson
On Thu, Oct 10, 2013 at 11:42 AM, Xinliang David Li davi...@google.com wrote: It is better to turn it on when random stress test is also on: param value of PARAM_LIPO_RANDOM_GROUP_SIZE is not the default value (0). I don't understand why - the random group size is used at dyn-ipa time to

Re: [C++ Patch] PR 58633

2013-10-10 Thread Jason Merrill
On 10/09/2013 11:14 AM, Mitchell, Mark wrote: Unfortunately, I no longer remember this code well. My recollection -- such as it is -- is just that I couldn't find a case where it was necessary to commit only a single level. You sometimes had to scan an unbounded number of tokens to complete

Re: [Google] Skip LIPO type unification for trivial module groups

2013-10-10 Thread Xinliang David Li
The option/parameter in theory should not have any effect to profile-use build, but it is usually passed to both profile-gen and profile-use compilation. The reason to turn it on is to surface the type of error you have fixed recently (it is triggered only with trivial module group). David On

Re: [PING] 3 patches waiting for approval/review

2013-10-10 Thread Andreas Krebbel
On 10/10/13 18:41, Jeff Law wrote: On 10/10/13 04:00, Andreas Krebbel wrote: On 09/10/13 21:46, Jeff Law wrote: On 08/21/13 03:21, Andreas Krebbel wrote: [RFC] Allow functions calling mcount before prologue to be leaf functions http://gcc.gnu.org/ml/gcc-patches/2013-04/msg00993.html I don't

Re: [patch] Make cxxfilt demangle internal-linkage templates

2013-10-10 Thread Paul Pluzhnikov
Ian? Ping x4. On Wed, Sep 18, 2013 at 4:24 PM, Paolo Carlini paolo.carl...@oracle.com wrote: Original message: http://gcc.gnu.org/ml/gcc-patches/2013-08/msg00394.html I'm adding Ian in CC. -- Paul Pluzhnikov

Re: [GOOGLE] Iterative AutoFDO

2013-10-10 Thread Xinliang David Li
The patch is ok. David On Thu, Oct 10, 2013 at 8:09 AM, Dehao Chen de...@google.com wrote: Patch updated. Thanks, Dehao On Wed, Oct 9, 2013 at 10:45 PM, Xinliang David Li davi...@google.com wrote: /* Program behavior changed, original promoted (and inlined) target is not hot any

Re: [C++ Patch] PR 31671

2013-10-10 Thread Paolo Carlini
Hi, On 10/10/2013 08:26 PM, Jason Merrill wrote: On 10/10/2013 08:33 AM, Paolo Carlini wrote: + expr_type = TREE_TYPE (expr) = cp_build_qualified_type +(TREE_TYPE (expr), cp_type_quals (TREE_TYPE (probe_type))); Won't that end up being the same as the contents of expr_type

Re: [Google] Skip LIPO type unification for trivial module groups

2013-10-10 Thread Teresa Johnson
I see, we would be using the presence of this parameter to drive lipo stress-testing in general. I made the change and added a comment to that effect and will commit it. Thanks, Teresa On Thu, Oct 10, 2013 at 12:03 PM, Xinliang David Li davi...@google.com wrote: The option/parameter in theory

Re: [Patch] Handle profile counts truncated to 0 in coldness test

2013-10-10 Thread Teresa Johnson
On Mon, Oct 7, 2013 at 10:49 PM, Teresa Johnson tejohn...@google.com wrote: On Sun, Oct 6, 2013 at 6:51 AM, Jan Hubicka hubi...@ucw.cz wrote: The second part ensures that frequencies are correctly updated after inlining. The problem is that after inlining the frequencies were being recomputed

Re: [patch] Make cxxfilt demangle internal-linkage templates

2013-10-10 Thread Ian Lance Taylor
On Wed, Aug 7, 2013 at 11:51 AM, Paul Pluzhnikov ppluzhni...@google.com wrote: The following source: templatetypename T static void f(); void g() { fint(); } results in _Z1fIiEvv under g++, but in _ZL1fIiEvv under clang. Richard Smith says: The ABI doesn't cover manglings for

Re: [SKETCH] Refactor implicit function template implementation and fix 58534, 58536, 58548, 58549 and 58637.

2013-10-10 Thread Adam Butcher
On 2013-10-09 4:37, Jason Merrill wrote: On 10/07/2013 05:14 AM, Adam Butcher wrote: + /* Forbid ambiguous implicit pack expansions by only allowing +a single generic type in such a parameter. +XXX: Maybe allow if explicitly specified

Re: [Patch] Handle profile counts truncated to 0 in coldness test

2013-10-10 Thread Teresa Johnson
On Mon, Oct 7, 2013 at 10:45 PM, Teresa Johnson tejohn...@google.com wrote: On Sun, Oct 6, 2013 at 6:43 AM, Jan Hubicka hubi...@ucw.cz wrote: 2013-10-03 Teresa Johnson tejohn...@google.com * params.def (PARAM_MIN_HOT_RUN_RATIO): New parameter. I would not mention HOT in the

libgo patch committed: Report len out of range for large len

2013-10-10 Thread Ian Lance Taylor
This patch to libgo lets it report len out of range when making a slice with a very large length. This is not strictly necessary as it already check for a very large capacity, but since the capacity is often implicit this patch gives a better error. Bootstrapped and ran Go testsuite on

Re: [SKETCH] Refactor implicit function template implementation and fix 58534, 58536, 58548, 58549 and 58637.

2013-10-10 Thread Jason Merrill
On 10/10/2013 04:45 PM, Adam Butcher wrote: Of course; makes sense. I had confused myself. Not that it's a function parameter pack, but presumably you would expect auto f(tupleauto... p) to be supported? That makes sense, though it's a (further) extension. Can we put this in

Go patch committed: Avoid extra error for anonymous embedded type

2013-10-10 Thread Ian Lance Taylor
This patch to the Go frontend avoids an extra error for an anonymous embedded type. The compiler now checks for undefined types elsewhere, and this error is unnecessary. Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline. Will commit to 4.8 branch when it

Go patch committed: Use backend for function declarations/definitions

2013-10-10 Thread Ian Lance Taylor
This patch from Chris Manghane changes the Go frontend to use the backend interface for function declarations and definitions. Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu. Committed to mainline. Ian 2013-10-10 Chris Manghane cm...@google.com * go-gcc.cc

[patch] omp-low.h

2013-10-10 Thread Andrew MacLeod
Missed a bit in tree-flow.h.. I mistakenly assumed omp_region belonged there :-P Anyway by moving struct omp_region into omp_low.h, along with the prototypes from tree-flow.h, gimple.h and tree.h. Everything works great with just a few files actually requiring omp-low.h. AS an extra

Re: RFA [reload]: Fix PR other/58545

2013-10-10 Thread Jeff Law
On 10/03/13 14:23, Joern Rennecke wrote: To make sure that reloading is done with up-to-date register eliminations, I call update_eliminables also in the code path that continues for a frame size change. Not directly, since I need the code to spill the no longer eliminated registers; I've

  1   2   >