Re: [var-template] Accept variable template declaration

2013-03-29 Thread Gabriel Dos Reis
Jason Merrill writes: | On 03/29/2013 06:29 PM, Gabriel Dos Reis wrote: | > + if (TREE_CODE (t) != TEMPLATE_DECL | > + || !(DECL_NAMESPACE_SCOPE_P (t) || DECL_MEMBER_TEMPLATE_P (t))) | | Why check the scope? ah right, if it is a template the scope was already checked. | > - if (!TYPE_P

C++ PATCH: Fix typo in documentation

2013-03-29 Thread Gabriel Dos Reis
There is no TMPL_ARG_DEPTH; should be TMPL_ARGS_DEPTH. Committed as obvious. -- Gaby 2013-03-29 Gabriel Dos Reis * pt.c (template_parms_to_args): Fix typo in comment. Index: pt.c === --- pt.c(revision 197258) ++

Re: [var-template] Accept variable template declaration

2013-03-29 Thread Jason Merrill
On 03/29/2013 06:29 PM, Gabriel Dos Reis wrote: + if (TREE_CODE (t) != TEMPLATE_DECL + || !(DECL_NAMESPACE_SCOPE_P (t) || DECL_MEMBER_TEMPLATE_P (t))) Why check the scope? - if (!TYPE_P (ctx) || !CLASSTYPE_TEMPLATE_INFO (ctx)) -permerror (DECL_SOURCE_LOCATION (decl), -

[patch] Stop using JUMP_INSN for jump table data

2013-03-29 Thread Steven Bosscher
Hello, GCC uses fake JUMP_INSNs as placeholders for jump table data. These JUMP_INSNs have an ADDR_VEC or ADDR_DIFF_VEC as PATTERN, but they are not real instructions and they are not inside basic blocks. This results in special-casing JUMP_P insns in various places throughout the compiler. The a

Re: [C++ Patch] Use TYPE_PTR_P and VOID_TYPE_P more often

2013-03-29 Thread Paolo Carlini
On 03/29/2013 09:03 PM, Jason Merrill wrote: OK. Thanks. Earlier today I missed 2 more TYPE_PTRFN_P and a TYPE_REFFN_P: I'm applying as obvious the below, which just passed testing. Thanks again, Paolo. /// 2013-03-29 Paolo Carlini * call.c (build_op_call_1): Use T

[var-template] Accept variable template declaration

2013-03-29 Thread Gabriel Dos Reis
This patch lets us accept declarations of constexpr variable templates. Actual semantics processing of specialization is subject of follow up patches. The patch represents a variable template as a variable temploid whose scope is a namespace, or member template that generates a static data membe

RE: [patch] cilkplus: Array notation for C patch

2013-03-29 Thread Iyer, Balaji V
Hello Joseph, Aldy et al., I reworded couple comments (e.g changed builtin with built-in, etc) and added a header comment to the c-array-notation.c that explains the overall process. I am attaching a fixed patch. Thanks, Balaji V. Iyer. Here are the Changelog entries again: gcc/Chang

Re: [Patch, fortran] Use memcmp for string comparisons a bit more

2013-03-29 Thread Tobias Burnus
Am 29.03.2013 21:53, schrieb Thomas Koenig: Am 29.03.2013 15:56, schrieb Tobias Burnus: Thus, how about using memcmp for kind=4 for == and /= only - and for kind=1 also for <, > etc.? OK, there is the updated patch. OK thanks for the patch! 2013-03-25 Thomas Koenig * trans-expr

[Patch, fortran] Use memcmp for string comparisons a bit more

2013-03-29 Thread Thomas Koenig
Am 29.03.2013 15:56, schrieb Tobias Burnus: Thus, how about using memcmp for kind=4 for == and /= only - and for kind=1 also for <, > etc.? OK, there is the updated patch. 2013-03-25 Thomas Koenig * trans-expr.c (build_memcmp_call): New function. (gfc_build_compare_string

Re: Compute precise counter histogram at LTO

2013-03-29 Thread Teresa Johnson
On Fri, Mar 29, 2013 at 11:16 AM, Jan Hubicka wrote: > Hi, > currently we use Theresa's code to determine hot/cold decisions based on > counter. > Histogram of gcov counters is computed and then threshold is identified so > 99.9% of counter increments gets done in hot region. There are some prob

Re: [C++ Patch] Use TYPE_PTR_P and VOID_TYPE_P more often

2013-03-29 Thread Jason Merrill
OK. Jason

Re: Fill more delay slots in conditional returns

2013-03-29 Thread Jeff Law
On 03/25/2013 05:25 AM, Eric Botcazou wrote: Hi, for a private port with conditional returns and delay slots, only the simple algorithm (fill_simple_delay_slots) is able to fill the slots. It's because get_branch_condition just punts on conditional returns. Fixed thusly. While I investigated

C++ PATCH to implement N3582 changes to proposed C++14 return type deduction

2013-03-29 Thread Jason Merrill
I've updated my proposal for return type deduction for normal functions in C++14 for the upcoming Bristol meeting: http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2013/n3582.html and this patch implements the changes in the new proposal relative to the previous revision. I started trying

Re: [patch] Remove unused code from dse.c.

2013-03-29 Thread Jeff Law
On 03/29/2013 12:12 PM, Steven Bosscher wrote: On Fri, Mar 29, 2013 at 6:29 PM, Jeff Law wrote: On 03/29/2013 11:24 AM, Lawrence Crowl wrote: At what point did we stop setting clear_alias_sets? Was that intentional or not? I do not know the answer to either question. That's what needs t

[C++ Patch] Use TYPE_PTR_P and VOID_TYPE_P more often

2013-03-29 Thread Paolo Carlini
Hi, thus, as mentioned in the exchange with Gaby, I took care of this clean-up. Two relatively interesting bits: - In cp_build_function_call_vec I simplified a tad the code with TYPE_PTRFN_P. - In convert_force we had a curious duplicate: && TREE_CODE (TREE_TYPE (e)) == POINTER_TYPE Boot

C++ PATCH for c++/56774 (jumbled variadic template args)

2013-03-29 Thread Jason Merrill
In my patch for 35722/N2555, I forgot to adjust the index into the argument pack based on how many non-packed arguments there are. Tested x86_64-pc-linux-gnu, applying to trunk, 4.8, 4.7. commit 4b4cf682c8f7d15d3cf3097a2f4cf4f7f4f6acb5 Author: Jason Merrill Date: Fri Mar 29 14:25:12 2013 -040

Re: [Fortran, RFC patch] Document naming and argument passing convention

2013-03-29 Thread Tobias Burnus
Ups - I attached the wrong patch (same file name, wrong directory). Hopefully, this one is the correct one. Tobias Am 29.03.2013 19:40, schrieb Tobias Burnus: Dear all, the attached patch attempts to document gfortran's naming and argument passing convention when Bind(C) is not used. While

[Fortran, RFC patch] Document naming and argument passing convention

2013-03-29 Thread Tobias Burnus
Dear all, the attached patch attempts to document gfortran's naming and argument passing convention when Bind(C) is not used. While Bind(C) is the recommended way for interoperation with other Fortran compilers and other languages, there are situations where this is not possible; for instanc

Compute precise counter histogram at LTO

2013-03-29 Thread Jan Hubicka
Hi, currently we use Theresa's code to determine hot/cold decisions based on counter. Histogram of gcov counters is computed and then threshold is identified so 99.9% of counter increments gets done in hot region. There are some problems with this method, most importantly the non-precise way the

Re: [patch] Remove unused code from dse.c.

2013-03-29 Thread Steven Bosscher
On Fri, Mar 29, 2013 at 6:29 PM, Jeff Law wrote: > On 03/29/2013 11:24 AM, Lawrence Crowl wrote: > >>> At what point did we stop setting clear_alias_sets? Was that >>> intentional or not? >> >> >> I do not know the answer to either question. > > That's what needs to be determined before I'll appr

Re: [patch] Remove unused code from dse.c.

2013-03-29 Thread Jeff Law
On 03/29/2013 11:24 AM, Lawrence Crowl wrote: At what point did we stop setting clear_alias_sets? Was that intentional or not? I do not know the answer to either question. That's what needs to be determined before I'll approve. It means digging a bit. My view is that we have already los

Re: [patch] Remove unused code from dse.c.

2013-03-29 Thread Lawrence Crowl
On 3/29/13, Jeff Law wrote: > On 03/29/2013 02:24 AM, Lawrence Crowl wrote: >> This patch has been in the hash-table branch for months. >> I thought it didn't quite meet the criteria for obvious, >> but it's close. >> >> >> In dse.c, remove alias hash tables that are never set. >> Remove condition

DOC PATCH: document var-template branch

2013-03-29 Thread Gabriel Dos Reis
as the $(Subject) says. -- Gaby Index: svn.html === RCS file: /cvs/gcc/wwwdocs/htdocs/svn.html,v retrieving revision 1.179 diff -r1.179 svn.html 515a516,520 > var-template > This branch is for implementation work on > var

Re: C++ PATCH: Use VAR_P instead of direct TREE_CODE (t) == VAR_DECL

2013-03-29 Thread Gabriel Dos Reis
Paolo Carlini writes: | Hi, | | On 03/29/2013 04:59 PM, Gabriel Dos Reis wrote: | > This patch introduces the predicate VAR_P and use it in place of direct | > | > TREE_CODE (t) == VAR_DECL | > | > It improves readability and makes predicates easier to follow. | > Tested on an x86_64-suse-l

Re: C++ PATCH: Use VAR_P instead of direct TREE_CODE (t) == VAR_DECL

2013-03-29 Thread Paolo Carlini
Hi, On 03/29/2013 04:59 PM, Gabriel Dos Reis wrote: This patch introduces the predicate VAR_P and use it in place of direct TREE_CODE (t) == VAR_DECL It improves readability and makes predicates easier to follow. Tested on an x86_64-suse-linux. Applying to trunk. Thanks. Do you think i

Re: [c++concepts] Reducing requirements

2013-03-29 Thread Gabriel Dos Reis
Andrew Sutton writes: | Implements reduction of requirements into the constraints language: | logical formulas comprised of atomic propositions. Calls to constraint | predicates are recursively inlined in the resulting expression. All | other calls are treated as atoms. | | 2013-03-01 Andrew Su

Re: [c++concepts] Reducing requirements

2013-03-29 Thread Gabriel Dos Reis
Andrew Sutton writes: | Implements reduction of requirements into the constraints language: | logical formulas comprised of atomic propositions. Calls to constraint | predicates are recursively inlined in the resulting expression. All | other calls are treated as atoms. | | 2013-03-01 Andrew Su

[c++-concepts] Default to C++1y

2013-03-29 Thread Gabriel Dos Reis
Andrew, As we discussed a couple of days ago, this patch defaults us to C++1y. Applied to branch. -- Gaby 2013-03-29 Gabriel Dos Reis * c-common.c (cxx_dialect): Default to C++1y. Index: gcc/c-family/c-common.c === ---

C++ PATCH: Use VAR_P instead of direct TREE_CODE (t) == VAR_DECL

2013-03-29 Thread Gabriel Dos Reis
This patch introduces the predicate VAR_P and use it in place of direct TREE_CODE (t) == VAR_DECL It improves readability and makes predicates easier to follow. Tested on an x86_64-suse-linux. Applying to trunk. -- Gaby 2013-03-29 Gabriel Dos Reis * tree.h (VAR_P): New. cp/Ch

Ping on PowerPC PR55033

2013-03-29 Thread Joel Sherrill
Hi Would it be possible for a PowerPC maintainer to look into committing the fix to this PR to the impacted branches which are open? http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55033 http://gcc.gnu.org/ml/gcc-patches/2013-03/msg00970.html Thanks. -- Joel Sherrill, Ph.D. Director o

Re: [patch, fortran, 4.9] Improve efficiency of array constructor operators

2013-03-29 Thread Tobias Burnus
Am 29.03.2013 14:42, schrieb Thomas Koenig: I wrote: PS: Regarding the string comparison patch: As Janne, think it should be fine with also supporting kind=4 (don't forget to multiply the length by the kind, e.g. ts.kind or more properly (but equivalently) gfc_character_kinds[].bit_size/BITS_

Re: [patch] Remove unused code from dse.c.

2013-03-29 Thread Jeff Law
On 03/29/2013 02:24 AM, Lawrence Crowl wrote: This patch has been in the hash-table branch for months. I thought it didn't quite meet the criteria for obvious, but it's close. In dse.c, remove alias hash tables that are never set. Remove conditions that are then never true. Remove functions tha

[lto patch, committed as obvious] PR 56777

2013-03-29 Thread Paolo Carlini
Hi, committed mainline and 4_8-branch. Paolo. / 2013-03-29 Paolo Carlini PR lto/56777 * doc/invoke.texi ([-fwhole-program]): Fix typo. Index: doc/invoke.texi === --- doc/invoke.texi (revi

Re: [patch, fortran, 4.9] Improve efficiency of array constructor operators

2013-03-29 Thread Thomas Koenig
I wrote: PS: Regarding the string comparison patch: As Janne, think it should be fine with also supporting kind=4 (don't forget to multiply the length by the kind, e.g. ts.kind or more properly (but equivalently) gfc_character_kinds[].bit_size/BITS_PER_BYTE). I'll do that. Oops, it turns out

[PATCH][10/10] -fuse-caller-save - Add test-case

2013-03-29 Thread Tom de Vries
Richard, This patch series adds analysis of register usage of functions for usage by IRA. The original post is here ( http://gcc.gnu.org/ml/gcc-patches/2013-01/msg01234.html ). This patch adds a test-case for -fuse-caller-save. Since the test-case has different output for mips16 and micro

[PATCH][09/10] -fuse-caller-save - Add documentation

2013-03-29 Thread Tom de Vries
Vladimir, This patch adds the documentation of -fuse-caller-save. Thanks, -Tom 2013-03-29 Radovan Obradovic Tom de Vries * doc/invoke.texi (@item Optimization Options): Add -fuse-caller-save to gccoptlist. (@item -fuse-caller-save): New ite

[PATCH][08/10] -fuse-caller-save - Enable by default at O2 and higher

2013-03-29 Thread Tom de Vries
Vladimir, This patch enables the -fuse-caller-save optimization by default. Thanks, -Tom 2013-03-29 Radovan Obradovic Tom de Vries * opts.c (default_options_table): Add OPT_LEVELS_2_PLUS entry with OPT_fuse_caller_save. diff --git a/gcc/opts.c b/gcc

[PATCH][07/10] -fuse-caller-save - Use collected register usage information

2013-03-29 Thread Tom de Vries
Paolo, This patch series adds analysis of register usage of functions for usage by IRA. The original post is here ( http://gcc.gnu.org/ml/gcc-patches/2013-01/msg01234.html ). This patch uses the information of which registers are clobbered by a call in IRA and df-scan. Bootstrapped and

[PATCH][04/10] -fuse-caller-save - Add TARGET_FN_OTHER_HARD_REG_USAGE hook

2013-03-29 Thread Tom de Vries
Vladimir, This patch adds a TARGET_FN_OTHER_HARD_REG_USAGE hook. The hook is used to list hard registers that are set or clobbered by a call to a function, but are not listed as such in the function body, such as f.i. registers clobbered by veneers inserted by the linker. Thanks, -Tom

[PATCH][06/10] -fuse-caller-save - Collect register usage information

2013-03-29 Thread Tom de Vries
Vladimir, This patch adds analysis in pass_final to track which hard registers are set or clobbered by the function body, and stores that information in a struct cgraph_node. Thanks, -Tom 2013-03-29 Radovan Obradovic Tom de Vries * cgraph.h (struct cgraph_

[PATCH][03/10] -fuse-caller-save - Add implicit parameter to find_all_hard_reg_sets

2013-03-29 Thread Tom de Vries
Vladimir, This patch adds an implicit parameter to find_all_hard_reg_sets. Thanks, -Tom 2013-03-29 Radovan Obradovic Tom de Vries * rtlanal.c (find_all_hard_reg_sets): Add bool implicit parameter and handle. * rtl.h (find_all_hard_reg_sets)

[PATCH][05/10] -fuse-caller-save - Implement TARGET_FN_OTHER_HARD_REG_USAGE hook for ARM

2013-03-29 Thread Tom de Vries
Richard, This patch series adds analysis of register usage of functions for usage by IRA. The original post is here ( http://gcc.gnu.org/ml/gcc-patches/2013-01/msg01234.html ). This patch implements the target hook TARGET_FN_OTHER_HARD_REG_USAGE for ARM. The target hook TARGET_FN_OTHER_HAR

[PATCH][02/10] -fuse-caller-save - Add new reg-note REG_CALL_DECL

2013-03-29 Thread Tom de Vries
Vladimir, This patch addes the REG_CALL_DECL reg-note. Using the reg-note we are able to easily link call_insns to their corresponding declaration, even after the calls may have been split into an insn (set register to function address) and a call_insn (call register), which can happen for f

[PATCH][01/10] -fuse-caller-save - Add command line option

2013-03-29 Thread Tom de Vries
Vladimir, This patch adds the -fuse-caller-save command line option. Thanks, -Tom 2013-03-29 Radovan Obradovic Tom de Vries * common.opt (fuse-caller-save): New option. diff --git a/gcc/common.opt b/gcc/common.opt index bdbd3b6..d29b0a0 100644 --- a/gcc/co

Re: [PATCH][IRA] Analysis of register usage of functions for usage by IRA.

2013-03-29 Thread Tom de Vries
On 14/03/13 16:11, Vladimir Makarov wrote: > On 03/14/2013 05:34 AM, Tom de Vries wrote: >> On 13/02/13 23:35, Vladimir Makarov wrote: >> > Actually, I am done with it. In general, it is ok. Although I have > some minors comments: > Vladimir, Thanks for the review. I split the patch up into

[patch] PR56729

2013-03-29 Thread Steven Bosscher
Hello, It looks like there are places in the middle end that use remove_insn on insns that are not actually emitted. This breaks the assert I added in df_insn_delete. The patch disables the assert for now. The comment before the assert is now even messier than before but I think it's better to exp

Re: [PATCH, i386, AVX2] Fix intrinsic name for _mm256_broadcastsi128_si256

2013-03-29 Thread Kirill Yukhin
> OK. Thanks, Checked into trunk: http://gcc.gnu.org/ml/gcc-cvs/2013-03/msg00860.html and 4.8: http://gcc.gnu.org/ml/gcc-cvs/2013-03/msg00861.html K

[Patch/ARM] Cortex-M4 core pipeline patch to tune LDR/STR pairs

2013-03-29 Thread Terry Guo
Hello, The attached pipeline patch intends to turn following code generation ldr r5, [r4, #12] adds r2, r2, #16 str r5, [r3, #8] to ldr r5, [r4, #12] str r5, [r3, #8] adds r2, r2, #16 The reason is that the STR can be started from the second cycle of its preceding LDR which takes 2 cycles, as

[patch] Remove unused code from dse.c.

2013-03-29 Thread Lawrence Crowl
This patch has been in the hash-table branch for months. I thought it didn't quite meet the criteria for obvious, but it's close. In dse.c, remove alias hash tables that are never set. Remove conditions that are then never true. Remove functions that are then never called. Remove variables that a

[patch] Remove unused symbols.

2013-03-29 Thread Lawrence Crowl
Remove various unused symbols. Tested on x86-64. Committed as obvious. Index: gcc/ChangeLog * graphds.h (struct graph.indicies): Remove unused. * graphite-poly.h (struct graph.original_pddrs): Remove unused. (SCOP_ORIGINAL_PDDRS): Remove unused. * sese.h (extern

New Vietnamese PO file for 'cpplib' (version 4.8.0)

2013-03-29 Thread Translation Project Robot
Hello, gentle maintainer. This is a message from the Translation Project robot. A revised PO file for textual domain 'cpplib' has been submitted by the Vietnamese team of translators. The file is available at: http://translationproject.org/latest/cpplib/vi.po (This file, 'cpplib-4.8.0.vi.p

Contents of PO file 'cpplib-4.8.0.vi.po'

2013-03-29 Thread Translation Project Robot
cpplib-4.8.0.vi.po.gz Description: Binary data The Translation Project robot, in the name of your translation coordinator.