Re: [PATCH] Fix i?86 bootstrap (PR rtl-optimization/82044)

2017-11-22 Thread Eric Botcazou
> Unfortunately this patch broke i686-linux bootstrap, during stage2 > libgcc configure fails due to numerous ICEs. Note that the patch is on the 7 branch too. -- Eric Botcazou

Re: libgo patch committed: Fix Makefile bug setting LD_LIBRARY_PATH

2017-11-22 Thread Eric Botcazou
> If we don't then i would say that's the bug to fix, not warp back in > time 20 years. Why let solaris hold hostage everybody else? Let's not start a flame war, please. Almost all other uses of grep in the libgo directory have >/dev/null instead of -q and nobody c

[patch] Add support for #pragma GCC unroll v2

2017-11-22 Thread Eric Botcazou
ed, so that the unrolling is done by the first activated pass (cunroll at -O1, cunrolli at -O2 and above); at the RTL level, this was already the case but the code no longer fiddles with the unrolling flag. Tested on x86_64-suse-linux, OK for the mainline? 2017-11-22 Mike Stump

Fix PR rtl-optimization/83030

2017-11-22 Thread Eric Botcazou
CROSSING_JUMP_P is not documented at all (instead the now dead REG_CROSSING_JUMP still is) so the patch does a bit of housekeeping work. Tested on x86-64/Linux and SPARC64/Linux, applied on the mainline. 2017-11-22 Eric Botcazou PR rtl-optimization/83030 * doc/rtl.texi (Flags

[Ada] Fix PR ada/83091

2017-11-23 Thread Eric Botcazou
This fixes a small oversight in gigi, which can lead to an inconsistency between type variants for the mode when packed array types are involved. Tested on x86-64/Linux, applied on the mainline. 2017-11-23 Eric Botcazou PR ada/83091 * gcc-interface/decl.c

Re: [PATCH][i386,AVX] Enable VBMI2 support [2/7]

2017-11-24 Thread Eric Botcazou
6_BUILTIN__BDESC_SPECIAL_ARGS2_LAST) ^ /home/eric/gnat/gnat-head/src/gcc/config/i386/i386.c:37443:48: error: ‘bdesc_special_args2’ was not declared in this scope return ix86_expand_special_args_builtin (bdesc_special_args2 + i, exp, -- Eric Botcazou

Re: [PATCH 1/4] [SPARC] Errata workaround for GRLIB-TN-0012

2017-11-24 Thread Eric Botcazou
elay (eq_attr "type" "branch") >[(eq_attr "in_branch_delay" "true") (nil) (eq_attr "in_branch_delay" > "true")]) > > +(define_delay (and (eq_attr "type" "branch") (eq_attr "branch_type" "icc")) > + [(eq_attr "in_branch_delay" "true") (nil) > + (eq_attr "in_branch_annul_delay" "true")]) > + I think that we'd better keep the various define_delay's mutually exclusive. -- Eric Botcazou

Re: [PATCH 2/4] [SPARC] Errata workaround for GRLIB-TN-0011

2017-11-24 Thread Eric Botcazou
and conservatively), see atomic_compare_and_swapdi_v8plus for reference. -- Eric Botcazou

Re: [PATCH 3/4] [SPARC] Errata workaround for GRLIB-TN-0010

2017-11-24 Thread Eric Botcazou
t = next_active_insn (JUMP_LABEL_AS_INSN (jump)); rtx_insn *target = next_active_insn (JUMP_LABEL_AS_INSN (jump)); > + if (target > + && atomic_insn_p (target)) On a single line. -- Eric Botcazou

Re: [PATCH 4/4] [SPARC] Errata workaround for GRLIB-TN-0013

2017-11-24 Thread Eric Botcazou
gcc/config/sparc/sparc.opt b/gcc/config/sparc/sparc.opt > index 22267f5..43cd964 100644 > --- a/gcc/config/sparc/sparc.opt > +++ b/gcc/config/sparc/sparc.opt > @@ -253,6 +253,10 @@ Enable workarounds for the errata of the GR712RC > processor. TargetVariable > unsigned int sparc_fix_b2bst > > +;; Enable workaround for TN-0013 errata > +TargetVariable > +unsigned int sparc_fix_tn0013 Can we find a more evocative name for the variable? -- Eric Botcazou

[C/C++] Add support for #pragma GCC unroll v3

2017-11-25 Thread Eric Botcazou
-11-25 Mike Stump Eric Botcazou ChangeLog/ * doc/extend.texi (Loop-Specific Pragmas): Document pragma GCC unroll. c-family/ChangeLog: * c-pragma.c (init_pragma): Register pragma GCC unroll. * c-pragma.h (enum pragma_kind): Add PRAGMA_UNROLL. c/ChangeLog

