[Ada] Process argument of pragma Compile_Time_{Error|Warning} in gigi

2019-09-23 Thread Eric Botcazou
As demonstrated by the testcase, gigi needs to process the (first) argument of pragma Compile_Time_{Error|Warning} to catch the case of a type otherwise not referenced in the main unit. Tested on x86_64-suse-linux, applied on the mainline. 2019-09-23 Eric Botcazou * gcc-interface

[Ada] Disable selected optimizations done in gigi at -Og

2019-09-23 Thread Eric Botcazou
This disables 3 optimizations done in gigi when the -Og switch is passed: the rotation of loops, the NRV optimization (Named Return Value) and the inlining of local finalizers. Tested on x86_64-suse-linux, applied on the mainline. 2019-09-23 Eric Botcazou * gcc-interface/trans.c

Re: [PATCH 2/2 v3][IRA,LRA] Fix PR86939, IRA incorrectly creates an interference between a pseudo register and a hard register

2018-10-12 Thread Eric Botcazou
ng default to LRA: > mips, s390 > while these default to reload: > ft32, sh4 > and these I'm not sure of without looking deeper: > arc, pdp11, powerpcspe, rx, sparc > > ...if that helps. See https://gcc.gnu.org/backends.html for a more precise summary. -- Eric Botcazou

Re: Fix bad interaction between sysroot and C++ include dir

2018-10-12 Thread Eric Botcazou
branches, too? That's an oldish regression so it may qualify, but needs RM approval IMO. -- Eric Botcazou

Fix ICE during RTL CFI generation pass

2018-10-13 Thread Eric Botcazou
s OK since DW_CFA_GNU_args_size notes are emitted only on this first insn or after it, and not at the start of the trace. Tested on x86/Linux and x86-64/Linux, applied on the mainline. 2018-10-13 Eric Botcazou * dwarf2cfi.c (struct dw_trace_info): Add args_size_defined_for_eh. (notice_args_

Fix PR middle-end/87623

2018-10-17 Thread Eric Botcazou
does check that the two LHSes and the two RHSes respectively do). The fix is trivial since the infrastructure is already present so I have applied it on all active branches as obvious after testing on x86-64/Linux. 2018-10-17 Eric Botcazou PR middle-end/87623 * fold-const.c

Re: [PATCH] v2: Run selftests for C++ as well as C

2018-10-17 Thread Eric Botcazou
> Thanks; I've committed this to trunk as r265240. You modified gcc-interface/Make-lang.in without ChangeLog entry. -- Eric Botcazou

Re: [PATCH] v2: Run selftests for C++ as well as C

2018-10-18 Thread Eric Botcazou
> I've added the missing ChangeLog entry as r265272 (using yesterday's > date, since that's when I committed the change). Thanks! -- Eric Botcazou

Improve wording for error on too large non-local frames

