[PATCH][PR65802] Mark ifn_va_arg with ECF_NOTHROW

2015-04-21 Thread Tom de Vries
Hi, this patch fixes PR65802. The problem described in PR65802 is that when compiling the test-case (included in the patch below) at -O0, the compiler runs into a gcc_assert ICE in redirect_eh_edge_1 during pass_cleanup_eh: ... gcc_assert (lookup_stmt_eh_lp (throw_stmt) == old_lp_nr

Re: Ping^3 : [PATCH] [gcc, combine] PR46164: Don't combine the insns if a volatile register is contained.

2015-04-21 Thread Terry Guo
On Tue, Apr 21, 2015 at 11:03 AM, Segher Boessenkool wrote: > On Tue, Apr 21, 2015 at 09:39:16AM +0800, Terry Guo wrote: >> Is this one ok to trunk? > > Probably, if you send the patch + changelog entry :-) > > Did you fix the comment? REG_USERVAR_P and HARD_REGISTER_P can be > set for more than

Re: [PATCH][PR65802] Mark ifn_va_arg with ECF_NOTHROW

2015-04-21 Thread Richard Biener
On Tue, 21 Apr 2015, Tom de Vries wrote: > Hi, > > this patch fixes PR65802. > > The problem described in PR65802 is that when compiling the test-case > (included in the patch below) at -O0, the compiler runs into a gcc_assert ICE > in redirect_eh_edge_1 during pass_cleanup_eh: > ... > g

Re: [PATCH][PR65802] Mark ifn_va_arg with ECF_NOTHROW

2015-04-21 Thread Jan Hubicka
> Mark ifn_va_arg with ECF_NOTHROW You can defnitly make it ECF_LEAF too. I wonder if we can make it ECF_CONST or at leat PURE this would help to keep variadic functions const/pure that may be moderately interesting in practice. Honza > > 2015-04-20 Tom de Vries > > PR tree-optimizat

Re: [PATCH][PR65802] Mark ifn_va_arg with ECF_NOTHROW

2015-04-21 Thread Richard Biener
On Tue, 21 Apr 2015, Jan Hubicka wrote: > > Mark ifn_va_arg with ECF_NOTHROW > > You can defnitly make it ECF_LEAF too. I wonder if we can make it ECF_CONST > or at leat PURE > this would help to keep variadic functions const/pure that may be moderately > interesting > in practice. Yes to ECF_

Re: [PATCH][AArch64] Implement -m{cpu,tune,arch}=native using only /proc/cpuinfo

2015-04-21 Thread Kyrill Tkachov
On 21/04/15 05:41, Kumar, Venkataramanan wrote: Hi Kyrill, In AMD Seattle board, I see that CPU implementer is 0x41 and CPU part is 0xd07.CPU variant is 1 but you don’t do anything with that. It matches with cortex-a57 and its features. Thanks, that's a Cortex-A57. I will try a boots

Re: [PATCH][AArch64] Increase static buffer size in aarch64_rewrite_selected_cpu

2015-04-21 Thread Kyrill Tkachov
On 20/04/15 21:30, James Greenhalgh wrote: On Mon, Apr 20, 2015 at 05:24:39PM +0100, Kyrill Tkachov wrote: Hi all, When trying to compile a testcase with -mcpu=cortex-a57+crypto+nocrc I got the weird assembler error: Assembler messages: Error: missing architectural extension Error: unrecognize

Re: [PATCH] tetstsuite gcc.target/i386/ avx512*

2015-04-21 Thread Kirill Yukhin
Hello Andreas, On 19 Apr 21:56, Andreas Tobler wrote: > Done so and tested on FreeBSD amd64-unknown-freebsd11.0 and CentOS7.1. > > Ok for trunk? The patch is OK for trunk and for gcc-5 branch (when it is open). Thanks for fixing this! -- K

Re: [PATCH][expr.c] PR 65358 Avoid clobbering partial argument during sibcall

2015-04-21 Thread Kyrill Tkachov
On 20/04/15 19:02, Jeff Law wrote: On 04/20/2015 02:25 AM, Kyrill Tkachov wrote: Hi Jeff, Hmmm, so what happens if the difference is < 0? I'd be a bit worried about that case for the PA (for example). So how about asserting that the INTVAL is >= 0 prior to returning so that we catch that ca

[PATCH][AArch64] Add zero_extend variants of logical+not ops