[fortran] Add support for #pragma GCC unroll v3

2017-11-25 Thread Eric Botcazou
11-25 Bernhard Reutner-Fischer Eric Botcazou fortran/ChangeLog: * array.c (gfc_copy_iterator): Copy unroll field. * decl.c (directive_unroll): New global variable. (gfc_match_gcc_unroll): New function. * gfortran.h (gfc_iterator]): Add unroll

Re: [patch] Add support for #pragma GCC unroll v2

2017-11-27 Thread Eric Botcazou
on x86_64-suse-linux, applied on the mainline. > Pragma support in the FEs need FE maintainer approval. Yes, I have posted separate patches for the C/C++ and Fortran front-ends. 2017-11-27 Eric Botcazou * cfgloop.h (struct loop): Document usage of USHRT_MAX for unroll.

Re: [fortran] Add support for #pragma GCC unroll v3

2017-11-28 Thread Eric Botcazou
ill block unrolling despite -funroll-loops and #pragma GCC N wins over --param max-unroll-times=M. -- Eric Botcazou

Re: [PATCH v2 1/4] [SPARC] Errata workaround for GRLIB-TN-0012

2017-11-28 Thread Eric Botcazou
alse"))) > + > (define_delay (eq_attr "type" "call") >[(eq_attr "in_call_delay" "true") (nil) (nil)]) is barely maintainable. So let's go back to the original version and... > @@ -602,6 +626,10 @@ > (define_delay (eq_attr "type" "branch") >[(eq_attr "in_branch_delay" "true") (nil) (eq_attr "in_branch_delay" > "true")]) > > +(define_delay (and (eq_attr "type" "branch") (eq_attr "branch_type" "icc")) > + [(eq_attr "in_branch_delay" "true") (nil) > + (eq_attr "in_integer_branch_annul_delay" "true")]) > + > (define_delay (eq_attr "type" "uncond_branch") >[(eq_attr "in_branch_delay" "true") (nil) (nil)]) ...add (and (.) (not (eq_attr "branch_type" "icc")) to the first define_delay. -- Eric Botcazou

Re: [PATCH v2 2/4] [SPARC] Errata workaround for GRLIB-TN-0011

2017-11-28 Thread Eric Botcazou
> 2017-11-17 Daniel Cederman > > * config/sparc/sync.md (swapsi): 16-byte align if sparc_fix_gr712rc. > (atomic_compare_and_swap_leon3_1): Likewise. > (ldstub): Likewise. OK for mainline and 7 branch, thanks. -- Eric Botcazou

Re: [PATCH v2 3/4] [SPARC] Errata workaround for GRLIB-TN-0010

2017-11-28 Thread Eric Botcazou
config/sparc/sync.md (atomic_compare_and_swap_leon3_1): Make > instruction referable in atomic_insns_p. OK for mainline and 7 branch, thanks. -- Eric Botcazou

Re: [PATCH v2 4/4] [SPARC] Errata workaround for GRLIB-TN-0013

2017-11-28 Thread Eric Botcazou
emit_insn_before (gen_nop (), next); > + insert_nop = true; > + break; > + } Superfluous "is". -- Eric Botcazou

Re: [PATCH v2 4/4] [SPARC] Errata workaround for GRLIB-TN-0013

2017-11-28 Thread Eric Botcazou
delay > attribute. Let's not though and make the modification I suggested instead. -- Eric Botcazou

Re: [PATCH 1/2] [SPARC] Prevent -mfix-ut699 from generating b2bst errata sequences

2017-11-28 Thread Eric Botcazou
> 2017-11-27 Martin Aberg > > * config/sparc/sparc.md (divdf3_fix): Add NOP and adjust length > to prevent b2bst errata sequence. > (sqrtdf2_fix): Likewise. OK for mainline and 7 branch, thanks. -- Eric Botcazou

Re: [PATCH 2/2] [SPARC] Recognize the load when accessing the GOT

2017-11-28 Thread Eric Botcazou
> 2017-11-27 Daniel Cederman > > * config/sparc/sparc.c (sparc_do_work_around_errata): Treat the > movsi_pic_gotdata_op instruction as a load for the UT699 errata > workaround. OK for mainline, 7 and 6 branches, thanks. -- Eric Botcazou

Re: [PATCH v3 1/4] [SPARC] Errata workaround for GRLIB-TN-0012

2017-11-29 Thread Eric Botcazou
ata::gate): Also test sparc_fix_gr712rc. > * config/sparc/sparc.md (fix_gr712rc): New attribute. > (in_branch_annul_delay): Prevent floating-point instructions > in delay slot of annulled integer branch. OK for mainline and 7 branch, thanks. -- Eric Botcazou

Re: [patch] prevent .cfi_personality/.cfi_lsda on !dwarf eh configurations

