[PATCH 2/2] [libgcc]: PR80759 fixes for Solaris & Darwin

2017-07-01 Thread Daniel Santos
The -mcall-ms2sysv-xlogues option is supposed to work on Solaris and Darwin, but my changes to config.host weren't adding the sav/res stubs to libgcc and the assembly code wasn't compatible with their assemblers either. * Change config.host to build -mcall-ms2sysv-xlogues sav/res stubs on Solari

[PATCH 1/2] [testsuite] PR80759 fix tests on Solaris and Darwin

2017-07-01 Thread Daniel Santos
The ms-sysv.exp tests were failing on Solaris and Darwin targets. In addition, a number of other problems have been identified. * Assembly failed on Solaris and Darwin when not using gas due to use of .cfi directives and .struct. * Tests were failing on Solaris due to hard frame pointer being

Re: [PATCH v2 0/2] [testsuite, libgcc] PR80759 Fix FAILs on Solaris and Darwin

2017-07-01 Thread Daniel Santos
This patchset addresses a number of testsuite issues for gcc.target/x86_64/abi/ms-sysv/ms-sysv.exp, mostly occurring on Solaris and Darwin. Additionally, it solves a bug in libgcc that caused link failures on Darwin when building with -mcall-ms2sysv-xlogues. The issues are detailed in the not

Re: [PATCH] document cp_operator_id and cp_assignment_operator_id

2017-07-01 Thread Jason Merrill
OK. On Thu, Jun 15, 2017 at 6:57 PM, Martin Sebor wrote: > On 06/15/2017 03:24 PM, Jason Merrill wrote: >> >> On Thu, Jun 15, 2017 at 12:57 PM, Martin Sebor wrote: >>> >>> Attached is a documentation-only change to add comments explaining >>> the C++ cp_operator_id and cp_assignment_operator_id

Re: [C++ PATCH] conversion operator names

2017-07-01 Thread Andreas Schwab
onv_op_name_for_type): Move to ... > * lex.c (conv_type_hasher, conv_type_names, make_convop_name): > ... here. Rename. > > * libcp1plugin.cc (plugin_build_decl): Use make_conv_op_name. > (plugin_build_dependent_expr): Likewise. That breaks obj-c++. spawn -ignore SIGHUP /o

Re: [PATCH][PR sanitizer/77631] Support separate debug info in libbacktrace

2017-07-01 Thread Denis Khalikov
Hello Ian, thanks for review, I've fixed issues and updated the patch. Can you please take a look. Thanks. On 06/29/2017 02:59 AM, Ian Lance Taylor wrote: On Fri, Jun 16, 2017 at 8:39 AM, Denis Khalikov wrote: Hello everyone, This is a patch for https://gcc.gnu.org/bugzilla/show_bug.cgi?id=7

Re: [PATCH][PR 56727] Bypass PLT for recursive calls

2017-07-01 Thread Rainer Orth
Hi Yuri, > diff -rupN gcc/gcc/testsuite/gcc.dg/pr56727-1.c > gcc-56727/gcc/testsuite/gcc.dg/pr56727-1.c > --- gcc/gcc/testsuite/gcc.dg/pr56727-1.c 1970-01-01 01:00:00.0 > +0100 > +++ gcc-56727/gcc/testsuite/gcc.dg/pr56727-1.c2017-07-01 > 21:36:36.0 +0200 > @@ -0,0 +

[PATCH][PR 56727] Bypass PLT for recursive calls