2018-10-19 Thread Eric Botcazou
Btw, in most cases, the compiler now issues both a warning and an error when a variable has too large a size. What's the rationale for this oddity? IMO it needs to make a choice here, it's either a warning or an error. 2018-10-19 Eric Botcazou * cfgexpand.c (expand_one

[Ada] Robustify implementation of pragma Inspection_Point

2018-10-22 Thread Eric Botcazou
This avoids spurious errors on x86 when the register pressure is too high, for example on ACATS cxh3002: cxh3002.adb: In function 'CXH3002': cxh3002.adb:103:5: error: unsupported size for integer register Tested on x86_64-suse-linux, applied on mainline, 8 and 7 branches. 2018-1

[Ada] Fix Unchecked_Conversion between FP and rev SSO

2018-10-22 Thread Eric Botcazou
This extends the treatment of Unchecked_Conversion between integral types and aggregates types with reverse scalar storage order to floating-point types. Tested on x86_64-suse-linux, applied on mainline, 8 and 7 branches. 2018-10-22 Eric Botcazou * gcc-interface/utils.c

Re: [PATCHv2] Handle not explicitly zero terminated strings in merge sections

2018-10-23 Thread Eric Botcazou
e regressions are still there on Solaris 11.3 for me. -- Eric Botcazou

Re: [PATCHv2] Handle not explicitly zero terminated strings in merge sections

2018-10-23 Thread Eric Botcazou
> I know: a patch to fix this is almost ready, just needs a final round of > testing. OK, thanks for the information. -- Eric Botcazou

Re: [PATCH][GCC][mingw-w64][Ada] Fix Ada native bootstrap (PR81878).

2018-10-26 Thread Eric Botcazou
w64-x86_64. > > Ok for trunk? Please put it on the 8 branch too. -- Eric Botcazou

Remove duplicate line in gcov's output

2018-10-30 Thread Eric Botcazou
...coming from a duplicate line in gcov's source code. Tested on x86_64-suse-linux, applied on mainline as obvious. 2018-10-30 Eric Botcazou * gcov.c (output_lines): Remove duplicate line. -- Eric BotcazouIndex: g

Re: [PATCH, AArch64 v2 06/11] Add visibility to libfunc constructors

2018-10-31 Thread Eric Botcazou
arameter with a VISIBILITY_DEFAULT default argument. -- Eric Botcazou

Re: [PATCH, AArch64 v2 06/11] Add visibility to libfunc constructors

2018-10-31 Thread Eric Botcazou
> I thought of that, but thought this was slightly clearer from usage. I'm > open the default option if you prefer. No, either is fine as far as I'm concerned. -- Eric Botcazou

Re: [build] Remove SPARC HAVE_AS_REGISTER_PSEUDO_OP

2018-11-01 Thread Eric Botcazou
> So the current patch removes both the autoconf test and the uses of the > macro. Solaris 11/SPARC Bootstraps with both as and gas currently > running. Ok for mainline if they pass? Sure, thanks for fixing this! -- Eric Botcazou

Re: [PATCH][RTL] Fix PR87852

2018-11-02 Thread Eric Botcazou
> Bootstrapped on x86_64-unknown-linux-gnu, testing in progress. > > OK for trunk? > > Thanks, > Richard. > > 2018-11-02 Richard Biener > > PR rtl-optimization/87852 > * fwprop.c (use_killed_between): Only consider single-defs of the > use in the definition stmt that domina

Fix PR middle-end/87916

2018-11-08 Thread Eric Botcazou
_P as before in this case. Bootstrapped/regtested on x86-64/Linux, applied on the mainline as obvious. 2018-11-08 Eric Botcazou PR middle-end/87916 * cgraphclones.c (duplicate_thunk_for_node): Also set DECL_IGNORED_P. 2018-11-08 Eric Botcazou * g++.dg/other/pr87916.C

[Ada] Disable DECL_BIT_FIELD_REPRESENTATIVE machinery in some cases

2018-11-08 Thread Eric Botcazou
cases. Tested on x86_64-suse-linux, applied on the mainline. 2018-11-08 Eric Botcazou * gcc-interface/decl.c (components_to_record): Remove obsolete kludge. * gcc-interface/utils.c (make_packable_type): Set TYPE_PACKED on the new type but do not take into accoun

[Ada] Fix wrong code for loops with convoluted control flow

2018-11-08 Thread Eric Botcazou
ested on x86_64-suse-linux, applied on the mainline, 8 and 7 branches. 2018-11-08 Eric Botcazou * fe.h (Suppress_Checks): Declare. * gcc-interface/misc.c (gnat_init_gcc_eh): Set -fnon-call-exceptions only if checks are not suppressed and -faggressive-loop-optimizations

[wwwdocs] Add powerpcspe line to backends.html

2018-11-12 Thread Eric Botcazou
Now that the port has been spun off from the rs6000 port. Applied. -- Eric BotcazouIndex: htdocs/backends.html === RCS file: /cvs/gcc/wwwdocs/htdocs/backends.html,v retrieving revision 1.81 diff -u -r1.81 backends.html --- htdocs/ba

Re: [PATCH] [ARC] Cleanup, fix and set LRA default.

2018-11-12 Thread Eric Botcazou
> This is a patch which fixes and sets LRA by default. You'll need to update htdocs/backends.html of wwwdocs once this is done: https://gcc.gnu.org/backends.html -- Eric Botcazou

[mcore] Remove duplicate preprocessor definition

2018-11-12 Thread Eric Botcazou
The same definition, with a comment, is present a few lines above. Applied on the mainline as obvious. 2018-11-12 Eric Botcazou * config/mcore/mcore.h (WORD_REGISTER_OPERATIONS): Remove duplicate. -- Eric BotcazouIndex: config/mcore/mcore.h

Re: [PATCH][lower-subreg] Fix PR87507

2018-11-13 Thread Eric Botcazou
rtx op1 = XVECEXP (concatn, 0, 1); > + XVECEXP (concatn, 0, 0) = op1; > + XVECEXP (concatn, 0, 1) = op0; > + src = concatn; > + } > +} > + Can we factor out the duplicate manipulation into a function here, for example resolve_operand_for_simple_move_operator? -- Eric Botcazou