2017-11-30 Thread Eric Botcazou
> 2017-11-30 Tristan Gingold > > * dwarf2out.c (dwarf2out_do_cfi_startproc): Only emit > .cfi_personality or .cfi_lsda if the eh data format is dwarf2. PR ada/81470 must be put on the first line to trigger xref in Bugzilla. -- Eric Botcazou

Re: [PATCH v2 3/4] [SPARC] Errata workaround for GRLIB-TN-0010

2017-12-04 Thread Eric Botcazou
MEM_P instead of mem_ref here? It looks like there is also a case for the b2bst workaround (only loads are concerned). If no, I'll make the changes along with more cosmetic fixes. -- Eric Botcazou

Re: [PATCH,RFC] combine: Remove use_crosses_set_p

2017-12-04 Thread Eric Botcazou
> Since there are no comments, I'll commit it now. The idea looks interesting but the timing is a bit more questionable. -- Eric Botcazou

Re: [PATCH v2 3/4] [SPARC] Errata workaround for GRLIB-TN-0010

2017-12-04 Thread Eric Botcazou
> No, there was no particular reason. mem_ref seems like a better choice > if it detects more types of loads. Right, it's supposed to detect all types of loads. Here's what I have installed on the mainline and 7 branch. 2017-12-04 Eric Botcazou * conf

Re: [PATCH 1/2] [SPARC] Prevent -mfix-ut699 from generating b2bst errata sequences

2017-12-05 Thread Eric Botcazou
jected back in July? https://gcc.gnu.org/ml/gcc-patches/2017-07/msg00496.html If so, what has changed since then? If nothing, then please revert. -- Eric Botcazou

Re: [PATCH 1/2] [SPARC] Prevent -mfix-ut699 from generating b2bst errata sequences

2017-12-06 Thread Eric Botcazou
here with write access, danielh, is currently traveling, so > we wont be able to revert it until next week. If it is urgent, could I > ask you to revert it for us? It's not that urgent of course but I've reverted it. -- Eric Botcazou

[C++] Add support for #pragma GCC unroll v4

2017-12-06 Thread Eric Botcazou
? 2017-12-06 Mike Stump Eric Botcazou cp/ * constexpr.c (cxx_eval_constant_expression) : Remove assertion on 2nd operand. (potential_constant_expression_1): Likewise. * cp-tree.h (cp_convert_range_for): Adjust prototype. (finish_while_stmt_cond

Re: [fortran] Add support for #pragma GCC unroll v3

2017-12-06 Thread Eric Botcazou
> 6.1 Extensions implemented in GNU Fortran > 7.2 GNU Fortran Compiler Directives > > 6.1 describes extension covering legacy code and vendor extensions. > 7.2 describes other !$GCC directives. Currently, the section is > mainly calling conventions (CDECL, STDCALL, etc) and library > macroc (DLLE

Re: [PATCH] [SPARC] Make sure that jump is to a label in errata workaround

2017-12-11 Thread Eric Botcazou
> 2017-12-11 Daniel Cederman > > * config/sparc/sparc.c (sparc_do_work_around_errata): Make sure > the jump is to a label. OK for mainline and 7 branch, thanks. -- Eric Botcazou

Re: [PATCH] Allow USE in PARALLELs in store_data_bypass_p

2017-12-11 Thread Eric Botcazou
R || GET_CODE (xxx) == USE) Couldn't the code be also re-factored? Because 3x the same change is a lot... > 2017-12-06 Jakub Jelinek > > * recog.c (store_data_bypass_p): Handle USE in a PARALLEL > like CLOBBER. Formatting fixes. OK for mainline modulo the above remark. -- Eric Botcazou

Re: [PATCH] Allow USE in PARALLELs in store_data_bypass_p

2017-12-11 Thread Eric Botcazou
it seems to duplicate everything in the 2 main arms. -- Eric Botcazou

Re: [PATCH] Allow USE in PARALLELs in store_data_bypass_p (take 2)

2017-12-11 Thread Eric Botcazou
same PARALLEL in the second one. No big deal in either case so your call for the definitive version. -- Eric Botcazou

Re: [PATCH] Allow USE in PARALLELs in store_data_bypass_p (take 2)

2017-12-11 Thread Eric Botcazou
> The old code was inconsistent, had return false; in one case and assert in > the remaining two spots. If you are not against it, I'd use return false; > in both cases if we want consistency. Sure, thanks. -- Eric Botcazou

[Ada] Fix spurious warning on function imported from C in LTO mode

2017-12-13 Thread Eric Botcazou
We treat System.Address as equivalent to void* for functions imported from C and other languages, but the existing implementation was not very robust. Tested on x86_64-suse-linux, applied on the mainline and 7 branch. 2017-12-13 Eric Botcazou * gcc-interface/decl.c

[Ada] Add small sanity check for package freezing

2017-12-13 Thread Eric Botcazou
x86_64-suse-linux, applied on the mainline and 7 branch. 2017-12-13 Eric Botcazou * gcc-interface/trans.c (process_freeze_entity): Be prepared for a package without body. -- Eric BotcazouIndex: gcc-interface/trans.c

[Ada] Make sure subprogram locus is initialized

2017-12-13 Thread Eric Botcazou
This is another fixlet aimed at making gigi more robust in the presence of unexpected nodes in the expanded code. Tested on x86_64-suse-linux, applied on the mainline and 7 branch. 2017-12-13 Eric Botcazou * gcc-interface/trans.c (Subprogram_Body_to_gnu): Initialize locus

Re: [C++] Add support for #pragma GCC unroll v4

2017-12-13 Thread Eric Botcazou
Ping for the last missing bits of the #pragma GCC unroll support: > this is the (hopefully) final implementation of the support for the > unrolling pragma in the C++ front-end. https://gcc.gnu.org/ml/gcc-patches/2017-12/msg00298.html Thanks in advance. -- Eric Botcazou

Re: [PATCH] Improve alloca alignment

2017-12-13 Thread Eric Botcazou
don't seem to care much about that, so who am I to do it after all? ;-) Tested on x86_64-suse-linux and SPARC/Solaris, applied on the mainline. 2017-12-13 Eric Botcazou Dominik Vogt PR middle-end/78468 * emit-rtl.c (init_emit): Remove ??

[Ada] Fix discrepancy in annotated vs computed sizes

2017-12-14 Thread Eric Botcazou
. Tested on x86_64-suse-linux, applied on the mainline. 2017-12-14 Eric Botcazou * gcc-interface/gigi.h (pad_type_has_rm_size): Declare. * gcc-interface/decl.c (gnat_to_gnu_entity) : Do notbuild a padding type for the alignment before validating the size. Flip

[Ada] Fix misalignment in record with aliased field and rep clause

2017-12-14 Thread Eric Botcazou
) and whose nominal alignment is smaller than that of the former field. Tested on x86_64-suse-linux, applied on the mainline, 7 & 6 branches. 2017-12-14 Eric Botcazou * gcc-interface/decl.c (gnat_to_gnu_field): Do not set the alignment of the enclosing record type if