2017-07-01 Thread Yuri Gribov
Hi all, This is a fix for https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56727 which replaces recursive PLT calls with direct calls to static aliases. In presense of function aliases this patch takes a conservative approach and keeps the PLT call (Jan suggested to optimize more aggressively even wh

Re: [Patch, fortran] PR34640 - ICE when assigning item of a derived-component to a pointer

2017-07-01 Thread Paul Richard Thomas
Dear All, Encouraged by the response to the earlier version of the patch, please find attached the final version that includes the promised cleanup; except for the libgomp problem for which the fix remains the same. Please find some descriptive material in the original submission below. Two part

Revamp loop profile scaling to profile_probability

2017-07-01 Thread Jan Hubicka
Hi, this patch makes loop profile scaling to use profile_probability. This is mostly trivial change except for vect_do_peeling which seems to scale profile down and then back up. This is a bad idea, because things may simply drop to 0. So I kept that one to use integer scaling (because probabili

Re: [RFC PATCH] Fix pointer diff (was: -fsanitize=pointer-overflow support (PR sanitizer/80998))

2017-07-01 Thread Marc Glisse
On Thu, 22 Jun 2017, Richard Biener wrote: On Thu, 22 Jun 2017, Marc Glisse wrote: On Thu, 22 Jun 2017, Richard Biener wrote: If we consider pointers as unsigned, with a subtraction that has a signed result with the constraint that overflow is undefined, we cannot model that optimally with j

[patch, fortran] Implement blocked eoshift for eoshift0

2017-07-01 Thread Thomas Koenig
Hello world, the attached patch implements the blocked algorithm for constant shift for dim > 1 for eoshift0 (which handles the case of constant shift and constant fill value). Speedup, as for cshift, is large. Moving a 500*500*500 array by -3 with eo_bench.f90 (also attached): $ gfortran -O3

Re: [PATCH] rs6000 branch probability changes

2017-07-01 Thread Jan Hubicka
> Does the computed value of very_unlikely need to change for the new > scale? Can the profile machinery provide a helper function or macro > instead of the current calculation replicated in many ports? And to answer your first question, there is REG_BR_PROB_BASE scale which is not chnaged by my

Re: [PATCH] rs6000 branch probability changes

2017-07-01 Thread Jan Hubicka
> On Sat, Jul 1, 2017 at 9:06 AM, Jan Hubicka wrote: > >> >> > * config/rs6000/rs6000.c (emit_unlikely_jump): Adjust to new branch > >> >> > probability data type. > >> >> > > >> >> > Index: rs6000.c > >> >> > === > >> >> > --- rs6000

Re: [PATCH] rs6000 branch probability changes

2017-07-01 Thread David Edelsohn
On Sat, Jul 1, 2017 at 9:06 AM, Jan Hubicka wrote: >> >> > * config/rs6000/rs6000.c (emit_unlikely_jump): Adjust to new branch >> >> > probability data type. >> >> > >> >> > Index: rs6000.c >> >> > === >> >> > --- rs6000.c (revision 2

Re: [PATCH] rs6000 branch probability changes

2017-07-01 Thread Jan Hubicka
> >> > * config/rs6000/rs6000.c (emit_unlikely_jump): Adjust to new branch > >> > probability data type. > >> > > >> > Index: rs6000.c > >> > === > >> > --- rs6000.c (revision 249839) > >> > +++ rs6000.c (working copy) > >> > @@ -23514

Re: [PATCH] rs6000 branch probability changes

2017-07-01 Thread David Edelsohn
On Fri, Jun 30, 2017 at 7:18 PM, Segher Boessenkool wrote: > On Fri, Jun 30, 2017 at 10:36:27PM +0100, Ramana Radhakrishnan wrote: >> On Fri, Jun 30, 2017 at 2:36 PM, David Edelsohn wrote: >> > Convert the rs6000 port to use the new API for branch probabilities. >> > >> > Okay? >> > >> > Thanks,

Update profile in split_bb_make_tm_edge

2017-07-01 Thread Jan Hubicka
Hi, this patch updates profile in trans-mem.c. I know little about trans-mem but I think it is safe to assume that the abnormal edge almost never executes as it is cancellation of the TM profile. Bootstrapped/regtested x86_64-linux, will commit it soon. Honza * trans-mem.c (split_bb_ma

Update profile in tree-if-conv.c

2017-07-01 Thread Jan Hubicka
Hi, this is another place we make single exit edge without probability set. Bootstrapped/regtested x86_64-linux, will commit it shortly. Honza * tree-if-conv.c (combine_blocks): Use make_single_succ_edge to keep profile consistent. Index: tree-if-conv.c ==

Update profile in gimple_flow_call_edges_add

2017-07-01 Thread Jan Hubicka
Hi, another place we produce edges without profile are fake edges in flow_call_edges_add. These are probably not that important, but it is better to have things consistent. Bootstrapped/regtested x86_64-linux, comitted. Honza * cfgrtl.c (rtl_flow_call_edges_add): Update profile.

Update profile in bb-reorder

2017-07-01 Thread Jan Hubicka
Bootstrapped/regtested x86_64-linux, comitted. * bb-reorder.c (fix_up_crossing_landing_pad, fix_crossing_conditional_branches): Use make_single_succ_edge to keep profile consistent. Index: bb-reorder.c === ---

[PATCH Fortran] Bug 79866 - diagnostics: typo in "Variable %s at %L of type EVENT_TYPE"

2017-07-01 Thread Dominique d'Humières
If there is no objection, I am planning to commit the following patch as obvious. Cheers, Dominique 2017-07-01 Dominique d'Humieres PR fortran/79866 * resolve.c (resolve_symbol): Fix typo. 2017-07-01 Dominique d'Humieres PR testsuite/79866 * gfortran.dg/co

Update profile in optimize_mask_stores

2017-07-01 Thread Jan Hubicka
Hi, this patch fixes profile update in optimize_mask_stores. * tree-vect-loop.c (optimize_mask_stores): Use make_single_succ_edge to update profile. Index: tree-vect-loop.c === --- tree-vect-loop.c(revision 249866)

[PATCH fortran] Bug 79843 - diagnostics: missing word in fortran/symbol.c, conflict_std

2017-07-01 Thread Dominique d'Humières
If there is no objection, I am planning to commit the following patch as obvious. Cheers, Dominique 2017-07-01 Dominique d'Humieres PR fortran/79843 * symbol.c (check_conflict): Add missing "conflicts". 2017-07-01 Dominique d'Humieres PR testsuite/79843

Re: Convert profile probabilities to new type

2017-07-01 Thread Jan Hubicka
> The following patch should restore things: > > diff --git a/gcc/sel-sched-ir.c b/gcc/sel-sched-ir.c > index dd72828..fa88259 100644 > --- a/gcc/sel-sched-ir.c > +++ b/gcc/sel-sched-ir.c > @@ -4747,8 +4747,10 @@ compute_succs_info (insn_t insn, short flags) >sinfo->probs_ok.safe_push

Re: Convert profile probabilities to new type

2017-07-01 Thread Jan Hubicka
Hi, I have checked in the following fix. Index: config/pa/pa.c === --- config/pa/pa.c (revision 249854) +++ config/pa/pa.c (working copy) @@ -10723,7 +10723,8 @@ pa_expand_compare_and_swap_loop (rtx mem /* Mark this jum

Re: [PATCH] Fix bb-reorder asm goto handling (PR sanitizer/81262)

2017-07-01 Thread Richard Biener
On June 30, 2017 7:33:34 PM GMT+02:00, Jakub Jelinek wrote: >Hi! > >The following testcases now ICE on the trunk. The problem is that >fix_up_fall_thru_edges doesn't notice asm goto does have a fallthru >edge >when it has 3 edges and the EDGE_FALLTHRU is only 3rd. Fixed by using >find_fallthru_e