Tested on x86-64/Linux, OK for the mainline?
2018-06-27 Eric Botcazou
* gimple.h (gimple_return_retbnd): Delete.
(gimple_return_set_retbnd): Likewise.
* cgraphunit.c (cgraph_node::expand_thunk): Remove call to
gimple_return_set_retbnd.
* gimple-pretty
7;d
just leave the other targets alone (and avoid propagating FUD if possible).
--
Eric Botcazou
ppening by explicitly
forcing input_location on the inlined bodies in this case.
Tested (GCC and GDB) on x86-64/Linux, OK for the mainline?
2018-06-27 Eric Botcazou
* tree-inline.c (remap_gimple_stmt): Force input_location on the new
statement if id->reset_loc
> More references to input_location aren't ideal. But I don't think
> that's a strong enough reason to reject.
This can be avoided relatively easily though, patch to that effect attached.
Tested on x86-64/Linux, OK for the mainline?
* tree-inline.c (remap_gimple_stmt): Replace input_lo
> Related we're also missing to verify_location () on those in
> verify_gimple_in_cfg. Having stale references to GCed BLOCKs
> via locations can be difficult to track down...
>
> So can you add the verification bits as well?
Like this?
* tree-cfg.c (verify_gimple_in_cfg): Call verify_
> But then why not expose this as extra field in ID instead of repeatedly
> calling gimple_location?
That's a matter of taste I guess.
> I don't have an issue with using input_location here until we fix the
> gimplifier...
OK, patch dropped.
--
Eric Botcazou
t to be done; for example, the compare
> elimination pass, which this target uses, does not know how to deal with a
> machine that has two condition code registers.
Right, patches lifting this limitation are most welcome.
--
Eric Botcazou
e Z
> bit of CC_REG, then we use standard bz/bnz insns).
Does this mean that the 'F' in the above document is also obsolete?
--
Eric Botcazou
> Yes, OK if it (hopefully!) passes testing.
Yes, it passed bootstrap/regtest on x86-64/Linux so was applied.
--
Eric Botcazou
ush into an half-backed RTL framework.
--
Eric Botcazou
excess errors)
-UNRESOLVED: gcc.dg/debug/dwarf2/pr43237.c scan-assembler-not LLST[^r\\\
\n]*DW_AT_upper_bound
Tested on SPARC/Solaris and x86-64/Linux, applied on the mainline as obvious.
2018-01-10 Eric Botcazou
* dwarf2out.c (dwarf2out_var_location): Do not pass NULL to fprintf
The -fdump-ada-spec currently generates invalid Ada for preprocessor macros
containing floating-point constants and string concatenations.
Tested on x86-64/Linux, applied on the mainline.
2018-01-10 Eric Botcazou
c-family/
* c-ada-spec.c (dump_number): Add FLOAT_P parameter
mainline.
2018-01-10 Eric Botcazou
* gcc-interface/decl.c (gnat_to_gnu_component_type): Apply the check
for atomic access once the component size is taken into account and
also do it if the component type is Atomic or Volatile_Full_Access.
2018-01-10 Eric Botcazou
ed on mainline and 7 branch.
2018-01-12 Eric Botcazou
PR rtl-optimization/83565
* rtlanal.c (nonzero_bits1): On WORD_REGISTER_OPERATIONS machines, do
not extend the result to a larger mode for rotate operations.
(num_sign_bit_copies1): Likewise.
2018-01-12 Eric Bot
. There is a note in
the SCD about this quirk of setjmp so we must probably live with it.
Tested on SPARC64/Linux and SPARC/Solaris, applied on the mainline.
2018-01-12 Eric Botcazou
PR target/83368
* config/sparc/sparc.h (PIC_OFFSET_TABLE_REGNUM): Set to INVALID_REGNUM
in
> I'd like to ping this patch (for some reason it didn't make it into
> gcc-patches archive).
I apparently didn't get it either. The patch is OK, thanks.
--
Eric Botcazou
mine the stack slot size
> when handling VIEW_CONVERT_EXPRs on strict-alignment targets.
This looks good to me, thanks for fixing the problem. Unexpectedly enough, I
don't see the failures on SPARC (32-bit or 64-bit).
--
Eric Botcazou
The SPARC-V8 architecture contains a Y register so defines
a structure with a 'y' field on Linux.
Tested on SPARC64/Linux, applied on the mainline and 7 branch as obvious.
2018-01-16 Eric Botcazou
* testsuite/17_intro/names.cc: Undefine 'y' on SPARC/Linux.
--
We need to enable delayed-branch scheduling to have sibling calls on SPARC.
Tested on SPARC64/Linux, applied on the mainline and 7 branch.
2018-01-16 Eric Botcazou
PR testsuite/77734
* gcc.dg/plugin/must-tail-call-1.c: Pass -fdelayed-branch on SPARC.
--
Eric BotcazouIndex
Tested on visium-elf, applied on the mainline.
2018-01-16 Eric Botcazou
* config/visium/visium.md (nop): Tweak comment.
(hazard_nop): Likewise.
--
Eric BotcazouIndex: config/visium/visium.md
===
--- config
They either use too much space in the data segment or on the stack.
Tested on visium-elf, applied on the mainline.
2018-01-16 Eric Botcazou
* gcc.dg/tree-ssa/ldist-27.c: Skip on Visium.
* gcc.dg/tree-ssa/loop-interchange-1.c: Likewise.
* gcc.dg/tree-ssa/loop
On Visium, the compiler sometimes emits a NOP to avoid a pipeline hazard.
Tested on visium-elf and x86_64-suse-linux, applied on the mainline.
2018-01-16 Eric Botcazou
* c-c++-common/patchable_function_entry-decl.c: Use 3 NOPs on Visium.
* c-c++-common
On these platforms, one of the instances of the constructor generated in
test_strcpy_bounds_memarray_range is put into the constant pool so the strlen
pass cannot do its magic.
Tested on visium-elf, SPARC64 and x86-64/Linux, applied on the mainline.
2018-01-16 Eric Botcazou
* c-c
s the test so that this call to memcpy is preserved on
the other platforms too (by adding one character to the string) and adds the
additional dg-warning directive.
Tested on visium-elf & x86_64-suse-linux, applied on the mainline as obvious.
2018-01-16 Eric Botcazou
ET with byte_position is actually worse, because
the offset of the field is then counted twice in refoff since it is already
comprised in const_off. In the end, the correct thing to do is just to equate
refoff and const_off.
Tested on visium-elf & x86_64-suse-linux, applied on the mainl
> There should be just one warning per call, and (as it is) -Wrestrict
> should suppress -Wstringop-overflow. This suppression was a recent
> change (r256683).
Sorry, the changes indeed crossed, I'm going to revert mine.
--
Eric Botcazou
Hi,
as suggested by Jakub in the audit trail, this simply adjusts the dg-final
line according to whether it's for a logical_op_short_circuit target or not.
Tested on visium-elf and x86_64-suse-linux, OK for the mainline?
2018-01-17 Eric Botcazou
PR tree-optimization/
2018-01-17 Eric Botcazou
* gcc.dg/ipa/inlinehint-4.c: Also pass --param inline-unit-growth=20.
--
Eric BotcazouIndex: gcc.dg/ipa/inlinehint-4.c
===
--- gcc.dg/ipa/inlinehint-4.c (revision 256776)
+++ gcc.dg/ipa/inlinehint
nline, Richard B.
agreed to have it fixed on the 7 branch by reverting the problematic bits from
the PR rtl-optimization/59461 patch that introduced it.
Manually tested on mips64-unknown-linux-gnu, applied on the 7 branch.
2018-01-23 Eric Botcazou
PR rtl-optimization/
> I would like to commit the following comment about LEON3-FT errata now
> available in GCC-7.3.
Fine with me, thanks.
--
Eric Botcazou
> OK. Makes me wonder how many big endian LRA targets are getting significant
> use.
Debian still has an active SPARC64 port now based on GCC 7 with LRA.
--
Eric Botcazou
thing to do.
> Tested with the appropriate runtest invocation on
> sparc-sun-solaris2.11. Ok for mainline?
Yes, thanks.
--
Eric Botcazou
default.
Probably not on Linux indeed. But, since you modified the non-Linux path, you
need to avoid repeating the same mistake and test on non-Linux native too.
--
Eric Botcazou
he fix only
changes the first, problematic case.
Tested on SPARC64/Linux and ARM/EABI, applied on mainline and 7 branch.
2018-01-31 Eric Botcazou
PR rtl-optimization/84071
* combine.c (record_dead_and_set_regs_1): Record the source unmodified
for a paradoxical SUBREG on a
arc-wrs-vxworks. (Might already have been reported, sorry.)
No, I don't think so, thanks for doing it. The hunk:
* config/sparc/sparc.md (vxworks_load_got): Set the GOT register.
is an afterthought and a no-op, since GOT and PIC registers are the same.
Hunk reverted.
--
Eric Botcazou
(TREE_TYPE (t));
and gnat.dg/lto20.adb is very likely in the TYPE_NONALIASED_COMPONENT case.
--
Eric Botcazou
at gnat.dg/lto20.adb still passes after the above change.
--
Eric Botcazou
> Tested on SPARC64/Linux and ARM/EABI, applied on mainline and 7 branch.
As discussed in the audit trail, this beefs up the internal documentation
about WORD_REGISTER_OPERATIONS.
Tested with 'make doc', applied on mainline and 7 branch.
2018-01-31 Eric Botcazou
> Ah, right. The patch oversimplifies this. We need to do sth like
> TREE_CODE (t1) == ARRAY_TYPE && ! TYPE_NONALIASED_COMPONENT (t1) && ...
> right?
Right. Any objection to me applying this?
lto/
PR lto/83954
* lto-symtab.c (warn_type_compatibility_p): Do not recurse into the
rom expand_binop without the macro if there is no addqi.
> Most RISC/WORD_REGISTER_OPERATIONS targets wouldn't provide QImode
> addition patterns, so the first insn seems unlikely.
Indeed, SImode on 64-bit RISC targets should have been more realistic, but I
didn't want to give a 64-bit example.
--
Eric Botcazou
t will use the
(reg:m2 R) later, expecting all bits to be preserved.
So if the number of words is the same, preserve the
subreg so that push_reloads can see it. */
&& ! ((x_size-1)/UNITS_PER_WORD == (new_size-1) UNITS_PER_WORD)
#endif
--
Eric Botcazou
5 - 1);
else
tmp = size_int ((5 * BITS_PER_WORD / POINTER_SIZE) - 1);
--
Eric Botcazou
> One more thing. Word can be bigger than pointer on ILP32 targets.
> 5 pointers aren't sufficient.
Yes, that's why the buffer should be 5 words, as init_eh allocates now.
--
Eric Botcazou
, case
BUILT_IN_LONGJMP. */
size = 5;
#else
so the tests are incorrect, not the implementation.
--
Eric Botcazou
> I think it should be a predefined macro.
Macros cannot be used outside of the C family of languages while builtins can,
but a macro might be sufficient in practice and easier to implement indeed.
--
Eric Botcazou
The option is not supported on the original Solaris' grep. Given that there
is also a redirection to /dev/null at the end, it is superfluous.
Tested on x86_64-suse-linux, applied on the mainline as obvious.
2018-02-06 Eric Botcazou
config/
* gcc-plugin.m4 (GCC_ENABLE_PL
We cannot generate the 'constant' keyword for components in Ada, it's illegal.
Tested on x86_64-suse-linux, applied on the mainline.
2018-02-09 Eric Botcazou
c-family/
* c-ada-spec.c (dump_ada_declaration): Do not generate the 'constant'
keyword
have changed since then and the attached testcase triggers it now (and also
checks that the generated code is correct in this case).
Tested on x86_64-suse-linux, applied on the mainline.
2018-02-09 Eric Botcazou
* expr.c (optimize_bitfield_assignment_op): Remove obsolete assertion
45242b with optimization enabled.
OK for the mainline?
2018-02-09 Eric Botcazou
* optabs.c (prepare_cmp_insn): Try harder to emit a direct comparison
instead of a libcall for UNORDERED.
--
Eric BotcazouIndex: op
The gnat.dg testsuite contains a dozen of spurious failures on 64-bit Windows
because of a couple of issues: the target is P64 and some patterns in filename
give rise to warning at link time.
Fixed thusly, applied to all active branches.
2018-02-16 Eric Botcazou
PR ada/84277
This fixes the slew of -fcompare-debug regressions present in the testsuite
for targets with delay slots and caused by REG_CALL_ARG_LOCATION notes still
present in the .final dumps.
Tested on SPARC64/Linux and x86-64/Linux, applied on the mainline as obvious.
2018-02-26 Eric Botcazou
_or_set_registers because of a stale REG_DEAD note on jump 15,
so the fix is to call fix_reg_dead_note in more places where redundant insns
are dropped from delay slots.
Tested on SPARC64/Linux, applied on the mainline and 7 branch.
2018-02-26 Eric Botcazou
PR rtl-optimi
Eric Botcazou
c-family/
* c-ada-spec.c (dump_ada_import): Use boolean and fix formatting.
(is_char_array): Fix formatting.
(dump_template_types): Likewise.
(dump_generic_ada_node): Rename into...
(dump_ada_node): ...this.
: Remove superfluous
This extends the previous change to "opaque" types, i.e. types that are still
incomplete at the end of the translation unit.
Tested on x86_64-suse-linux, applied on the mainline.
2018-02-28 Eric Botcazou
c-family/
* c-ada-spec.c (dump_ada_node) : Do not use generic
They simply have been ignored up to now.
Tested on x86_64-suse-linux, applied on the mainline.
2018-02-28 Eric Botcazou
c-family/
* c-ada-spec.c (dump_ada_double_name) : New case.
(is_char_array): Take a type instead of a declaration.
(dump_ada_array_type): Likewise
This was broken when the default was changed to C11/C++11.
Tested on x86_64-suse-linux, applied on the mainline.
2018-02-28 Eric Botcazou
ada/
* libgnat/i-cexten.ads (Float_128): New type.
c-family/
* c-ada-spec.c (dump_ada_node) : New case.
: Deal specifically with
Superfluous parentheses plus trailing spaces introduced last June.
Tested on AArch64/Linux, applied on the mainline as obvious.
2018-02-28 Eric Botcazou
* config/aarch64/aarch64.c (aarch64_emit_probe_stack_range): Remove
superfluous parentheses and trailing spaces.
--
Eric
the mainline?
2018-03-02 Eric Botcazou
PR ipa/83983
* ipa-devirt.c (odr_subtypes_equivalent_p): Get the ODR type of both
arguments if they are comparable.
--
Eric BotcazouIndex: ipa-devirt.c
===
--- ipa-devir
the exception table into hot and cold parts; that's necessary
because the LSDA is referenced directly in the SEH scheme.
Tested on x86-64/Windows, x86-64/Linux and IA-64/Linux, OK for mainline?
2018-03-04 Eric Botcazou
PR target/84277
* except.h (output_function_exception_table
It has been broken on the mainline since end of December. The attached
patchlet is copy-and-pasted from the same function in the c-family dir.
Tested on x86/Windows and x86-64/Linux, applied on the mainline.
2018-03-06 Eric Botcazou
* gcc-interface/utils.c (def_builtin_1): Bail
type.
Applied on all active branches.
2018-03-06 Eric Botcazou
* gcc-interface/trans.c (convert_with_check): Fix typo in the condition
guarding the overflow check emitted for the upper bound of a floating-
point conversion.
--
Eric BotcazouIndex: gcc-interface/tr
Can anyone approve the middle-end bits? The rest effectively affects only the
-freorder-blocks-and-partition optimization on x86-64/Windows, which has never
worked in C++ or Ada, so I don't think that it can do any harm...
--
Eric Botcazou
utput_function_exception_table outputs both parts at once whereas, after the
change, it outputs one part at a time, and thus is called twice from final.c.
I can certainly add the missing documentation for this whole section stuff.
--
Eric Botcazou
. But there is an
exception when __builtin_{frame,return}_address is present in the code and the
implementation of i386_pe_seh_cold_init fails to account for it.
Tested on x86-64/Windows, applied on the mainline as obvious.
2018-03-09 Eric Botcazou
PR target/84763
* config
This is a small regression present on the mainline and 7 branch: the call to a
protected function returning a composite type with Volatile_Full_Access aspect
or pragma yields a segfault at run time.
Tested on x86-64/Linux, applied on the mainline and 7 branch.
2018-03-10 Eric Botcazou
-Wstringop-overflow is supposed to be a C-family warning but it is somehow
issued in Ada too and can warn on bogus cases so let's just kill it.
Tested on x86-64/Linux, applied on the mainline and 7 branch.
2018-03-12 Eric Botcazou
PR ada/82813
* gcc-interface/m
totally random order).
Tested on x86-64/Linux, OK for the mainline?
2018-03-12 Eric Botcazou
PR lto/84805
* ipa-devirt.c (odr_subtypes_equivalent_p): Do not get the ODR type of
incomplete types.
--
Eric Botcazou
Index: ipa-devirt.c
> Patch can bootstrap on ppc64le-redhat-linux and survives regression tests.
Please make sure to test it on more platforms (see PR ipa/83983 for details).
--
Eric Botcazou
> Sorry for the breakage. Actually I did testing on x86_64 and ppcl64
> machines.
There is no breakage, just an issue with the ordering of warnings which may
vary across platforms.
--
Eric Botcazou
It's not a regression but the change is really straightforward.
Tested x86-64/Linux, applied on the mainline.
2018-03-20 Eric Botcazou
c-family/
* c-ada-spec.c (pp_ada_tree_identifier): Deal specifically with _Bool.
--
Eric BotcazouIndex: c-ada-s
Plus a wording change for the sake of consistency. OK to commit?
--
Eric BotcazouIndex: htdocs/gcc-8/changes.html
===
RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-8/changes.html,v
retrieving revision 1.47
diff -u -r1.47 changes.html
--- ht
> So it failed before Toms original patch. Please add sparc-solaris
> to the list of XFAILed targets.
SPARC/Linux is affected too so sparc*-*-* instead.
--
Eric Botcazou
> This should then trigger the use of DW_OP_GNU_variable_value but
> for the Ada ACATS testcase I was looking at to debug the issue
> (c330001, resp. c330001_0-c330001_1.ads) this doesn't work
> because the constraints are not met (we're in global context and
> the upper bound decl is global as wel
switches when it
comes to the final linking step.
Tested on x86-64/Linux, applied on the mainline.
2018-03-23 Eric Botcazou
PR ada/85036
* gnatlink.adb (Process_Args): Drop existing link switches if multiple
switches are passed for --LINK.
--
Eric BotcazouIndex
The switch has been broken for a long time so its removal is long overdue.
Tested on x86-64/Linux, applied on the mainline.
2018-03-23 Eric Botcazou
PR ada/85007
* gnatlink.adb (Gnatlink): Remove handling of -b switch.
* doc/gnat_ugn
> I wonder if it's best to revert the original regression causing patch
> and look for a proper solution in the GCC 9 timeframe?
Probably the best course of action indeed, as changes in this area need to be
thoroughly tested on various targets to cover all the cases.
--
Eric Botcazou
mainline).
Tested on SPARC64/Linux, applied on all active branches.
2018-04-06 Eric Botcazou
PR target/85196
* config/sparc/sparc.c (sparc_expand_move): Deal with symbolic operands
based on LABEL_REF. Remove useless assertion.
(pic_address_needs_scratch): Fix
wrapper.
Bootstrapped and tested on x86-64/Windows, approved by Richard B. in the audit
trail and applied on the mainline.
2018-04-12 Eric Botcazou
PR target/85238
* lto-wrapper.c (debug_objcopy): Open the files in binary mode.
* dwarf2out.c (dwarf2out_early_finish): Do
_landing_pad_for_region insn(s) and jump to single_succ
> basic block.
OK, but also make expand_dw2_landing_pad_for_region private so that the same
mistake is not made again in the future.
--
Eric Botcazou
c.dg/pr85376.c: New test.
My preference would be for this one.
--
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
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
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
e 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 pre
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
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
.
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
> 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
#x27;t, but it doesn't harm to put it either. For example, the x86, PowerPC
and SPARC ports always do it.
--
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
ut this. I don't like 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
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
nce we can adjust the testcase?
Yes, I did it yesterday.
--
Eric Botcazou
lls.c 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
new code uses the same pattern as the existing code just above though.
--
Eric Botcazou
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
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
t test 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
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
ontrol the top
level 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
1201 - 1300 of 4612 matches
Mail list logo