[Ada] Fix compilation time explosion due to recursive inlining

2017-12-14 Thread Eric Botcazou
This clears DECL_DISREGARD_INLINE_LIMITS on recursive expression functions. Tested on x86_64-suse-linux, applied on the mainline. 2017-12-14 Eric Botcazou * gcc-interface/trans.c (Call_to): Set DECL_DISREGARD_INLINE_LIMITS to 0 on the callee if the call is recursive

[Ada] Minor tweak to default_pass_by_ref

2017-12-14 Thread Eric Botcazou
Tested on x86_64-suse-linux, applied on the mainline. 2017-12-14 Eric Botcazou * gcc-interface/misc.c (default_pass_by_ref): Minor tweak. -- Eric BotcazouIndex: gcc-interface/misc.c === --- gcc-interface/misc.c

[patch] More robust fix for PR target/66488

2017-12-15 Thread Eric Botcazou
patch replaces the fix by a more robust variant. And I'm proposing that it be installed on all active branches (the original fix is not on the 6 branch). Tested on x86_64-w64-mingw32 (6 branch) and x86_64-suse-linux (mainline), OK? 2017-12-15 Eric Botcazou PR target/66488

Re: [PATCH] Replace Yoda conditions in gcc/

2017-12-20 Thread Eric Botcazou
t; b) is twice as fast as reading (x > a && x < b). And IN_RANGE is too ambiguous wrt the bounds. -- Eric Botcazou

Re: [PATCH] Replace Yoda conditions in gcc/

2017-12-20 Thread Eric Botcazou
OK, let's go for IN_RANGE then, but it's Yoda style on steroids! -- Eric Botcazou

Re: [C++] Add support for #pragma GCC unroll v4

2017-12-20 Thread Eric Botcazou
Tested on x86_64-suse-linux, OK for the mainline? 2017-12-20 Mike Stump Eric Botcazou cp/ * constexpr.c (cxx_eval_constant_expression) : Remove assertion on 2nd operand. (potential_constant_expression_1): Likewise. * cp-tree.def (RANGE_FOR_STMT):

[patch] Fix PR C++/82872

2017-12-21 Thread Eric Botcazou
2-21 Eric Botcazou PR C++/82872 * convert.c (convert_to_integer_1) : Do not return the shared zero if the input has overflowed. 2017-12-21 Eric Botcazou * c-c++-common/pr82872.c: New test. -- Eric Botcazou/* PR c++/82872 */ /* { dg-do compile } */ #includ