Re: [PATCH] Fix simplify_merge_mask (PR rtl-optimization/87918)

2018-11-13 Thread Eric Botcazou
> 2018-11-13 Jakub Jelinek > > PR rtl-optimization/87918 > * simplify-rtx.c (simplify_merge_mask): For COMPARISON_P, use > simplify_gen_relational rather than simplify_gen_binary. > > * gcc.target/i386/pr87918.c: New test. OK, thanks. -- Eric Botcazou

Re: [Ada] Fix wrong code for loops with convoluted control flow

2018-11-13 Thread Eric Botcazou
> Tested on x86_64-suse-linux, applied on the mainline, 8 and 7 branches. > > > 2018-11-08 Eric Botcazou > > * fe.h (Suppress_Checks): Declare. > * gcc-interface/misc.c (gnat_init_gcc_eh): Set -fnon-call-exceptions > only if checks are not suppress

Do not generate stack usage files with -flto

2018-11-13 Thread Eric Botcazou
They are empty. Tested on x86-64/Linux, applied on the mainline as obvious. 2018-11-13 Eric Botcazou * toplev.c (output_stack_usage): Turn test on flag_stack_usage into test on stack_usage_file. (lang_dependent_init): Do not open the su file if generating LTO

Re: [PATCH][lower-subreg] Fix PR87507

2018-11-13 Thread Eric Botcazou
imple_move): Strip simple operators and swap operands. > > gcc/testsuite/ > PR rtl-optimization/87507 > * gcc.target/powerpc/pr87507.c: New test. > * gcc.target/powerpc/pr68805.c: Update expected results. OK with the s/simple/swap/ change suggested by Richard. -- Eric Botcazou

[patch] Propagate location into decision tree for switches

2018-11-16 Thread Eric Botcazou
? 2018-11-16 Eric Botcazou * tree-switch-conversion.h (switch_decision_tree::emit_case_nodes): Add location_t parameter. (switch_decision_tree::emit_cmp_and_jump_insns): Likewise. (switch_decision_tree::do_jump_if_equal): Likewise. * tree-switch

[Ada] Remove obsolete code in UI_From_gnu

2018-11-19 Thread Eric Botcazou
Now that HOST_BITS_PER_WIDE_INT is always 64, we can get rid of disabled code in the UI_From_gnu routine. Tested on x86_64-suse-linux, applied on the mainline. 2018-11-19 Eric Botcazou * gcc-interface/cuintp.c (UI_From_gnu): Remove code for 32-bit hosts. -- Eric BotcazouIndex

Fix bad interaction between ce and cmpelim passes on Visium

2018-11-19 Thread Eric Botcazou
the mainline. 2018-11-19 Eric Botcazou * compare-elim.c (struct comparison): Add not_in_a field. (is_not): New static function. (strip_not): Likewise. (conforming_compare): Handle a NOT in the first operand. (can_eliminate_compare): Lik

Re: [PATCH] make function_args_iterator a proper iterator

2018-11-19 Thread Eric Botcazou
t; Tested on x86_64-linux, and (lightly) on powerpc64le-linux using > a cross-compiler. I'll test the changes to the other back ends > before committing. How does this interact with debugging? Because, in my experience, the more you convert things to modernish C++, the less you can easily debug them... -- Eric Botcazou

Re: [PATCH] Fix PR83215, remove alias-set zero case from component_uses_parent_alias_set_from

2018-11-19 Thread Eric Botcazou
> Eric, do you know of any cases in Ada where a alias-set zero base > has non-alias-set zero children? The testsuite seems to be clean > but you never know... No, at least not off the top of my head; that would be weird in any case. -- Eric Botcazou

Re: [PATCH, middle-end]: Fix PR 88070, ICE in create_pre_exit, at mode-switching.c:438

2018-11-19 Thread Eric Botcazou
age > should prevent unwanted scheduling into the epilogue, so there is > actually no need for the second one. But there are instructions emitted after the first blockage, aren't there? Did you check the history of the code? -- Eric Botcazou

Re: [PATCH, middle-end]: Fix PR 88070, ICE in create_pre_exit, at mode-switching.c:438

2018-11-19 Thread Eric Botcazou
rvative and only do something on mainline. And even there I'd be rather conservative and remove the kludge only for targets that emit unwind information in the epilogue (among which there is x86 I presume). -- Eric Botcazou

Fix PR rtl-optimization/85925