2015-04-21 Thread Kyrill Tkachov
Hi all, We were missing the patterns for the zero-extend versions of the negated-logic ops, bic,orn,eon leading to redundant zero-extends being generated for code like: unsigned long bar (unsigned int a, unsigned int b) { return a ^ ~b; } unsigned long bar2 (unsigned int a, unsigned int b) {

[C++ Patch, committed] PR 65801

2015-04-21 Thread Paolo Carlini
Hi, I committed the below to trunk as approved by Jason on the audit trail. Will go in gcc-5 branch too for 5.2. Tested x86_64-linux. Thanks, Paolo. // /cp 2015-04-20 Paolo Carlini PR c++/65801 * typeck2.c (check_narrowing): In C++11 mode too, -Wno-narr

[PATCH][ARM][stage-1] Initialise cost to COSTS_N_INSNS (1) and increment in arm rtx costs

2015-04-21 Thread Kyrill Tkachov
Hi all, This is the first of a series to clean up and simplify the arm rtx costs function. This patch initialises the cost to COSTS_N_INSNS (1) at the top and increments it when appropriate in the rest of the function. This makes it more similar to the aarch64 rtx costs function and saves us t

Re: [PATCH][combine] Do not call rtx costs on potentially unrecognisable rtxes in combine

2015-04-21 Thread Kyrill Tkachov
On 20/04/15 19:51, Jeff Law wrote: On 04/20/2015 08:04 AM, Kyrill Tkachov wrote: Hi all, I'm trying to reduce the cases where the midend calls the backend rtx costs on bogus rtl for which the backend doesn't have patterns or ways of handling. Having to handle these kinds of rtxes sanely bloats

Re: [PATCH][AArch64] Add zero_extend variants of logical+not ops

2015-04-21 Thread Richard Earnshaw
On 21/04/15 09:44, Kyrill Tkachov wrote: > Hi all, > > We were missing the patterns for the zero-extend versions of the > negated-logic ops, bic,orn,eon > leading to redundant zero-extends being generated for code like: > > unsigned long > bar (unsigned int a, unsigned int b) > { > return a ^ ~

[wwwdocs] PATCH for Re: GCC Plugin Announcement; CTraps - Lightweight dynamic analysis for concurrent code

2015-04-21 Thread Gerald Pfeifer
Hi Brandon, On Wed, 23 Jan 2013, Brandon Lucia wrote: > I have implemented a GCC plugin that I have found useful for doing > dynamic program analysis, debugging, and performance tuning in > concurrent code. > > The plugin is called CTraps, short for Communication Traps. The main > idea behind CT

RE: [PATCH, ping1] Fix removing of df problem in df_finish_pass

2015-04-21 Thread Thomas Preud'homme
Committed. I'll wait a week and then ask for approval for a backport to 5.1.1 once 5.1 is released. Best regards, Thomas > -Original Message- > From: Kenneth Zadeck [mailto:zad...@naturalbridge.com] > Sent: Monday, April 20, 2015 9:26 PM > To: Thomas Preud'homme; 'Bernhard Reutner-Fisch

[patch] Document libstdc++ dual ABI

2015-04-21 Thread Jonathan Wakely
This adds some proper documentation for the ABI changes. Committed to trunk. commit 738e20c17326a4d966b24d081549991f0a318774 Author: Jonathan Wakely Date: Mon Apr 20 22:49:43 2015 +0100 * doc/xml/manual/configure.xml: Update descriptions of options affecting dual ABI and add cross-

[patch] Document effects of -std=c++14 and -std=c++03 in libstdc++ manual

2015-04-21 Thread Jonathan Wakely
A small doc patch that could also go to the 4.9 and 5 branches. Committed only to trunk for now. commit c5a5a32af8b7cb69c14decbfca9c1a3175e7c535 Author: Jonathan Wakely Date: Mon Apr 20 13:20:16 2015 +0100 * doc/xml/manual/abi.xml: Use uppercase for C++ Standard Library. * doc/xml

[C/C++ PATCH] Improve -Wlogical-op (PR c/63357)

2015-04-21 Thread Marek Polacek
This patch improves -Wlogical-op so that it also warns about cases such as P && P or P || P. I made use of what merge_ranges computes: if we have equal operands with the same ranges, warn -- that seems to work well. (-Wlogical-op still isn't enabled neither by -Wall nor by -Wextra.) Bootstrapped/

[PATCH] Skip preprocessor directives in mklog

2015-04-21 Thread Yury Gribov
Hi all, Contrib/mklog is currently faked by preprocessor directives inside functions to produce invalid ChangeLog. The attached patch fixes this. Tested with my local mklog testsuite and http://paste.debian.net/167999/ . Ok to commit? -Y commit 23a738d05393676e72db82cb527d5fb1b3060e2f Aut

[PATCH][i386] Properly scale vec_construct cost

2015-04-21 Thread Richard Biener
Hi, currently vec_construct cost is simply TYPE_VECTOR_SUBPARTS / 2 + 1, a reasonable estimate only of other target stmt costs are close to 1. The idea was you need that many vector stmts thus the following patch which should fix skewed costs for bdver2 for example with a vec_stmt_cost of 6. Fix

Re: [Patch] pr65779 - [5/6 Regression] undefined local symbol on powerpc

2015-04-21 Thread Alan Modra
On Mon, Apr 20, 2015 at 03:17:21PM +0200, Jakub Jelinek wrote: > On Mon, Apr 20, 2015 at 10:30:32PM +0930, Alan Modra wrote: > Zapping is conservatively correct, if you don't know where the var lives in > or how to compute it, you tell the debugger you don't know it. > Of course, it is a QoI issue,

Re: [PATCH][i386] Properly scale vec_construct cost

2015-04-21 Thread Uros Bizjak
On Tue, Apr 21, 2015 at 1:30 PM, Richard Biener wrote: > Well, anyway - below for the "obvoious" cost model patch. > > Boostrapped on x86_64-unknown-linux-gnu, testing in progress. > > Ok for trunk? > > Thanks, > Richard. > > 2015-04-21 Richard Biener > > * config/i386/i386.c (ix86_bui

[wwwdocs] Add libstdc++ ABI changes to /gcc-5/changes.html

2015-04-21 Thread Jonathan Wakely
I plan to commit this to wwwdocs later today, it adds a caveat to the top of the file, with a link to a larger description in the libstdc++ section, which links to the new page I've just added to the manual. It also clarifies that the deprecations apply to C++, so people who don't care about C++

[patch, libgomp] Re-factor GOMP_MAP_POINTER handling

2015-04-21 Thread Chung-Lin Tang
Hi, while investigating some issues in the variable mapping code, I observed that the GOMP_MAP_POINTER handling is essentially duplicated under the PSET case. This patch abstracts and unifies the handling code, basically just a cleanup patch. Ran libgomp tests to ensure no regressions, ok for trun

Re: [PATCH] Skip preprocessor directives in mklog

2015-04-21 Thread Tom de Vries
On 21-04-15 13:26, Yury Gribov wrote: Hi all, Contrib/mklog is currently faked by preprocessor directives inside functions to produce invalid ChangeLog. Hi Yury, The effect of the patch on the mklog output using the pastebin input is: ... @@ -2,11 +2,13 @@ 2015-04-21 x - * builtin

[PATCH] Fix PR65788

2015-04-21 Thread Richard Biener
The following fixes PR65788. We need to use UNDEFINED whenever possible to not get spurious invalid lattice transitions later. Bootstrapped and tested on x86_64-unknown-linux-gnu, applied to trunk. Richard. 2015-04-21 Richard Biener PR tree-optimization/65788 * tree-ssa-ccp

Re: [PATCH] 65479 - sanitizer stack trace missing frames past #0 on powerpc64

2015-04-21 Thread Peter Bergner
On Tue, 2015-04-21 at 08:22 +0200, Jakub Jelinek wrote: > > -#if defined(__powerpc__) || defined(__powerpc64__) > > - // PCs are always 4 byte aligned. > > - return pc - 4; > > -#elif defined(__sparc__) || defined(__mips__) > > - return pc - 8; > > The SPARC/MIPS case is of course needed, becau

Re: [PATCH][expmed] Properly account for the cost and latency of shift+add ops when synthesizing mults

2015-04-21 Thread Marcus Shawcroft
On 20 April 2015 at 16:12, Kyrill Tkachov wrote: > Thanks, > I could've sworn I had sent this version out a couple hours ago. > My mail client has been playing up. > > Here it is with 6 tests. For the tests corresponding to f1/f3 in my > example above I scan that we don't use the 'w1' reg. > > I'

Re: [Patch] pr65779 - [5/6 Regression] undefined local symbol on powerpc

2015-04-21 Thread Jakub Jelinek
On Tue, Apr 21, 2015 at 09:08:04PM +0930, Alan Modra wrote: > + if (DEBUG_INSN_P (dinsn) > + && insn_uses_reg (dinsn, dregno, end_dregno)) > + { > + if (live_bbs.is_empty ()) > + /* Put debug info for the insn we'll be moving > +

Re: [PATCH] Fix PR65650 (1/n in merging CCP and copyprop)

2015-04-21 Thread Richard Biener
On Thu, 2 Apr 2015, Richard Biener wrote: > > The following makes CCP track copies which avoids pass ordering > issues between CCP and copyprop as seen from the testcase. > > Bootstrapped and tested on x86_64-unknown-linux-gnu, queued for stage1. > > For stage1 I'd like to get rid of copyprop c

Re: [PATCH][expmed] Properly account for the cost and latency of shift+add ops when synthesizing mults

2015-04-21 Thread Kyrill Tkachov
On 21/04/15 13:46, Marcus Shawcroft wrote: On 20 April 2015 at 16:12, Kyrill Tkachov wrote: Thanks, I could've sworn I had sent this version out a couple hours ago. My mail client has been playing up. Here it is with 6 tests. For the tests corresponding to f1/f3 in my example above I scan th

Re: [patch,wwwdocs] Add gcc-5 caveats for avr.

2015-04-21 Thread Georg-Johann Lay
Am 04/20/2015 um 09:02 PM schrieb Gerald Pfeifer: Hi Johann, On Mon, 20 Apr 2015, Georg-Johann Lay wrote: Okay to install? +The AVR port uses a new scheme to describe supported devices: +For each supported device the compiler provides a device-specific +http://gcc.gnu.org/

[PATCH 01/12] add default definition of EH_RETURN_DATA_REGNO

2015-04-21 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2015-04-21 Trevor Saunders * defaults.h: New definition of EH_RETURN_DATA_REGNO. * except.c: Remove definition of EH_RETURN_DATA_REGNO. * builtins.c (expand_builtin): Remove check if EH_RETURN_DATA_REGNO is defined.

[PATCH 00/12] Reduce conditional compilation

2015-04-21 Thread tbsaunde+gcc
From: Trevor Saunders Hi, This is a first round of patches to reduce the amount of code with in #if / #ifdef. This makes it incrementally easier to not break configs other than the one being built, and moves things slightly closer to using target hooks for everything. each commit bootstrapped

[PATCH 02/12] remove some ifdef HAVE_cc0

2015-04-21 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2015-04-21 Trevor Saunders * conditions.h: Define macros even if HAVE_cc0 is undefined. * emit-rtl.c: Define functions even if HAVE_cc0 is undefined. * final.c: Likewise. * jump.c: Likewise. * recog.c: Likewise.

[PATCH 05/12] make some HAVE_cc0 code always compiled

2015-04-21 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2015-04-21 Trevor Saunders * cfgrtl.c (rtl_merge_blocks): Change #if HAVE_cc0 to if (HAVE_cc0) (try_redirect_by_replacing_jump): Likewise. (rtl_tidy_fallthru_edge): Likewise. * combine.c (insn_a_feeds_b): Likewise.

[PATCH 04/12] always define HAVE_cc0

2015-04-21 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2015-04-21 Trevor Saunders * genconfig.c (main): Always define HAVE_cc0. * caller-save.c (insert_one_insn): Change ifdef HAVE_cc0 to #if HAVE_cc0. * cfgcleanup.c (flow_find_cross_jump): Likewise. (flow_find_head_mat

[PATCH 03/12] more removal of ifdef HAVE_cc0

2015-04-21 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2015-04-21 Trevor Saunders * combine.c (find_single_use): Remove HAVE_cc0 ifdef for code that is trivially ded on non cc0 targets. (simplify_set): Likewise. (mark_used_regs_combine): Likewise. * cse.c (new_basic_blo

[PATCH 06/12] provide default for RETURN_ADDR_OFFSET

2015-04-21 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2015-04-21 Trevor Saunders * defaults.h (RETURN_ADDR_OFFSET): New definition. * except.c (expand_builtin_extract_return_addr): Remove ifdef RETURN_ADDR_OFFSET. (expand_builtin_frob_return_addr): Likewise. --- gcc/defaults.

[PATCH 07/12] provide default for MASK_RETURN_ADDR

2015-04-21 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2015-04-21 Trevor Saunders * defaults.h (MASK_RETURN_ADDR): New definition. * except.c (expand_builtin_extract_return_addr): Remove ifdef MASK_RETURN_ADDR. --- gcc/defaults.h | 4 gcc/except.c | 6 +++--- 2 files changed, 7

[PATCH 08/12] reduce conditional compilation for HARD_FRAME_POINTER_IS_FRAME_POINTER

2015-04-21 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2015-04-21 Trevor Saunders * alias.c (init_alias_target): Remove ifdef * HARD_FRAME_POINTER_IS_FRAME_POINTER. * df-scan.c (df_insn_refs_collect): Likewise. (df_get_regular_block_artificial_uses): Likewise. (df_get_e

[PATCH 10/12] remove more ifdefs for HAVE_cc0

2015-04-21 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2015-04-21 Trevor Saunders * caller-save.c (insert_one_insn): Remove ifdef HAVE_cc0. * cfgcleanup.c (flow_find_cross_jump): Likewise. (flow_find_head_matching_sequence): Likewise. (try_head_merge_bb): Likewise. * co

[PATCH 09/12] remove #if for PIC_OFFSET_TABLE_REGNUM

2015-04-21 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2015-04-21 Trevor Saunders * df-scan.c (df_get_entry_block_def_set): Remove #ifdef PIC_OFFSET_TABLE_REGNUM. --- gcc/df-scan.c | 7 +-- 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/gcc/df-scan.c b/gcc/df-scan.c index 69

[PATCH 12/12] add default for INSN_REFERENCES_ARE_DELAYED

2015-04-21 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2015-04-21 Trevor Saunders * defaults.h (INSN_REFERENCES_ARE_DELAYED): New definition. * reorg.c (redundant_insn): Remove ifdef INSN_REFERENCES_ARE_DELAYED. * resource.c (mark_referenced_resources): Likewise. --- gcc/defau

[PATCH 11/12] provide default for INSN_SETS_ARE_DELAYED

2015-04-21 Thread tbsaunde+gcc
From: Trevor Saunders gcc/ChangeLog: 2015-04-21 Trevor Saunders * defaults.h (INSN_SETS_ARE_DELAYED): New definition. * reorg.c (redundant_insn): Remove ifdef INSN_SETS_ARE_DELAYED. * resource.c (mark_set_resources): Likewise. --- gcc/defaults.h | 4 gcc/reorg.c

Re: [AArch64][PR65139] use clobber with match_scratch for aarch64_lshr_sisd_or_int_3

2015-04-21 Thread Richard Earnshaw
On 18/04/15 19:17, Maxim Kuvyrkov wrote: >> On Apr 18, 2015, at 8:21 PM, Richard Earnshaw >> wrote: >> >> On 18/04/15 16:13, Jakub Jelinek wrote: >>> On Sat, Apr 18, 2015 at 03:07:16PM +0100, Richard Earnshaw wrote: You need to ensure that your scratch register cannot overlap op1, since

Re: [PATCH 11/12] provide default for INSN_SETS_ARE_DELAYED

2015-04-21 Thread Jeff Law
On 04/21/2015 07:24 AM, tbsaunde+...@tbsaunde.org wrote: From: Trevor Saunders gcc/ChangeLog: 2015-04-21 Trevor Saunders * defaults.h (INSN_SETS_ARE_DELAYED): New definition. * reorg.c (redundant_insn): Remove ifdef INSN_SETS_ARE_DELAYED. * resource.c (mark_set_reso

Re: [PATCH 12/12] add default for INSN_REFERENCES_ARE_DELAYED

2015-04-21 Thread Jeff Law
On 04/21/2015 07:24 AM, tbsaunde+...@tbsaunde.org wrote: From: Trevor Saunders gcc/ChangeLog: 2015-04-21 Trevor Saunders * defaults.h (INSN_REFERENCES_ARE_DELAYED): New definition. * reorg.c (redundant_insn): Remove ifdef INSN_REFERENCES_ARE_DELAYED. * resou

Re: [PATCH 06/12] provide default for RETURN_ADDR_OFFSET

2015-04-21 Thread Jeff Law
On 04/21/2015 07:24 AM, tbsaunde+...@tbsaunde.org wrote: From: Trevor Saunders gcc/ChangeLog: 2015-04-21 Trevor Saunders * defaults.h (RETURN_ADDR_OFFSET): New definition. * except.c (expand_builtin_extract_return_addr): Remove ifdef RETURN_ADDR_OFFSET. (exp

Re: [PATCH 07/12] provide default for MASK_RETURN_ADDR

2015-04-21 Thread Jeff Law
On 04/21/2015 07:24 AM, tbsaunde+...@tbsaunde.org wrote: From: Trevor Saunders gcc/ChangeLog: 2015-04-21 Trevor Saunders * defaults.h (MASK_RETURN_ADDR): New definition. * except.c (expand_builtin_extract_return_addr): Remove ifdef MASK_RETURN_ADDR. OK. jeff

[PATCH, i386]: Some spring cleaning in i386.h

2015-04-21 Thread Uros Bizjak
Hello! This patch redefines various hard register numbers with ones from i386.md. Also, the patch reshuffles some defines to group them together in a better way. No functional changes. 2015-04-21 Uros Bizjak * config/i386/i386.md (ARGP_REG, FRAME_REG, BND2_REG, BND3_REG, FIRST_PSEUDO

Re: [PATCH 09/12] remove #if for PIC_OFFSET_TABLE_REGNUM

2015-04-21 Thread Jeff Law
On 04/21/2015 07:24 AM, tbsaunde+...@tbsaunde.org wrote: From: Trevor Saunders gcc/ChangeLog: 2015-04-21 Trevor Saunders * df-scan.c (df_get_entry_block_def_set): Remove #ifdef PIC_OFFSET_TABLE_REGNUM. OK. jeff

Re: [PATCH 08/12] reduce conditional compilation for HARD_FRAME_POINTER_IS_FRAME_POINTER

2015-04-21 Thread Jeff Law
On 04/21/2015 07:24 AM, tbsaunde+...@tbsaunde.org wrote: From: Trevor Saunders gcc/ChangeLog: 2015-04-21 Trevor Saunders * alias.c (init_alias_target): Remove ifdef * HARD_FRAME_POINTER_IS_FRAME_POINTER. * df-scan.c (df_insn_refs_collect): Likewise. (df_get_

Re: [PATCH 01/12] add default definition of EH_RETURN_DATA_REGNO

2015-04-21 Thread Jeff Law
On 04/21/2015 07:24 AM, tbsaunde+...@tbsaunde.org wrote: From: Trevor Saunders gcc/ChangeLog: 2015-04-21 Trevor Saunders * defaults.h: New definition of EH_RETURN_DATA_REGNO. * except.c: Remove definition of EH_RETURN_DATA_REGNO. * builtins.c (expand_builtin): Remov

Re: [PATCH 00/12] Reduce conditional compilation

2015-04-21 Thread Jeff Law
On 04/21/2015 07:24 AM, tbsaunde+...@tbsaunde.org wrote: From: Trevor Saunders Hi, This is a first round of patches to reduce the amount of code with in #if / #ifdef. This makes it incrementally easier to not break configs other than the one being built, and moves things slightly closer to us

Re: [PATCH 02/12] remove some ifdef HAVE_cc0

2015-04-21 Thread Jeff Law
On 04/21/2015 07:24 AM, tbsaunde+...@tbsaunde.org wrote: From: Trevor Saunders gcc/ChangeLog: 2015-04-21 Trevor Saunders * conditions.h: Define macros even if HAVE_cc0 is undefined. * emit-rtl.c: Define functions even if HAVE_cc0 is undefined. * final.c: Likewise.

Re: [PATCH 03/12] more removal of ifdef HAVE_cc0

2015-04-21 Thread Jeff Law
On 04/21/2015 07:24 AM, tbsaunde+...@tbsaunde.org wrote: From: Trevor Saunders gcc/ChangeLog: 2015-04-21 Trevor Saunders * combine.c (find_single_use): Remove HAVE_cc0 ifdef for code that is trivially ded on non cc0 targets. (simplify_set): Likewise. (mark_u

Re: [PATCH 04/12] always define HAVE_cc0

2015-04-21 Thread Jeff Law
On 04/21/2015 07:24 AM, tbsaunde+...@tbsaunde.org wrote: From: Trevor Saunders gcc/ChangeLog: 2015-04-21 Trevor Saunders * genconfig.c (main): Always define HAVE_cc0. * caller-save.c (insert_one_insn): Change ifdef HAVE_cc0 to #if HAVE_cc0. * cfgcleanup.c (f

Re: [PATCH 05/12] make some HAVE_cc0 code always compiled

2015-04-21 Thread Jeff Law
On 04/21/2015 07:24 AM, tbsaunde+...@tbsaunde.org wrote: From: Trevor Saunders gcc/ChangeLog: 2015-04-21 Trevor Saunders * cfgrtl.c (rtl_merge_blocks): Change #if HAVE_cc0 to if (HAVE_cc0) (try_redirect_by_replacing_jump): Likewise. (rtl_tidy_fallthru_edge): Likewis

Re: [PATCH 10/12] remove more ifdefs for HAVE_cc0

2015-04-21 Thread Jeff Law
On 04/21/2015 07:24 AM, tbsaunde+...@tbsaunde.org wrote: From: Trevor Saunders gcc/ChangeLog: 2015-04-21 Trevor Saunders * caller-save.c (insert_one_insn): Remove ifdef HAVE_cc0. * cfgcleanup.c (flow_find_cross_jump): Likewise. (flow_find_head_matching_sequence): Li

Re: [PATCH 00/12] Reduce conditional compilation

2015-04-21 Thread Jeff Law
On 04/21/2015 07:24 AM, tbsaunde+...@tbsaunde.org wrote: From: Trevor Saunders Hi, This is a first round of patches to reduce the amount of code with in #if / #ifdef. This makes it incrementally easier to not break configs other than the one being built, and moves things slightly closer to us

RE: [PATCH 6/13] mips musl support

2015-04-21 Thread Matthew Fortune
Szabolcs Nagy writes: > Set up dynamic linker name for mips. > > gcc/Changelog: > > 2015-04-16 Gregor Richards > > * config/mips/linux.h (MUSL_DYNAMIC_LINKER): Define. I understand that mips musl is o32 only currently is that correct? There does however appear to be both soft and hard

[PATCH][AArch64] Add branch-cost to cpu tuning information.

2015-04-21 Thread Matthew Wahab
The AArch64 backend sets BRANCH_COST to be the constant value 2 for all cpus, meaning that the compiler thinks that branches cost the same across all cpus. This patch reworks the handling of branch costs to allow per-cpu values to be set. The actual value of the branch-costs is unchanged as the c

Re: [PATCH 01/12] add default definition of EH_RETURN_DATA_REGNO

2015-04-21 Thread Jakub Jelinek
On Tue, Apr 21, 2015 at 07:40:37AM -0600, Jeff Law wrote: > On 04/21/2015 07:24 AM, tbsaunde+...@tbsaunde.org wrote: > >From: Trevor Saunders > > > >gcc/ChangeLog: > > > >2015-04-21 Trevor Saunders > > > > * defaults.h: New definition of EH_RETURN_DATA_REGNO. > > * except.c: Remove defi

Re: [PATCH 01/12] add default definition of EH_RETURN_DATA_REGNO

2015-04-21 Thread Jeff Law
On 04/21/2015 08:00 AM, Jakub Jelinek wrote: On Tue, Apr 21, 2015 at 07:40:37AM -0600, Jeff Law wrote: On 04/21/2015 07:24 AM, tbsaunde+...@tbsaunde.org wrote: From: Trevor Saunders gcc/ChangeLog: 2015-04-21 Trevor Saunders * defaults.h: New definition of EH_RETURN_DATA_REGNO.

Re: [PATCH][combine] Do not call rtx costs on potentially unrecognisable rtxes in combine

2015-04-21 Thread Jeff Law
On 04/21/2015 03:18 AM, Kyrill Tkachov wrote: Though I do wonder if, in practice, we can identify those cases that do simplify more directly apriori and just punt everything else rather than this rather convoluted approach. You mean like calling simplify_binary_operation that returns NULL if n

[patch] [java] bump libgcj soname

2015-04-21 Thread Matthias Klose
bump the libgcj soname on the trunk, as done for every release cycle, and update the cygwin/mingw32 files. ok for the trunk? Matthias gcc/ 2015-04-21 Matthias Klose * config/i386/cygwin.h (LIBGCJ_SONAME): Set libgcj version to -17. * config/i386/mingw32.h (LIBGCJ_SONAME): Set libgcj ve

Re: [PATCH][expr.c] PR 65358 Avoid clobbering partial argument during sibcall

2015-04-21 Thread Jeff Law
On 04/21/2015 02:30 AM, Kyrill Tkachov wrote: From reading config/stormy16/stormy-abi it seems to me that we don't pass arguments partially in stormy16, so this code would never be called there. That leaves pa as the potential problematic target. I don't suppose there's an easy way to test on p

Re: [PATCH][combine] Do not call rtx costs on potentially unrecognisable rtxes in combine

2015-04-21 Thread Kyrill Tkachov
On 21/04/15 15:06, Jeff Law wrote: On 04/21/2015 03:18 AM, Kyrill Tkachov wrote: Though I do wonder if, in practice, we can identify those cases that do simplify more directly apriori and just punt everything else rather than this rather convoluted approach. You mean like calling simplify_bin

Re: [patch] [java] bump libgcj soname

2015-04-21 Thread Jakub Jelinek
On Tue, Apr 21, 2015 at 04:07:13PM +0200, Matthias Klose wrote: > bump the libgcj soname on the trunk, as done for every release cycle, Is that really needed though these days? Weren't there basically zero changes to libjava (both libjava and libjava/classpath) in the last 2 or more years? The few

Re: [patch] [java] bump libgcj soname

2015-04-21 Thread Matthias Klose
On 04/21/2015 04:11 PM, Jakub Jelinek wrote: > On Tue, Apr 21, 2015 at 04:07:13PM +0200, Matthias Klose wrote: >> bump the libgcj soname on the trunk, as done for every release cycle, > > Is that really needed though these days? > Weren't there basically zero changes to libjava (both libjava and >

Re: [PATCH 3/13] aarch64 musl support

2015-04-21 Thread pinskia
> On Apr 20, 2015, at 11:52 AM, Szabolcs Nagy wrote: > > Set up dynamic linker name for aarch64. > > gcc/Changelog: > > 2015-04-16 Gregor Richards >Szabolcs Nagy > >* config/aarch64/aarch64-linux.h (MUSL_DYNAMIC_LINKER): Define. I don't think you need to check if default

Re: [C/C++ PATCH] Improve -Wlogical-op (PR c/63357)

2015-04-21 Thread Manuel López-Ibáñez
On 21/04/15 13:16, Marek Polacek wrote: (-Wlogical-op still isn't enabled neither by -Wall nor by -Wextra.) The reason is https://gcc.gnu.org/PR61534 which means we don't want to warn for: extern int xxx; #define XXX xxx int test (void) { if (!XXX && xxx) return 4; else return 0;

Re: [patch] [java] bump libgcj soname

2015-04-21 Thread Jakub Jelinek
On Tue, Apr 21, 2015 at 04:16:18PM +0200, Matthias Klose wrote: > On 04/21/2015 04:11 PM, Jakub Jelinek wrote: > > On Tue, Apr 21, 2015 at 04:07:13PM +0200, Matthias Klose wrote: > >> bump the libgcj soname on the trunk, as done for every release cycle, > > > > Is that really needed though these d

Re: [PATCH 02/12] remove some ifdef HAVE_cc0

2015-04-21 Thread Richard Biener
On Tue, Apr 21, 2015 at 3:24 PM, wrote: > From: Trevor Saunders > > gcc/ChangeLog: > > 2015-04-21 Trevor Saunders > > * conditions.h: Define macros even if HAVE_cc0 is undefined. > * emit-rtl.c: Define functions even if HAVE_cc0 is undefined. > * final.c: Likewise. >

Re: [patch] [java] bump libgcj soname

2015-04-21 Thread Matthias Klose
On 04/21/2015 04:19 PM, Jakub Jelinek wrote: > On Tue, Apr 21, 2015 at 04:16:18PM +0200, Matthias Klose wrote: >> On 04/21/2015 04:11 PM, Jakub Jelinek wrote: >>> On Tue, Apr 21, 2015 at 04:07:13PM +0200, Matthias Klose wrote: bump the libgcj soname on the trunk, as done for every release cycl

[PATCH][libstc++v3]Add new dg-require-thread-fence directive.

2015-04-21 Thread Renlin Li
Hi all, This patch defines a new dg-require-thread-fence directive. And three test cases are updated to use it. The new directive are used to check whether the target support thread fence either by the target back-end or external library function call. A thread fence is required to expand at

Re: [patch] [java] bump libgcj soname

2015-04-21 Thread Jakub Jelinek
On Tue, Apr 21, 2015 at 04:29:52PM +0200, Matthias Klose wrote: > On 04/21/2015 04:19 PM, Jakub Jelinek wrote: > > On Tue, Apr 21, 2015 at 04:16:18PM +0200, Matthias Klose wrote: > >> On 04/21/2015 04:11 PM, Jakub Jelinek wrote: > >>> On Tue, Apr 21, 2015 at 04:07:13PM +0200, Matthias Klose wrote:

Re: [PATCH] 65479 - sanitizer stack trace missing frames past #0 on powerpc64

2015-04-21 Thread Martin Sebor
--- a/libsanitizer/ChangeLog +++ b/libsanitizer/ChangeLog @@ -1,3 +1,15 @@ +2015-04-19 Martin Sebor + + PR sanitizer/65479 + * libsanitizer/sanitizer_common/sanitizer_stacktrace.h + (StackTrace::signaled, StackTrace::min_insn_bytes): New data members. + (StackTrace::Stac

Re: [PATCH 6/13] mips musl support

2015-04-21 Thread Rich Felker
On Tue, Apr 21, 2015 at 01:58:02PM +, Matthew Fortune wrote: > Szabolcs Nagy writes: > > Set up dynamic linker name for mips. > > > > gcc/Changelog: > > > > 2015-04-16 Gregor Richards > > > > * config/mips/linux.h (MUSL_DYNAMIC_LINKER): Define. > > I understand that mips musl is o32

Re: [PATCH] PR 62173, re-shuffle insns for RTL loop invariant hoisting

2015-04-21 Thread Jiong Wang
Jiong Wang writes: > 2015-04-14 18:24 GMT+01:00 Jeff Law : >> On 04/14/2015 10:48 AM, Steven Bosscher wrote: So I think this stage2/3 binary difference is acceptable? >>> >>> >>> No, they should be identical. If there's a difference, then there's a >>> bug - which, it seems, you've alre

Re: [PATCH] 65479 - sanitizer stack trace missing frames past #0 on powerpc64

2015-04-21 Thread Martin Sebor
On 04/21/2015 06:39 AM, Peter Bergner wrote: On Tue, 2015-04-21 at 08:22 +0200, Jakub Jelinek wrote: -#if defined(__powerpc__) || defined(__powerpc64__) - // PCs are always 4 byte aligned. - return pc - 4; -#elif defined(__sparc__) || defined(__mips__) - return pc - 8; The SPARC/MIPS case i

[patch, avr] extend part-clobbered check to AVR_TINY architecture

2015-04-21 Thread Sivanupandi, Pitchumani
Hi, When tried backporting AVR_TINY architecture support to 4.9, build failed in libgcc for AVR_TINY. Failure was due to ICE same as: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53065 Fix provided for that bug checks for if the mode crosses the callee saved register. Below patch updates that c

Re: [PATCH 3/13] aarch64 musl support

2015-04-21 Thread Szabolcs Nagy
On 21/04/15 15:16, pins...@gmail.com wrote: > > I don't think you need to check if defaulting to little or big-endian here > are the specs always have one or the other passing through. > i was not aware of this may be the ifdef is not necessary for other archs either i will check > Also if

RE: [PATCH 6/13] mips musl support

2015-04-21 Thread Matthew Fortune
Rich Felker writes: > On Tue, Apr 21, 2015 at 01:58:02PM +, Matthew Fortune wrote: > > Szabolcs Nagy writes: > > > Set up dynamic linker name for mips. > > > > > > gcc/Changelog: > > > > > > 2015-04-16 Gregor Richards > > > > > > * config/mips/linux.h (MUSL_DYNAMIC_LINKER): Define. > > >

Re: [PATCH 04/12] always define HAVE_cc0

2015-04-21 Thread Trevor Saunders
On Tue, Apr 21, 2015 at 07:53:05AM -0600, Jeff Law wrote: > On 04/21/2015 07:24 AM, tbsaunde+...@tbsaunde.org wrote: > >From: Trevor Saunders > > > >gcc/ChangeLog: > > > >2015-04-21 Trevor Saunders > > > > * genconfig.c (main): Always define HAVE_cc0. > > * caller-save.c (insert_one_ins

Re: [PATCH 03/12] more removal of ifdef HAVE_cc0

2015-04-21 Thread Trevor Saunders
On Tue, Apr 21, 2015 at 07:51:14AM -0600, Jeff Law wrote: > On 04/21/2015 07:24 AM, tbsaunde+...@tbsaunde.org wrote: > >From: Trevor Saunders > > > >gcc/ChangeLog: > > > >2015-04-21 Trevor Saunders > > > > * combine.c (find_single_use): Remove HAVE_cc0 ifdef for code > > that is trivial

Re: [PATCH 02/12] remove some ifdef HAVE_cc0

2015-04-21 Thread Trevor Saunders
On Tue, Apr 21, 2015 at 04:14:01PM +0200, Richard Biener wrote: > On Tue, Apr 21, 2015 at 3:24 PM, wrote: > > From: Trevor Saunders > > > > gcc/ChangeLog: > > > > 2015-04-21 Trevor Saunders > > > > * conditions.h: Define macros even if HAVE_cc0 is undefined. > > * emit-rtl.c:

Re: [PATCH 00/12] Reduce conditional compilation

2015-04-21 Thread Trevor Saunders
On Tue, Apr 21, 2015 at 07:57:19AM -0600, Jeff Law wrote: > On 04/21/2015 07:24 AM, tbsaunde+...@tbsaunde.org wrote: > >From: Trevor Saunders > > > >Hi, > > > >This is a first round of patches to reduce the amount of code with in #if / > >#ifdef. This makes it incrementally easier to not break co

[WIP] OpenMP 4 NVPTX support

2015-04-21 Thread Jakub Jelinek
Hi! Attached is a minimal patch to get at least a trivial OpenMP 4.0 testcase offloading to NVPTX (the first patch). The second patch is WIP, just first few needed changes to make libgomp to build for NVPTX (several weeks of work at least). The following seems to work and the output suggests tha

Re: [PATCH][doc] Improve pipeline description docs a bit

2015-04-21 Thread Sandra Loosemore
On 04/20/2015 04:31 AM, Kyrill Tkachov wrote: Hi all, This patch attempts to improve the pipeline description documentation. It fixes some grammar errors,typos and clarifies some concepts. The sections on the syntactic constructs are formatted to have a small description, and example, descripti

[PATCH][AARCH64]Use mov for add with large immediate.

2015-04-21 Thread Renlin Li
Hi all, This is a simple patch to generate a move instruction to temporarily hold the large immediate for a add instruction. GCC regression test has been run using aarch64-none-elf toolchain. NO new issues. Okay for trunk? Regards, Renlin Li gcc/ChangeLog: 2015-04-21 Renlin Li *

Re: [RFC stage 1] Proposed new warning: -Wmisleading-indentation

2015-04-21 Thread David Malcolm
On Thu, 2015-04-16 at 10:26 -0700, Mike Stump wrote: > On Apr 16, 2015, at 8:01 AM, David Malcolm wrote: > > Attached is a work-in-progress patch for a new > > -Wmisleading-indentation > > warning I've been experimenting with, for GCC 6. > > Seems like a nice idea in general. > > Does it also h

Re: [RFC stage 1] Proposed new warning: -Wmisleading-indentation

2015-04-21 Thread Trevor Saunders
On Tue, Apr 21, 2015 at 12:07:00PM -0400, David Malcolm wrote: > On Thu, 2015-04-16 at 10:26 -0700, Mike Stump wrote: > > On Apr 16, 2015, at 8:01 AM, David Malcolm wrote: > > > Attached is a work-in-progress patch for a new > > > -Wmisleading-indentation > > > warning I've been experimenting wit

Re: [RFC stage 1] Proposed new warning: -Wmisleading-indentation

2015-04-21 Thread Manuel López-Ibáñez
On 21/04/15 18:07, David Malcolm wrote: On Thu, 2015-04-16 at 10:26 -0700, Mike Stump wrote: Does it also handle: if (cone); stmt; ? Would be good to add that to the test suite, as that is another hard to spot common error that should be caught. Not yet, but I agree that it would be a g

Re: [RFC] Dynamically aligning the stack

2015-04-21 Thread Steve Ellcey
On Tue, 2015-04-14 at 10:08 -0700, H.J. Lu wrote: > We have done just that in GCC 4.4 to implement dynamic stack > alignment on x86 :-). Some of x86 backend changes for dynamic > stack alignment are x86 psABI specific. Others are historical, > like -mstackrealign. which was the old attempt for d

Re: [patch] [java] bump libgcj soname

2015-04-21 Thread Andrew Hughes
- Original Message - > On Tue, Apr 21, 2015 at 04:07:13PM +0200, Matthias Klose wrote: > > bump the libgcj soname on the trunk, as done for every release cycle, > > Is that really needed though these days? > Weren't there basically zero changes to libjava (both libjava and > libjava/classp

Re: [RFC stage 1] Proposed new warning: -Wmisleading-indentation

2015-04-21 Thread Mike Stump
On Apr 21, 2015, at 9:07 AM, David Malcolm wrote: > I think I want to make a distinction between > > (A) classic C "gotchas", like the one in my mail and the: > > if (cond); >stmt; > > one you mentioned above > > vs > > (B) wrong/inconsistent indentation. > > I think (A) is high-value,

Re: [patch] [java] bump libgcj soname

2015-04-21 Thread Jakub Jelinek
On Tue, Apr 21, 2015 at 01:04:04PM -0400, Andrew Hughes wrote: > - Original Message - > > On Tue, Apr 21, 2015 at 04:07:13PM +0200, Matthias Klose wrote: > > > bump the libgcj soname on the trunk, as done for every release cycle, > > > > Is that really needed though these days? > > Weren't

  1   2   >