[Ada] Fix PR ada/83535

2017-12-21 Thread Eric Botcazou
This is a regression recently introduced on the mainline: the compiler doesn't use the specified size to access an atomic variable with an address clause. Tested on x86_64-suse-linux, applied on the mainline. 2017-12-21 Eric Botcazou * gcc-interface/decl.c (gnat_to_gnu_e

[testsuite] Run more gcc.dg/store_merging_*.c tests

2018-05-31 Thread Eric Botcazou
There is a handful of gcc.dg/store_merging_*.c tests in the testsuite with both a main procedure doing sanity checks and a dg-do compile directive. Tested on x86-64/Linux, applied on the mainline and 8 branch as obvious. 2018-05-31 Eric Botcazou * gcc.dg/store_merging_10.c: Turn dg

[testsuite] Minor cleanup in gnat.dg/stack_usage* tests

2018-05-31 Thread Eric Botcazou
This replaces the scanning of the -fstack-usage output with -Wstack-usage. Tested on x86-64/Linux, applied on the mainline and 8 branch. 2018-05-31 Eric Botcazou * gnat.dg/stack_usage1.adb: Replace -fstack-usage with -Wstack-usage. * gnat.dg/stack_usage1b.adb: Likewise

[patch] Enhance GIMPLE store-merging pass for bit-fields

2018-05-31 Thread Eric Botcazou
anups for the dumping code and other minor fixes. Tested on x86-64/Linux and SPARC/Solaris, OK for the mainline? 2018-05-31 Eric Botcazou * gimple-ssa-store-merging.c: Include gimple-fold.h. (struct store_immediate_info): Document BIT_INSERT_EXPR stores. (struct merged_s

[c-family] Plug small loophole in the C/C++ binding for Ada

2018-06-01 Thread Eric Botcazou
mainline and 8 branch. 2018-06-01 Eric Botcazou c-family/ * c-ada-spec.c (dump_ada_declaration) : Generate a forward declaration for a typedef independently of whether the declaration of the subtype is generated. -- Eric BotcazouIndex: c-ada-spec.c

Re: [patch] Enhance GIMPLE store-merging pass for bit-fields

2018-06-01 Thread Eric Botcazou
ad of shifting the to-be-inserted value? Alexander provided a valid rebuttal I think. > Otherwise the patch looks OK to me. Thanks for the review. -- Eric Botcazou

[Ada] Fix internal error on allocator with function call

2018-06-02 Thread Eric Botcazou
. Fixed thusly, tested on x86-64/Linux, applied on all active branches. 2018-06-02 Eric Botcazou * gcc-interface/trans.c (Call_to_gnu): If this is a function call and there is no target, also create a temporary for the return value for an allocator if the type is an

[Ada] Fix crash on instantiation of Vectors package at -O3

2018-06-02 Thread Eric Botcazou
18-06-02 Eric Botcazou * gcc-interface/ada-tree.h (TYPE_PADDING_FOR_COMPONENT): New macro. * gcc-interface/decl.c (gnat_to_gnu_component_type): Cache the padding type built for an aliased component with variable size. 2018-06-02 Eric Botcazou * gnat.dg/specs

[Ada] Fix couple of crashes in -gnatc mode

2018-06-02 Thread Eric Botcazou
In this mode gigi doesn't fully translate the expanded code. Fixed thusly, tested on x86-64/Linux, applied on mainline and 8 branch. 2018-06-02 Eric Botcazou * gcc-interface/decl.c (gnat_to_gnu_entity) : If this is not a definition, retrieve the expression only if i

Fix PR tree-optimization/86034

2018-06-03 Thread Eric Botcazou
process_store. Tested on x86-64/Linux, applied on the mainline as obvious. 2018-06-03 Eric Botcazou PR tree-optimization/86034 * gimple-ssa-store-merging.c (output_merged_store): Convert the RHS to the unsigned bitfield type in a bit insertion sequence if it does not

[patch] Enhance GIMPLE store-merging pass for bit-fields (2)

2018-06-03 Thread Eric Botcazou
d on x86-64/Linux, OK for the mainline? 2018-06-04 Eric Botcazou * gimple-ssa-store-merging.c (struct merged_store_group): Move up bit_insertion field and declare can_be_merged_into method. (merged_store_group::can_be_merged_into): New method. (imm_store_c

[ping] Use response files from the driver in more cases

2018-06-04 Thread Eric Botcazou
https://gcc.gnu.org/ml/gcc-patches/2018-04/msg01172.html Thanks in advance. -- Eric Botcazou

Re: [PATCH] rtlanal: Fix nonzero_bits for non-load paradoxical subregs (PR85925)

2018-06-04 Thread Eric Botcazou
d. load_extend_op > applies to loads from memory only, not anything else. Which means the > whole AND is optimised away. No, this is done on purpose for WORD_REGISTER_OPERATIONS targets and your patch will pessimize them. I'm going to have a look at the PR then. -- Eric Botcazou

Re: [PATCH] rtlanal: Fix nonzero_bits for non-load paradoxical subregs (PR85925)

2018-06-04 Thread Eric Botcazou
oad to see. Make sure it does by forcing the reload. > Ah well. I guess I'm just glad that AArch64 doesn't define this :-) Nothing even remotely approaching the complexity of the SVE stuff... ;-) -- Eric Botcazou