2018-11-20 Thread Eric Botcazou
WORD_REGISTER_OPERATIONS mechanism. The 3 approaches pessimize (as expected) in the following order: 2 > 1 > 3. The attached patch implements the 3rd approach, which seems a good compromise. Tested on arm-elf and sparc-sun-solaris2.11, applied on all active branches. 2018-11-20 Eric Botcazou

Re: Fix PR rtl-optimization/85925

2018-11-21 Thread Eric Botcazou
mask is just fine, while that isn't true. Not clear whether this needs to be recursive because nonzero_bits1 and num_sign_bit_copies1 already recurse on RTXes. -- Eric Botcazou

[c-family] Fix -fdump-ada-spec regressions in C++

2018-11-27 Thread Eric Botcazou
This fixes a few regressions introduced by the switch to Ada 2012 for the output of -fdump-ada-spec that are present when the input is in C++. Tested on x86_64-suse-linux, applied on the mainline. 2018-11-27 Eric Botcazou * c-ada-spec.c: Include stringpool.h

Re: The GCC 7 branch is now frozen

2018-11-29 Thread Eric Botcazou
> Thanks for your support. You're campaigning for something? ;-) -- Eric Botcazou

[SPARC] Fix PR target/87807

2018-11-29 Thread Eric Botcazou
mainline. 2018-11-29 Eric Botcazou PR target/87807 * config/sparc/sparc-modes.def: Minor tweak. * config/sparc/sparc.c: Minor reordering. (sparc_pass_by_reference): Move around. (traverse_record_type): Change offset from HOST_WIDE_INT to int

Re: Use ODR for canonical types construction in LTO

2019-06-25 Thread Eric Botcazou
> * gcc-interface/decl.c (gnat_to_gnu_entity): Check that > type is array or integer prior checking string flag. The test for array is superfluous here. > * gcc-interface/gigi.h (gnat_signed_type_for, > maybe_character_value): Likewise. Wrong ChangeLog, the first modified

[patch] Reimplement GNU threads library on native Windows

2019-06-28 Thread Eric Botcazou
mainline? 2019-06-28 Eric Botcazou libgcc/ * config.host (i[34567]86-*-mingw*): Add thread fragment after EH one as well as new i386/t-slibgcc-mingw fragment. (x86_64-*-mingw*): Likewise. * config/i386/gthr-win32.h: If _GTHREADS_USE_COND is 1, define both

Re: [PATCH][debug] Fix handling of vlas in lto

2019-06-28 Thread Eric Botcazou
> 2018-08-17 Tom de Vries > > * dwarf2out.c (add_scalar_info): Don't add reference to existing die > unless the referenced die describes the added property using > DW_AT_location or DW_AT_const_value. Fall back to exprloc case. > Otherwise, add a DW_AT_location to the r

[Ada] Fix wrong code with small array in packed record

2019-06-29 Thread Eric Botcazou
fixlet for expr.c to make things work on big-endian architectures too. Tested on x86-64/Linux, applied on mainline, as obvious for the expr.c hunk. 2019-06-29 Eric Botcazou * expr.c (expand_expr_real_1) : Apply the big-endian adjustment for bit-fields to all aggregate types

[Ada] Add missing guard for TYPE_CANONICAL

2019-06-29 Thread Eric Botcazou
Otherwise this can crash on types with so-called structural equality. Tested on x86-64/Linux, applied on all active branches. 2019-06-29 Eric Botcazou * gcc-interface/decl.c (set_nonaliased_component_on_array_type): Add missing guard for the presence of TYPE_CANONICAL

[Ada] Properly set TYPE_SIZES_GIMPLIFIED

2019-06-29 Thread Eric Botcazou
Another example in the series "how can this have worked for so long?"... Tested on x86-64/Linux, applied on all active branches. 2019-06-29 Eric Botcazou * gcc-interface/trans.c (mark_visited_r): Set TYPE_SIZES_GIMPLIFIED on the main variant of a type, if any.

[Ada] Improved error message for misaligned fields

2019-06-29 Thread Eric Botcazou
The error message now mentions the alignment of the field's type and gives the position in storage units (bytes in Ada parlance) for the sake of consistency. Tested on x86-64/Linux, applied on mainline. 2019-06-29 Eric Botcazou * gcc-interface/decl.c (gnat_to_gnu_field): R

[Ada] Fix inconsistent Value_Size for Strict_Alignment types

