ANTABILITY or FITNESS FOR A
> PARTICULAR PURPOSE.
This would suggest that bldtools/oscons/xoscons is miscompiled by the trunk
native compiler. How did you configure this latter compiler?
--
Eric Botcazou
t uses of flag_non_call_exceptions in
the sources, may I change them to cfun->can_throw_non_call_exceptions?
gimple-ssa-isolate-paths.c: if (!flag_non_call_exceptions)
gimple-ssa-isolate-paths.c: if (!flag_non_call_exceptions
tree-ssa-alias.c: if (flag_non_call_exceptions && pi->pt.null)
--
Eric Botcazou
_common_interceptors_ioctl.inc isn't executable there.
No objections for the couple of Ada files.
--
Eric Botcazou
On the heels of the TLS patch, this also changes some basic patterns (almost)
identical in 32-bit and 64-bit modes into patterns using the P mode iterator.
Tested on SPARC/Solaris 11, applied on mainline and 8 branch.
2019-01-09 Eric Botcazou
* config/sparc/sparc.md
combining %tldo_add with
some integer loads or stores in the local-dynamic model.
Tested on SPARC/Solaris 11, applied on all active branches.
2019-01-09 Eric Botcazou
James Clarke
PR target/84010
* config/sparc/sparc.c (sparc_legitimize_tls_address): Only use Pmode
Eric Botcazou
* doc/invoke.texi (-Os): Remove trailing spaces.
(-finline-functions): Remove reference to -O2.
2019-01-09 Eric Botcazou
* doc/invoke.texi (-Os): Add reference to -finline-functions.
(-finline-functions): Remove reference to -O2, add references
Although they are already fixed, the first one because it didn't fail for me
and the second one thanks to Jakub's patch.
Tested on SPARC/Solaris 11, applied on the mainline.
2019-01-08 Eric Botcazou
PR bootstrap/88721
* config/sparc/sparc.c (function_arg_slotno): Set
gt; cost models.
; Alias to enable both -ftree-loop-vectorize and -ftree-slp-vectorize.
ftree-vectorize
Common Report Optimization
Enable vectorization on trees.
--
Eric Botcazou
umber of 2 values in the template, I'm sure one can imagine the need in some
distant future for initializer_each_minus_one_or_zero_or_onep. ;-)
--
Eric Botcazou
false;
> +
> + return true;
> + }
> +
> +default:
> + return false;
> +}
> +
> +#undef RECURSE
Can we avoid the gratuitous use of template here? We were told that C++ would
be used only when it makes things more straightforward and it's the contrary
in this case, to wit the need for the ugly RECURSE macro in the middle.
--
Eric Botcazou
p_self): Ensure that the system
interface used is available on the target.
> +#else
> +return (void *)pthread_mach_thread_np (pthread_self ());
> +#endif
Wrong indentation.
--
Eric Botcazou
> It's not a terrible workaround, no. It looks like it will make some asm
> once again fail though? If argument registers are forwarded to in the asm.
The combiner change looks like a big hammer for such a corner case though.
--
Eric Botcazou
> Does this solve most of the pessimizations?
Yes, it does.
> Please add a testcase if it doesn't solve existing FAILs.
It fixes gcc.target/sparc/overflow-2.c.
--
Eric Botcazou
for a LEAF_REGISTERS target like SPARC so
the proposed fix is to re-enable hard register combining for leaf registers.
Tested on SPARC/Solaris 11, OK for the mainline?
2018-12-20 Eric Botcazou
PR rtl-optimization/87727
* combine.c (cant_combine_insn_p): On a LEAF_REGISTERS target
.
2018-12-14 Eric Botcazou
* gnat.dg/max_size.adb: New test.
* gnat.dg/max_size_pkg.ads: Likewise.
--
Eric BotcazouIndex: gcc-interface/decl.c
===
--- gcc-interface/decl.c (revision 267130)
+++ gcc-interface
da compiler.
Tested on x86_64-suse-linux, applied on the mainline as obvious.
2018-12-14 Eric Botcazou
* dwarf2out.c (analyze_discr_in_predicate): Simplify.
(analyze_variants_discr): Deal with naked boolean discriminants.
ada/
* gcc-interface/decl.c (choices_to_gnu):
ootstrap/88450.
More generally, the patch totally disregards the SUPPORTS_STACK_ALIGNMENT
machinery of the middle-end, which is quite surprising given that this
machinery was precisely designed for this purpose. Why is it so?
--
Eric Botcazou
This adds the speculation barrier on SPARC-V9 in the form of membar #Sync.
2018-12-12 Eric Botcazou
PR target/86806
* config/sparc/sparc.md (unspecv): Add UNSPECV_SPECULATION_BARRIER.
(speculation_barrier): New instruction for V9.
--
Eric BotcazouIndex: config/sparc
Eric Botcazou
PR ada/88429
* configure.ac (default_gnatlib_target): Set to gnatlib instead of
gnatlib-plain if --disable-shared.
* configure: Regenerate.
* Makefile.in (all): Replace gnatlib prerequisite with libada.
(ADA_RTS_SUBDIR): Delete
Tested on visium-elf and x86_64-suse-linux, applied on mainline and 8 branch.
2018-12-10 Eric Botcazou
* c-c++-common/patchable_function_entry-decl.c: Pass -mcpu=gr6 for
Visium and remove other specific handling.
* c-c++-common/patchable_function_entry-default.c
by adding a flag to dw_cfi_row to record whether the operation has been seen.
Tested on SPARC/Solaris 11, applied on the mainline.
2018-12-08 Eric Botcazou
PR rtl-optimization/88390
* dwarf2cfi.c (struct dw_cfi_row): Add window_save field.
(cfi_row_equal_p): Compare
ations and code
> [-Wdeclaration-after-statement]
>
> The following patch fixes this by building as C99. Alternatively, it
> would work just as well to split the x declaration and initialization.
Thanks for fixing this.
--
Eric Botcazou
on the 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
> Thanks for your support.
You're campaigning for something? ;-)
--
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
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
the 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
ervative 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
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
> 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
;
> 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
on
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): Likewise
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
?
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
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
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
> 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
> 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
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
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
> 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
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
---
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
.
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 account
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: New
> 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
> 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
> 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
d the parameter with a VISIBILITY_DEFAULT default argument.
--
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: gcov.c
64-x86_64.
>
> Ok for trunk?
Please put it on the 8 branch too.
--
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
regressions are still there on Solaris 11.3 for me.
--
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
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-10-22 Eric
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_var):
> I've added the missing ChangeLog entry as r265272 (using yesterday's
> date, since that's when I committed the change).
Thanks!
--
Eric Botcazou
> About the Ada compiler: it doesn't build on i686-w64-mingw32. It is
> the reason why MSYS2 is stuck with 7.3 for 32 bits.
Why doesn't it build? Because of PR ada/81878?
--
Eric Botcazou
8-10/msg02312.html
So we have an additional ACATS failure (ce2104c) in 8.2.1 over the previous
releases? Feel free to open a PR about it if you have a couple of minutes.
Thanks for testing the Ada compiler!
--
Eric Botcazou
> Thanks; I've committed this to trunk as r265240.
You modified gcc-interface/Make-lang.in without ChangeLog entry.
--
Eric Botcazou
(but it 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
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_size): Set
too?
That's an oldish regression so it may qualify, but needs RM approval IMO.
--
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
generation.
So the patch reinstates the overriding, but only when expanding to GIMPLE.
Tested on x86-64/Linux, applied on the mainline as obvious.
2018-10-10 Eric Botcazou
PR middle-end/87574
* cgraphunit.c (cgraph_node::expand_thunk): Force DECL_IGNORED_P on
the thunk
ffected as well. I'm still determining what the best course of action
> is: disable string merging support before Solaris 11.4 or enable the
> workaround above instead.
Out of curiosity, why isn't it necessary on Solaris 11.4? Is string
compression disabled or does it respect alignment on Solaris 11.4?
--
Eric Botcazou
> 2018-09-28 Eric Botcazou
>
> PR tree-optimization/86659
> * gimple-match.h (struct gimple_match_op): Add reverse field.
Jonathan privately remarked that the new member should probably be initialized
in the constructors (thanks!). Done thusly, applied on mainlin
> Which version exactly (pkg list entire) of Solaris 11 are you running?
> I'm using gas 2.31 and /bin/ld on Solaris 11.4 resp. 11.5 Beta, where
> Bernd's patch in PR bootstrap/87551 fixed the remaining regressions.
Solaris 11.3 with Gas 2.30.
--
Eric Botcazou
t would fix the simple testcase
> that was presented here.
OK, I keep forgetting it and that would be a good compromise indeed.
--
Eric Botcazou
cc-4.5 and gcc-4.6)
Possibly indeed, I remembered GCC 4.5 as being the turning point.
--
Eric Botcazou
Now that -gcolum-info is the default, I think that it makes sense to print the
column info in the RTL dumps to be able to find out where numbers come from.
Tested on x86_64-suse-linux, applied on the mainline.
2018-10-08 Eric Botcazou
* print-rtl.c (rtx_writer
ion to alter
> regname if note has same register marked dead in notes.
No gcc/ prefix in gcc/ChangeLog.
--
Eric Botcazou
cution, -O2 -g
--
Eric Botcazou
for every language on strict-alignment platforms. This was changed only
because of SSE on x86.
--
Eric Botcazou
ric_op.
That's what I was referring to in the opening message by "the underlying issue
of the missing propagation of the flag during GIMPLE folding".
--
Eric Botcazou
Sorry, wrong list...
--
Eric Botcazou
n't happen if the parameter
is In Out instead of Out. The problem is that the compiler doesn't initialize
the temporary it creates around the call in the Out case. This blocks the 2nd
part of the fix for R914-006.
--
Eric Botcazou
with Q; use Q;
procedure P is
D : Derived;
begin
Proc1 (Rec (D));
Pro
There is a single, convoluted use of do_jump outside dojump.c and no uses of
do_jump_1 at all.
Tested on x86-64/Linux, applied on the mainline as obvious.
2018-10-02 Eric Botcazou
* dojump.h (do_jump): Delete.
(do_jump_1): Likewise.
(split_comparison): Move around
This changes make_return_insns to using emit_copy_of_insn_after when it needs
to re-emit insns that were put in a delay slot, like routines doing the same
thing in the file, and re-emitting the jump insn directly.
Tested on SPARC/Solaris, applied on the mainline.
2018-10-02 Eric Botcazou
l in match.pd, I'd rather not try something impossible unless rforced to
do it. This ought to be controlled directly from fold-const.c, if need be.
--
Eric Botcazou
The translation of a pointer to constant value was lacking the package prefix.
Tested on x86_64-suse-linux, applied on the mainline.
2018-10-01 Eric Botcazou
* c-ada-spec.c (get_underlying_decl): Get to the main type variant.
(dump_ada_node): Add const keyword.
--
Eric
t CALL_P btw).
Seconded, but I'd be even more explicit in the naming of the hook, for example
setjmp_preserves_nonvolatile_registers or somesuch. (And I don't think that
setjmp can be considered a normal call in any case since it returns twice).
--
Eric Botcazou
GIMPLE folding
has probably been latent for quite some time on all active branches.
Tested on x86-64/Linux and SPARC/Solaris, OK for mainline? And branches?
2018-09-28 Eric Botcazou
PR tree-optimization/86659
* gimple-match.h (struct gimple_match_op): Add reverse field
on SPARC/Solaris, applied on the mainline.
2018-09-28 Eric Botcazou
* config/sparc/sparc-protos.h (sparc_branch_cost): Declare.
* config/sparc/sparc.h (BRANCH_COST): Call sparc_branch_cost.
* config/sparc/sparc.c (struct processor_costs): Add branch_cost field
ode uses the same pattern as the existing code just above though.
--
Eric Botcazou
change which causes
thunks not generated by the back-end to use a tailcall even at -O0 when that's
possible, since that's what most of the back-ends do too.
Tested x86-64/Linux, OK for the mainline?
2018-09-25 Eric Botcazou
Pierre-Marie de Rodat
Javier Miranda
testcase?
Yes, I did it yesterday.
--
Eric Botcazou
Enumeration types are unsigned in Ada so use 'unsigned char' instead of 'char'
for mapping Attribute_Id.
Tested x86-64/Linux, applied on the mainline.
2018-09-24 Eric Botcazou
PR ada/87396
* fe.h (Get_Attribute_Definition_Clause): Use 'unsigned char' instead
ke arbitrary changes that are justified solely on
> 'that's what another port does'.
The barrier is required by the arm_reorg pass, but it is optional when the
pass is not run. I think that we can consider that it is also correct.
--
Eric Botcazou
The packed record layout is not really supported for the time being.
Tested on x86-64/Linux, applied on the mainline.
2018-09-21 Eric Botcazou
* c-ada-spec.c: Include diagnostic.h.
(dump_ada_declaration) : Issue a warning on packed layout.
2018-09-21 Eric Botcazou
We don't, but it doesn't harm to put it either. For example, the x86, PowerPC
and SPARC ports always do it.
--
Eric Botcazou
> Do you have any progress with this?
Once I'm done with the recent regressions, I'll get back to this older one.
--
Eric Botcazou
.
Tested on ARM/Linux, OK for mainline, 8 and 7 branches?
2018-09-17 Eric Botcazou
* config/arm/arm.c (arm_reorg): Skip Thumb reorg pass for thunks.
(arm32_output_mi_thunk): Deal with long calls.
2018-09-17 Eric Botcazou
* g++.dg/other/thunk2a.C: New test
Hi,
more precisely, to a nested function that requires a static chain. The reason
is that the sibling call epilogue may clobber the static chain register r11.
Tested on PowerPC/Linux, OK for the mainline?
2018-09-17 Eric Botcazou
* config/rs6000/rs6000.c
on x86_64-suse-linux, OK for the mainline?
2018-09-17 Eric Botcazou
PR tree-optimization/86990
* gimple-ssa-store-merging.c (imm_store_chain_info::coalesce_immediate):
Check that the entire merged store group is made of constants only for
overlapping stores
the sequence:
JUMP
BARRIER
JUMP_TABLE_DATA
BARRIER
that can be generated for a switch construct.
Bootstrapped/regtested on x86_64-suse-linux, applied on mainline as obvious.
2018-09-15 Eric Botcazou
PR middle-end/86864
* cfgexpand.c (expand_gimple_basic_block): Be prepared
Tested on visium-elf, applied on the mainline.
2018-09-13 Eric Botcazou
PR target/86812
* config/visium/visium.c (TARGET_HAVE_SPECULATION_SAFE_VALUE): Define.
--
Eric BotcazouIndex: config/visium/visium.c
As pointed out by Joseph. Applied on the mainline.
2018-09-13 Eric Botcazou
* Makefile.rtl (arm% linux-gnueabi%): Always set EH_MECHANISM to -arm.
--
Eric Botcazou
This removes the inclusion of the unused termio.h from terminals.c.
Tested on x86_64-suse-linux, applied on the mainline.
2018-09-13 Eric Botcazou
PR ada/81103
* terminals.c: Do not include termio.h.
--
Eric BotcazouIndex: terminals.c
o_overlap and the bug is orthogonal to my patches since it is present
in 8.x; in any case, all transformations are supposed to be covered by the
testsuite.
--
Eric Botcazou
901 - 1000 of 5460 matches
Mail list logo