Re: [PATCH] Print working directory only in intermediate format (PR gcov-profile/84846).

2018-06-05 Thread Eric Botcazou
> I've just installed the patch as r261188. Great, thanks! -- Eric Botcazou

Fix PR tree-optimization/86066

2018-06-06 Thread Eric Botcazou
process_store was wrongly bypassing a BIT_NOT_EXPR if there was a NOP_EXPR right after it in the SSA chain. Tested on x86-64/Linux, applied on the mainline as obvious. 2018-06-06 Eric Botcazou PR tree-optimization/86066 * gimple-ssa-store-merging.c (process_store): Do not

Re: [PATCH] Avoid optimizing memory references with side effects in compare-elim.c

2018-06-06 Thread Eric Botcazou
* gcc.c-torture/compile/20180605-1.c: New test case. The patch is OK, but its ChangeLog is not. :-) It does not modify one function but two (try_merge_compare and try_eliminate_compare). I would suggest using "diff -up" to generate patches with more context. -- Eric Botcazou

Re: [PATCH][AARCH64] PR target/84521 Fix frame pointer corruption with -fomit-frame-pointer with __builtin_setjmp

2018-06-07 Thread Eric Botcazou
d nevertheless strongly suggest _not_ fiddling with the generic code like that and just defining the nonlocal_goto pattern for Aarch64 instead. -- Eric Botcazou

Re: [PATCH] Avoid optimizing memory references with side effects in compare-elim.c

2018-06-07 Thread Eric Botcazou
re): Likewise. > * gcc.c-torture/compile/20180605-1.c: New test case. OK for mainline, thanks. -- Eric Botcazou

Re: [PATCH] Fix PR c++/85400

2018-06-11 Thread Eric Botcazou
> Eric, do you plan to backport this to release branches? I don't think so, it isn't a regression and the workaround is trivial. -- Eric Botcazou

[Ada] Fix wrong code for initialization of fat pointer with -Og

2018-06-12 Thread Eric Botcazou
, there is no other related declaration between the three aforementioned declarations. Fixed thusly, tested on x86-64/Linux, applied on mainline, 8 and 7 branches. 2018-06-12 Eric Botcazou * gcc-interface/decl.c (gnat_to_gnu_entity) : Reuse the existing fields of a dummy fat

[Ada] Improve generated code for records with rep clauses

2018-06-12 Thread Eric Botcazou
This makes sure the handling of bit-fields is uniform in packed records or records with representation clause. Tested on x86-64/Linux, applied on mainline, 2018-06-12 Eric Botcazou * gcc-interface/decl.c (variant_desc): Add AUX field. (gnat_to_gnu_entity) : Do not call

[Ada] Plug loophole in warn_on_field_placement

2018-06-12 Thread Eric Botcazou
Only the first component of a group of reordered bitfields was warned about. Tested on x86-64/Linux, applied on mainline and 8 branch. 2018-06-12 Eric Botcazou * gcc-interface/decl.c (warn_on_field_placement): Use specific wording for discriminants

[Ada] Fix missing resolution data for secondary dispatch table with LTO

2018-06-12 Thread Eric Botcazou
, tested on x86-64/Linux, applied on mainline, 8 and 7 branches. 2018-06-12 Eric Botcazou * gcc-interface/decl.c (gnat_to_gnu_entity) : Do not get the expression of a dispatch table that is not being defined. : Remove obsolete kludge. -- Eric BotcazouIndex: gcc

[Ada] Minor tweaks in gigi

2018-06-12 Thread Eric Botcazou
Tested on x86-64/Linux, applied on mainline, 8 and 7 branches. 2018-06-12 Eric Botcazou * gcc-interface/ada-tree.h (TYPE_RETURN_BY_DIRECT_REF_P): Change from using TYPE_LANG_FLAG_4 to using TYPE_LANG_FLAG_0. (TYPE_ALIGN_OK): Move around

Fix PR target/86048

2018-06-13 Thread Eric Botcazou
directives (.seh_savexmm/.seh_savereg) into a first group emitted after the pre-allocation and the rest emitted after the full allocation. Tested on x86-64/Windows, applied on the mainline and 8 branch as obvious. 2018-06-13 Eric Botcazou PR target/86048 * config/i386/winnt.c