2019-06-29 Thread Eric Botcazou
t be equal to the natural size, which means that 'Value_Size = 'Object_Size for GNAT. Tested on x86-64/Linux, applied on mainline. 2019-06-29 Eric Botcazou * gcc-interface/decl.c (gnat_to_gnu_entity) : If the type requires strict alignment, then set the RM s

[Ada] Fix GIMPLE checking failure on broken code

2019-06-29 Thread Eric Botcazou
Because of questionable unchecked conversions. Tested on x86-64/Linux, applied on mainline. 2019-06-29 Eric Botcazou * gcc-interface/utils.c (unchecked_convert): Tweak comment. Only skip dereferences when padding to have the same size on both sides. Do it for

[Ada] Fix segfault on dynamic array bound

2019-06-29 Thread Eric Botcazou
-06-29 Eric Botcazou * gcc-interface/decl.c (gnat_to_gnu_entity): Beep up comment on SAVED, and tweak comment on the assertion about the scopes of Itypes. Do not skip the regular processing for Itypes that are E_Record_Subtype with a Cloned_Subtype. Get the

Re: [PATCH, Ada] Push -shared-libgcc where needed.

2019-06-30 Thread Eric Botcazou
libgcc do not push > a duplicate of this. OK for mainline, thanks. -- Eric Botcazou

[SPARC] Fix PR middle-end/64242

2019-07-01 Thread Eric Botcazou
SPARC defines a nonlocal_goto pattern to which the same adjustment needs to be applied as in the middle-end. Tested on SPARC/Solaris, applied on mainline and 9 branch. 2019-07-01 Eric Botcazou PR middle-end/64242 * config/sparc/sparc.md (nonlocal_goto): Restore frame

Re: [PATCH, Ada, Darwin, PPC] PPC Darwin has stack check probes.

2019-07-01 Thread Eric Botcazou
> 2019-07-01 Iain Sandoe > > * libgnat/system-darwin-ppc.ads: Set Stack_Check_Probes True for > PPC Darwin. OK, thanks. -- Eric Botcazou

Re: [Mingw-w64-public] Fwd: [patch] Reimplement GNU threads library on native Windows

2019-07-02 Thread Eric Botcazou
thread Id, i.e. you need a handle for everything. But the __gthread_equal routine does compare the Ids and not the handles. -- Eric Botcazou

Re: [patch] Reimplement GNU threads library on native Windows

2019-07-02 Thread Eric Botcazou
> s/c++0x/c++11/ please, it hasn't been 0x for eight years now :-) I suppose I didn't invent it though, so you'll probably find more with grep... -- Eric Botcazou

Small cleanup in RTL expansion

2019-07-02 Thread Eric Botcazou
-07-02 Eric Botcazou * cfgexpand.c (pass_expand::execute): Deal specially with instructions to be inserted on single successor edge of the entry block. Then call commit_edge_insertions instead of inserting the instructions manually. * cfgrtl.c

Re: [patch] Reimplement GNU threads library on native Windows

2019-07-02 Thread Eric Botcazou
r-win32-thread.c); in other words, consistency matters too. -- Eric Botcazou

[patch] Fix debug info for discriminated record types

2019-07-03 Thread Eric Botcazou
, i.e. the DW_AT_*_bound attribute of the range subtype is missing. Tested on x86_64-suse-linux, OK for mainline and 9 branch? 2019-07-03 Eric Botcazou * dwarf2out.c (add_scalar_info): Add back refererence to existing DIE if it has the DW_AT_data_member_location attribute. 2019

[patch] Small improvements to coverage info (1/n)

2019-07-03 Thread Eric Botcazou
instruction in the debug info, which can be totally unrelated. Tested on x86_64-suse-linux, both GCC and GDB, OK for mainline? 2019-07-03 Eric Botcazou * tree-cfg.c (gimple_make_forwarder_block): Propagate location info on phi nodes if possible. * tree-scalar-evolution.c

[patch] Small improvements to coverage info (2/n)

2019-07-03 Thread Eric Botcazou
Hi, this is a series of fixes for the exception handling code, with the same goal of preventing instructions from inheriting random source location information in the debug info generated by the compiler. Tested on x86_64-suse-linux, both GCC and GDB, OK for mainline? 2019-07-03 Eric

Re: [patch] Small improvements to coverage info (1/n)

2019-07-05 Thread Eric Botcazou
> This change broke gomp/pr88107.c test: > FAIL: gcc.dg/gomp/pr88107.c (internal compiler error) > FAIL: gcc.dg/gomp/pr88107.c (test for excess errors) > Excess errors: > during GIMPLE pass: graphite > /usr/src/gcc/gcc/testsuite/gcc.dg/gomp/pr88107.c:26:1: internal compiler > error: Segmentation fa

[patch] Small improvements to coverage info (3/n)

2019-07-08 Thread Eric Botcazou
Hi, a couple of fixes for the RTL middle-end this time, with the same goal of preventing instructions from inheriting random source location information in the debug info generated by the compiler. Tested on x86_64-suse-linux, both GCC and GDB, OK for mainline? 2019-07-08 Eric Botcazou

Re: [patch] Small improvements to coverage info (3/n)

2019-07-09 Thread Eric Botcazou
> 2019-07-08 Eric Botcazou > > * emit-rtl.c (set_insn_locations): New function moved from... > * function.c (set_insn_locations): ...here. > * ira-emit.c (emit_moves): Propagate location of the first instruction > to the inserted move instructions. >

[patch] Small improvements to coverage info (4/n)

2019-07-10 Thread Eric Botcazou
n, leads to various regressions in terms of quality of diagnostics. Tested on x86_64-suse-linux, both GCC and GDB, OK for mainline? 2019-07-10 Eric Botcazou * cfgexpand.c (expand_gimple_stmt_1) : If the statement doesn't have a location, set the current location to the

Re: [patch] Small improvements to coverage info (4/n)

2019-07-11 Thread Eric Botcazou
please. :-) The function's end locus is sort of a kitchen sink, you cannot have wrong coverage info when you use it, but only a possibly incomplete info. -- Eric Botcazou

Re: [patch] Small improvements to coverage info (4/n)

2019-07-11 Thread Eric Botcazou
return False; -- # ko (gdb) b ops.adb:19 Breakpoint 1 at 0x403115: file ops.adb, line 19. (gdb) run Starting program: /home/eric/gnat/test_ops_okovb Breakpoint 1, ops.both_ok (a=..., b=...) at ops.adb:19 19 return False; -- # ov -- Eric Botcazou

Re: Rewrite some jump.c routines to use flags

2019-07-12 Thread Eric Botcazou
) \ > + T (NE, ~FLAGS_EQ, 0, true) \ This doesn't look correct: EQ and NE do not trap on quiet NaNs, unlike GT/LT. -- Eric Botcazou

Fix PR rtl-optimization/91136

2019-07-12 Thread Eric Botcazou
ource.c doesn't see them at all. Another pass has exactly the same issue (register renaming) but has been adjusted, so the attached fix just mimics what init_rename_info in regrename.c does. Bootstrapped/regtested on SPARC/Solaris, applied on all active branches. 2019-07-12 Eric Botcaz

Re: Rewrite some jump.c routines to use flags

2019-07-12 Thread Eric Botcazou
the back-end. -- Eric Botcazou

Re: Rewrite some jump.c routines to use flags

2019-07-13 Thread Eric Botcazou
> AIUI, neither ORDERED nor UNEQ trap on signalling NaNs. Without this, > the follow-on patch would fold > >(and (ordered x y) (uneq x y)) -> (eq x y) > > which is the same thing for quiet NaNs but not for signalling NaNs. I see, thanks for explaining. -- Eric Botcazou

Re: Rewrite some jump.c routines to use flags

2019-07-14 Thread Eric Botcazou
ignaling-nans and the transformation would be valid in this mode. -- Eric Botcazou

Re: Rewrite some jump.c routines to use flags

2019-07-15 Thread Eric Botcazou
: New constants. > (condition_to_flags, flags_to_condition): New functions. > (swap_condition, unsigned_condition, signed_condition) > (comparison_dominates_p): Use them. What's the run time cost of this? In particular, do the first 3 rewritten functions still have a trivial pa

Re: Rewrite some jump.c routines to use flags

2019-07-17 Thread Eric Botcazou
return code; default: break; } unsigned int flags = condition_to_flags (code); flags = ((flags & ~(FLAGS_GT | FLAGS_LT)) | (flags & FLAGS_GT ? FLAGS_LT : 0) | (flags & FLAGS_LT ? FLAGS_GT : 0)); return flags_to_condition (flags, true); } OK with this additional change. -- Eric Botcazou

Re: Rewrite some jump.c routines to use flags

2019-07-17 Thread Eric Botcazou
of course slows down the others). Really? Branch prediction is rather efficient these days. > I think I'll just use the new routines for the new optimisation > and leave the existing ones as-is. OK, your call. -- Eric Botcazou

[patch] Set TREE_THIS_NOTRAP throughout tree-nested.c