Re: [PATCH] Use response files from the driver in more cases

2018-06-14 Thread Eric Botcazou
> This also fixes PR86030, Glad to see we're not alone on the Windows ship. :-) > Thanks Eric! You're welcome. -- Eric Botcazou

Re: Fix PR target/86048

2018-06-14 Thread Eric Botcazou
> I've noticed this test fails on i686-linux > gcc/gcc/testsuite/gcc.target/i386/pr86048.c:23:3: error: unknown register > name '%xmm6' in 'asm' > > Fixed thusly, tested on x86_64-linux and i686-linux, committed to trunk and > 8.2. Thanks! -- Eric Botcazou

[patch] Streamline debug info for up-level references

2018-06-15 Thread Eric Botcazou
FE and the gimplifier (the Ada FE has never had such a thing) but only disconnects it in the nested function lowering pass because it uses for another purpose by GOMP. Bootstrapped/regtested (GCC and GDB) on x86-64/Linux, OK for mainline? 2018-06-15 Eric Botcazou

Re: [PATCH] Add checking that during RTL bbs don't mix EH and non-complex predecessor edges

2018-06-15 Thread Eric Botcazou
instead, after renaming it into e.g. create_eh_forwarder_block. You don't need to update old_bb in {dw2,sjlj}_fix_up_crossing_landing_pad. -- Eric Botcazou

Re: [PATCH] Fix expand_assignment ICE with CONCAT target (PR middle-end/85878)

2018-06-15 Thread Eric Botcazou
e mode is the same. > > * gfortran.fortran-torture/compile/pr85878.f90: New test. OK, thanks. -- Eric Botcazou

Re: [PATCH] Add checking that during RTL bbs don't mix EH and non-complex predecessor edges

2018-06-15 Thread Eric Botcazou
reate_eh_forwarder_block): ... this. Split OLD_BB after labels and > jump from new landing pad to the second part. > (sjlj_fix_up_crossing_landing_pad, dw2_fix_up_crossing_landing_pad): > Adjust callers. OK, thanks. I'll build the Ada compiler on x86/Windows once this is in. -- Eric Botcazou

Re: [PATCH] Add checking that during RTL bbs don't mix EH and non-complex predecessor edges

2018-06-16 Thread Eric Botcazou
> Now committed after successful bootstrap/regtest on x86_64-linux and > i686-linux. Is the cfgrtl.c change ok for trunk too? > http://gcc.gnu.org/ml/gcc-patches/2018-06/msg00967.html Don't we actually need to verify that all incoming edges are EH or none is? -- Eric Botcazou

Re: [patch] Streamline debug info for up-level references