2019-07-24 Thread Eric Botcazou
Hi, stack memory is considered non-trapping by the compiler once the frame has been established so TREE_THIS_NOTRAP can be set on the dereferences built during the unnesting pass. Tested on x86_64-suse-linux, OK for the mainline? 2019-07-24 Eric Botcazou * tree-nested.c

[patch] More precise message with -Winline

2019-07-24 Thread Eric Botcazou
not waste time trying to get the call inlined. Tested on x86_64-suse-linux, OK for the mainline? 2019-07-24 Eric Botcazou * cif-code.def (NEVER_CALL): New code. * ipa-inline.c (want_inline_small_function_p): Fix formatting issues. Set the failure to CIF_NEVER_CALL if t

[patch] Add simple narrowing optimization to expand_case

2019-07-24 Thread Eric Botcazou
the -O level. Tested on x86_64-suse-linux, OK for the mainline? 2019-07-24 Eric Botcazou * stmt.c (expand_case): Try to narrow the index type if it's larger than a word. Tidy up. 2019-07-24 Eric Botcazou * gnat.dg/case_optimization3.ad[sb]: New test. --

Re: Representative returns and location info (Re: [RFC, PATCH] Display inlining context for uninitialized warnings)

2019-07-24 Thread Eric Botcazou
lts of coverage analysis are > skewed. What is the difficulty preventing us from having both the > location info for the return and faithful coverage? That's simply impossible since you merge two instructions with different locations into a single one. But the return location should be on the goto. -- Eric Botcazou

Re: [patch] More precise message with -Winline

2019-07-24 Thread Eric Botcazou
ted, but we only assume that > (or the profile training run never hit it). OK, I added "considered" as in the comment above. -- Eric Botcazou

Re: [PATCH] Avoid assuming valid_constant_size_p argument is a constant expression (PR 89294)

2019-02-14 Thread Eric Botcazou
> inadvertently didn't build. Can we do something here? Our internal testers have been down for 3 days because of this blunder... -- Eric Botcazou

[patch] Fix LRA/reload issue with -fnon-call-exceptions

2019-02-15 Thread Eric Botcazou
Hi, this is a regression present on all active branches since the controversial get_initial_register_offset stuff was added to rtlanal.c some time ago, and visible in the testsuite on PowerPC/Linux under the form of gnat.dg/opt73.adb timing out at run time. The problem is that the compiler gen

[visium] Adjust to recent assembler change

2019-02-15 Thread Eric Botcazou
n the mainline. 2019-02-15 Eric Botcazou libgcc/ * config/visium/lib2funcs.c (__set_trampoline_parity): Replace TRAMPOLINE_SIZE with __LIBGCC_TRAMPOLINE_SIZE__. gcc/ * final.c (insn_current_reference_address): Replace test on JUMP_P with test on jump_to_la

[testsuite] Small tweaks for Visium

2019-02-15 Thread Eric Botcazou
The only interesting one is gcc.dg/tree-ssa/pr84859.c: for it to pass, the undocumented -ftree-cselim must be enabled, which is done automatically only on targets with conditional moves, what the Visium is not. Tested on visium-elf, applied on the mainline and 8 branch. 2019-02-15 Eric

[testsuite] Tweak gcc.target/sparc/struct-ret-check-1.c

2019-02-15 Thread Eric Botcazou
It cannot pass in PIE mode. Tested on SPARC64/Linux, applied on all active branches. 2019-02-15 Eric Botcazou * gcc.target/sparc/struct-ret-check-1.c: Add -fno-pie option. -- Eric Botcazou Index: gcc.target/sparc/struct-ret-check-1.c

Re: [patch] Disable store merging in asan_expand_mark_ifn

2019-02-15 Thread Eric Botcazou
> > OK, revised patch attached. I have manually verified that it yields the > > expected result for an array of long doubles on 64-bit SPARC. > > > > > > 2019-02-12 Eric Botcazou > > > > * asan.c (asan_expand_mark_ifn): Take into account the a

Re: [PATCH] Avoid assuming valid_constant_size_p argument is a constant expression (PR 89294)

2019-02-15 Thread Eric Botcazou
> I'm ready to commit the patch once it's approved, and have been since > the day the problem was reported. Maybe CCing whoever approved the previous patch would help? -- Eric Botcazou

[SPARC] Small ASAN fixes

2019-02-15 Thread Eric Botcazou
This automatically passes -funwind-tables when ASAN is used on Linux, as done for other architectures, and also adjusts the shadow offset in 64-bit mode. Tested on SPARC64/Linux, applied on the mainline. 2019-02-15 Eric Botcazou * config/sparc/linux.h (ASAN_CC1_SPEC): Define

[testsuite] Couple of g++.dg/asan tweaks

2019-02-15 Thread Eric Botcazou
One of the tests in g++.dg/asan/asan_oob_test.cc uses unaligned memory accesses and g++.dg/asan/function-argument-3.C assumes a specific kind of calling conventions for vectors. Tested on SPARC64/Linux, applied on the mainline. 2019-02-15 Eric Botcazou * g++.dg/asan

Re: [testsuite] Tweak gcc.target/sparc/struct-ret-check-1.c

2019-02-16 Thread Eric Botcazou
> It cannot pass in PIE mode. Likewise for the 3 c-c++-common/patchable_function_entry-*.c on SPARC. Tested on x86-64/Linux and SPARC64/Linux, applied on mainline and 8 branch. 2019-02-16 Eric Botcazou * c-c++-common/patchable_function_entry-decl.c: Add -fno-pie on SP

[libgo] Fix alignment issue in persistent allocator

2019-02-16 Thread Eric Botcazou
This gets rid of a bunch of Go failures on SPARC. Tested on x86-64/Linux, SPARC/Solaris and SPARC64/Linux. 2019-02-16 Eric Botcazou * go/runtime/malloc.go (persistentalloc1): Always align the offset. -- Eric BotcazouIndex: go/runtime/malloc.go

Re: [patch] Fix LRA/reload issue with -fnon-call-exceptions

2019-02-19 Thread Eric Botcazou
e want to fix this? > > > * rtlanal.c (get_initial_register_offset): Fall back to the raw estimate > as long as the epilogue isn't completed. I have installed it on mainline only for now. -- Eric Botcazou

Re: [patch] Fix LRA/reload issue with -fnon-call-exceptions

2019-02-19 Thread Eric Botcazou
x27;s a hack on top of a big kludge (the get_initial_register_offset stuff in rtlanal.c) so it can be viewed as a safety net too. :-) > I guess that approach means that TARGET_COMPUTE_FRAME_LAYOUT isn't really > optional though. IMO another workaround for the underlying issue. -- Eric Botcazou

[patch] Add baseline for SPARC64/Linux

2019-02-20 Thread Eric Botcazou
Tested on SPARC64/Linux, OK for the mainline? 2019-02-20 Eric Botcazou * configure.host (abi_baseline_pair): Adjust for SPARC64/Linux. * config/abi/post/sparc64-linux-gnu: New directory. * config/abi/post/sparc64-linux-gnu/baseline_symbols.txt: New file

Re: [patch] Add baseline for SPARC64/Linux

2019-02-21 Thread Eric Botcazou
> 2019-02-20 Eric Botcazou > > * configure.host (abi_baseline_pair): Adjust for SPARC64/Linux. > * config/abi/post/sparc64-linux-gnu: New directory. > * config/abi/post/sparc64-linux-gnu/baseline_symbols.txt: New file. > * config/abi/post/sp

Re: [patch] Add baseline for SPARC64/Linux

2019-02-22 Thread Eric Botcazou
t; > +TLS:8:_ZSt11__once_call@@GLIBCXX_3.4.11 > +TLS:8:_ZSt15__once_callable@@GLIBCXX_3.4.11 Now removed for the sake of consistency with the SPARC/Linux twin port. -- Eric Botcazou

Re: [PATCH] PR libstdc++/89446 fix null pointer dereference in char_traits

2019-02-23 Thread Eric Botcazou
it by default and they are supported on a bunch of other targets... -- Eric Botcazou

[patch] Fix wrong code for boolean negation in condition at -O

2019-02-25 Thread Eric Botcazou
nces for boolean types, I think that the same special treatment must be added for boolean types in the BIT_NOT_EXPR case to preserve the 0-or-1-value invariant. Bootstrapped/regtested on x86_64-suse-linux, OK for mainline and 8 branch? 2019-02-25 Eric Botcazou * tr

Re: [patch] Fix LRA/reload issue with -fnon-call-exceptions

2019-02-26 Thread Eric Botcazou
> * rtlanal.c (get_initial_register_offset): Fall back to the raw estimate > as long as the epilogue isn't completed. I have backported it onto the 8 branch, where it fixes the failure (timeout) of gnat.dg/opt73.adb for PowerPC/Linux, after testing it on this platform

<    14   15   16   17   18   19   20   21   22   23   >