2018-06-17 Thread Eric Botcazou
upports that). Yes, it does, I have attached the final testcase. It passes with e.g. the system debugger on OpenSuSE Leap 42.3. * gcc.dg/debug/dwarf2/pr37726.c: Move to... * gcc.dg/guality/pr37726.c: ...here and turn into GDB test. -- Eric Botcazou/* PR debug/37726 */ /*

Re: [patch] Streamline debug info for up-level references

2018-06-18 Thread Eric Botcazou
> Looks good to me. Rather than removing dwarf2/pr37726.c can you try > turning that into a guality test that verifies the debug experience is the > same (or better) than before? I realize guality stuff is fragile but you > can restrict it to -O0 if you like (not sure if dg-skip-if supports that)

[patch] Test Fortran part of libgomp with check-fortran

2018-06-18 Thread Eric Botcazou
Hi, that's already done for C++ so it seems consistent to do it for Fortran too. Tested on x86-64/Linux, OK for the mainline? 2018-06-18 Eric Botcazou * Makefile.def (fortran): Add check-target-libgomp-fortran. * Makefile.tpl (check-target-libgomp-fortran): New phony t

[patch] Fix oversight in gimplifier

2018-06-19 Thread Eric Botcazou
Ada compiler sets the flag at the moment)? 2018-06-19 Eric Botcazou * gimplify.c (gimplify_init_constructor): Really never clear for an incomplete constructor if CONSTRUCTOR_NO_CLEARING is set. 2018-06-19 Eric Botcazou * gnat.dg/aggr24.adb: New test

Adjust fix for PR debug/44205

2018-06-19 Thread Eric Botcazou
ested (GCC and GDB) on x86-64/Linux, applied on the mainline as obvious. 2018-06-19 Eric Botcazou * tree-cfgcleanup.c (tree_forwarder_block_p): Do not return false at -O0 if the locus represent UNKNOWN_LOCATION but have different values. -- Eric BotcazouIndex: tree-cfgclea

[patch] Do not leak location information during inlining

2018-06-19 Thread Eric Botcazou
ppening by explicitly putting input_location on the inlined bodies, adjusting the locations on debug statements, as well as a few other adjustements. Tested (GCC and GDB) on x86-64/Linux, OK for the mainline? 2018-06-19 Eric Botcazou * tree-inline.c (remap_location): New function extr

[x86] Do not omit the frame pointer at -O0

2018-06-20 Thread Eric Botcazou
? 2018-06-20 Eric Botcazou * config/i386/i386.c (ix86_finalize_stack_frame_flags): Do not overrule -fno-omit-frame-pointer when not optimizing. -- Eric Botcazoudiff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 8a0baed5e02..d7dad81786a 100644 --- a/gcc/config/i386

Re: [PATCH] Add checking that during RTL bbs don't mix EH and non-complex predecessor edges

2018-06-20 Thread Eric Botcazou
E_EH. OK, thanks. I'll give it a try on x86/Windows once this is in. -- Eric Botcazou

Re: [patch] Do not leak location information during inlining

2018-06-20 Thread Eric Botcazou
> There are fixes in this patch together with the new functionality - > can you split > those out? I'm thinking of the copy_edges_for_bb hunks as well as > the expand_call_inline ones. Like this? * tree-inline.c (copy_edges_for_bb): Minor tweak. (maybe_move_debug_stmts_to_succe

Re: [PATCH] Consistently gimplify all-zero CTORs to = {};

2018-06-21 Thread Eric Botcazou
is at most a pessimization in any case, so no objection to the change by me. -- Eric Botcazou

Re: [PATCH] Add checking that during RTL bbs don't mix EH and non-complex predecessor edges

2018-06-21 Thread Eric Botcazou
> OK, thanks. I'll give it a try on x86/Windows once this is in. The build of the Ada runtime miserably fails because finish_eh_generation calls commit_edge_insertions before redirecting the EH edges from the post- landing pads to the landing pads... Fixed thusly, applied on the mainline as obv

Do not emit unnecessary NOPs at -O0

2018-06-21 Thread Eric Botcazou
-elided edge is copied onto the aforementioned outgoing edge. Tested (GCC and GDB) on x86-64/Linux, applied on the mainline. 2018-06-21 Eric Botcazou * cfgrtl.c (fixup_reorder_chain): Do not emit NOPs in DECL_IGNORED_P functions. (rtl_merge_blocks): Likewise. Do not emit

Re: [patch] Do not leak location information during inlining

2018-06-22 Thread Eric Botcazou
> Similar factoring of remap_location and copying/remapping edges goto_locus > is a fix worth splitting out (and backporting eventually if a need arises). Tentative patch attached, it passed basic testing. I'll do a full testing cycle if this is the way to go. * tree-inline.c (remap_l

Re: [PATCH 2/N] IPA summaries use ::get in ipa-pure-const.c.

2018-06-23 Thread Eric Botcazou
> This is second part of IPA summaries clean-up. It removes some not needed > > ::get_create in ipa-pure.const.c. It breaks the attached testcase compiled with "gnatmake lto_full -f -a -flto": gnatbind -x lto_full.ali gnatlink lto_full.ali -flto during IPA pass: pure-const lto1: internal compile

Re: [PATCH] Avoid changing DR for scatter/gather refs

2018-06-24 Thread Eric Botcazou
> 2018-06-21 Richard Biener > > * tree-data-ref.c (dr_step_indicator): Handle NULL DR_STEP. > * tree-vect-data-refs.c (vect_analyze_possibly_independent_ddr): > Avoid calling vect_mark_for_runtime_alias_test with gathers or scatters. > (vect_analyze_data_ref_dependence):

Re: [PATCH 1/4] regcprop: Avoid REG_CFA_REGISTER notes (PR85645)

2018-06-25 Thread Eric Botcazou
> Are these patches okay for backport to 8? At least the first two. If they fulfill the criteria for a release branch, no objection by me. -- Eric Botcazou

[patch] Remap goto_locus on edges during inlining

2018-06-26 Thread Eric Botcazou
Hi, this makes sure the goto_locus present (or not) on edges is properly remapped during inlining. Tested on x86-64/Linux, OK for the mainline? 2018-06-26 Eric Botcazou * tree-inline.c (remap_location): New function extracted from... (copy_edges_for_bb): Add ID parameter

Re: [PATCH][AARCH64] PR target/84521 Fix frame pointer corruption with -fomit-frame-pointer with __builtin_setjmp

2018-06-26 Thread Eric Botcazou
> The AArch64 parts are OK. I've been holding off approving the patch while > I wait for Eric to reply on the x86_64 fails with your new testcase. The test is not portable in any case since it uses the "optimize" attribute so I'd just make it specific to Aarch64 and in

<    7   8   9   10   11   12   13   14   15   16   >