.
2019-02-26 Eric Botcazou
* config/sparc/sparc-opts.h (enum processor_type): Rename to...
(enum sparc_processor_type): ...this.
(enum sparc_code_model_type): New enumeration type.
(enum sparc_memory_model_type): Tweak comments.
* config/sparc/sparc.opt (mcpu
> OK for trunk?
>
> * haifa-sched.c (find_fallthru_edge_from): Relax assert to account for
> fallthru edges leading to the exit block.
>
> * gcc.dg/pr85899.c: New test.
OK, thanks.
--
Eric Botcazou
the value is 0 instead of the entire value.
* gcc.c-torture/execute/20190228-1.c: New test.
--
Eric Botcazou/* PR tree-optimization/89536 */
/* Testcase by Zhendong Su */
int a = 1;
int main (void)
{
a = ~(a && 1);
if (a < -1)
a = ~a;
if (!a)
__b
0,1]).
IMO you haven't justified why this is problematic in the BIT_NOT_EXPR case and
not in the BIT_AND_EXPR case...
--
Eric Botcazou
sentence: we'll precisely replace a bogus value,
which we know is impossible given the [0, 1] range, by 0 or 1.
--
Eric Botcazou
fix is just to
disable the pragma altogether when the option is passed.
Tested on x86_64-suse-linux, OK for mainline and 8 branch?
2019-03-11 Eric Botcazou
PR rtl-optimization/89588
* tree-cfg.c (replace_loop_annotate_in_block) :
Skip annotation and warn if -fno-tree-l
> Hmm, this looks fragile - isn't the same effect when using
> -fdisable-tree-cunroll?
Maybe.
> That is, it looks like we could "move" the assert to decide_unrolling
> instead, deciding LPT_NONE?
We already have a guard for the assertion but it is bypassed here.
I'm going to commit this (equiva
xcept for SPARC. It
yields a 100% clean ASAN testsuite on SPARC64/Linux (32-bit and 64-bit).
Tested on SPARC64/Linux, SPARC/Solaris and x86-64/Linux, OK for the mainline?
2019-03-11 Eric Botcazou
PR sanitizer/80953
* target.def (asan_shadow_left_shift): New
nline.
2019-03-13 Eric Botcazou
PR sanitizer/80953
Merge from LLVM revision 355965
* sanitizer_common/sanitizer_linux.cc (GetWriteFlag): Implement for
SPARC/Linux.
(GetPcSpBp): Likewise.
* sanitizer_common/sanitizer_stacktrace.cc (GetNextInstruct
This patch contains the bits required to make the common 32-bit allocator work
on SPARC64/Linux. It only affects the SPARC ports and has been tested on
SPARC/Solaris and SPARC64/Linux.
It merges r355978 of the LLVM repository. Installed on the mainline.
2019-03-13 Eric Botcazou
. Installed on the mainline.
2019-03-13 Eric Botcazou
PR sanitizer/80953
Merge from LLVM revision 355979
* asan/asan_globals.c (GetGlobalsForAddress): Use internal_memcpy to
copy Global objects for SPARC with GCC.
--
Eric BotcazouIndex: asan/asan_globals.cc
This patch contains the bits required to make the AddressSanitizer work on
SPARC64/Linux (SPARC-T4 and later). It only affects the SPARC ports and has
been tested on SPARC/Solaris and SPARC64/Linux.
It merges r355980 of the LLVM repository. Installed on the mainline.
2019-03-13 Eric
x27;t you need some corresponding libsanitizer changes?
Of course, just merged.
--
Eric Botcazou
h more convoluted...
Moreover, I'm not sure this is a very important issue, people presumably don't
run binaries compiled with -fsanitize=address in production, so having to
recompile with a matching GCC version doesn't seem that much of a hurdle.
--
Eric Botcazou
or the
> high memory would precede the shadow for the low memory.
But you still need to chop the high bits, otherwise you end up in the hole.
--
Eric Botcazou
PR rtl-optimization/89679
> * expmed.c (expand_mult_const): Don't add a REG_EQUAL note if it
> would contain a paradoxical SUBREG.
My vote would be for this one.
--
Eric Botcazou
> Not if the >> 3 shift is arithmetic shift.
Sorry, I don't understand how this can work.
--
Eric Botcazou
alue out of thin air.
> IIRC there are other places that have similar logic and rely on
> ssa_name_has_boolean_range to filter out anything undesirable.
The other places are more careful, i.e. they explicitly test for 0 or 1.
--
Eric Botcazou
> The attached patch (pr85667.patch) fixes the subjected issue for 32-bit.
> Please let me know your thoughts on the patch.
IMO you ought not to duplicate most of function_value_32 here.
--
Eric Botcazou
> There were REG_EQUAL notes on these tls calls in the past, but I
> recall removing them for one reason or another. So watch out for
> fall-out from this patch! ;-)
Others ports have them though, for example i386, ARM and SPARC.
--
Eric Botcazou
> I modified the patch.
> Please let me know your thoughts.
Thanks. This version is certainly better, but I cannot approve it myself.
Uros, given that the bug was fixed in 64-bit mode for GCC 9, I think that it
would make sense to have it fixed in 32-bit mode too.
--
Eric Botcazou
> I have also tested the patch with x86_64-linux-gnu with no new regressions.
> Is this OK for trunk?
Yes, but please put it on all active branches.
--
Eric Botcazou
Tested on x86_64-pc-mingw32, OK for the mainline?
2019-03-30 Eric Botcazou
* src/c++17/fs_ops.cc (fs::permissions): Use std::errc::not_supported.
--
Eric Botcazoudiff --git libstdc++-v3/src/c++17/fs_ops.cc libstdc++-v3/src/c++17/fs_ops.cc
index 3ff0ded1c66..5ca523826cb 100644
With the same error message as on SPARC/Solaris (as I have neither the time
nor the energy to get through the awkward upstream submission process again).
Tested on SPARC/Solaris and SPARC/Linux, applied on the mainline.
2019-04-02 Eric Botcazou
* config/sparc/linux64.h
> 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.
And now onto the 7 branch, after testing on x86-64/Linux and PowerPC/Linux.
--
Eric Botcazou
This fixes a small issue that may be present when you use -fdump-ada-spec with
very recent glibc releases. Tested on Ubuntu 18.04, applied on the mainline.
2019-04-07 Eric Botcazou
c-family/
* c-ada-spec.c (is_float128): New predicate extracted from...
(dump_ada_node) : Use
2019-04-09 Eric Botcazou
c-family/
* c-ada-spec.c (print_destructor): Deal with deleting destructors.
(dump_ada_declaration) : Likewise.
--
Eric BotcazouIndex: c-ada-spec.c
===
--- c-ada-spec.c (revision 270188)
eudo and not
of the SUBREG it is put on, hence...
> (oh, and yes, I think SUBREG_PROMOTED_VAR_P is a dangerous thing,
> but so is VRP info on SSA names as we've learned...)
...yes, it is delicate to deal with.
--
Eric Botcazou
s
data dependences force its motion (thus a conditional doesn't do)."
i.e. this also works for a local variable that is always accessed with the
SUBREG_PROMOTED_VAR_P semantics.
--
Eric Botcazou
e C++ part.
The Ada bits are OK and I guess we don't care about earlier 9.0.1 snapshots.
--
Eric Botcazou
> 2019-04-24 Jakub Jelinek
>
> PR target/90193
> * rtl.c (classify_insn): Return JUMP_INSN for asm goto.
> * emit-rtl.c (try_split): Copy over REG_LABEL_TARGET.
>
> * gcc.target/i386/pr90193.c: New test.
OK, thanks.
--
Eric Botcazou
> I have now applied this variant.
You backported it onto the 8 branch on Friday:
2019-05-03 Richard Biener
Backport from mainline
[...]
2019-03-07 Richard Biener
PR tree-optimization/89595
* tree-ssa-dom.c (dom_opt_dom_walker::optimize_stmt): Take
Isn't that what define_subst does in a different context?
> Any comments? Suggestions for better names?
define_insn_and_subst?
--
Eric Botcazou
The interfacing with C++ assignment operators in Ada is not very clear but we
should at least make sure that the generated binding compile.
Tested on x86_64-suse-linux, applied on mainline as obvious for the cp/ part.
2019-05-21 Eric Botcazou
c-family/
* c-ada-spec.h (enum
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_sl
x27;make doc', applied on all active branches as obvious.
2019-01-09 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-funct
terns 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
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
trapped on powerpc64-linux (regtest still pending there).
>
> Ok for trunk?
>
> 2019-01-09 Jakub Jelinek
>
> PR middle-end/84877
> PR bootstrap/88450
> * function.c (assign_stack_local_1): Revert the 2018-11-21 changes.
> (assign_parm_set
ses 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
ne in get_stack_local_alignment instead
but I don't really have a strong opinion here.
--
Eric Botcazou
There were a couple of issues in the code for mov{si,di}_pic_label_ref in
sparc_delegitimize_address: it wouldn't recognize the GOT register and it
wouldn't recognize a decoded HIGH/LO_SUM combination.
Tested on SPARC/Solaris 11, applied on the mainline.
2019-01-22 Eri
ux, OK for the mainline?
2019-01-22 Eric Botcazou
* cgraphunit.c (cgraph_node::expand_thunk): When expanding a GIMPLE
thunk that returns by reference, use the type of the return object
of the thunk instead of that of the alias to build the dereference.
2019-01-23 Eri
e
> @code{tablejump_p} insn refers to that @code{code_label} via its
> @code{JUMP_LABEL}.
>
> Which of these two is true?
The latter I'd say, see skip_insns_after_block.
--
Eric Botcazou
Object_Size use 1048544;
for Rec'Value_Size use (((#1 max 1) + 0) * 32);
for Rec'Alignment use 4;
for Rec use record
D at 0 range 0 .. 15;
A at 4 range 0 .. ??;
end record;
Tested on x86_64-suse-linux, applied on all active branches.
2019-01-26 Eric Botcazou
*
This does a small tweak in gnat_to_gnu with no functional changes and fixes
some formatting issues in recently added code.
Tested on x86_64-suse-linux, applied on the mainline.
2019-01-26 Eric Botcazou
* gcc-interface/trans.c (Iterate_Acc_Clause_Arg): Fix formatting
alignment than the
natural one.
Tested on x86_64-suse-linux, applied on all active branches.
2019-01-26 Eric Botcazou
* gcc-interface/trans.c (gnat_to_gnu) : Use
DECL_SIZE_UNIT instead of TYPE_SIZE_UNIT for the size to be assigned
by a call to memset if the LHS is a DECL
.
2019-01-27 Eric Botcazou
* gcc-interface/decl.c (array_type_has_nonaliased_component): Return
the same value for every dimension of a multidimensional array type.
2019-01-27 Eric Botcazou
* gnat.dg/opt75.adb: New test.
* gnat.dg/opt75_pkg.ad[sb]: New helper
GCC 9 despite the small risk.
Tested on x86_64-suse-linux, applied on the mainline.
2019-01-27 Eric Botcazou
* repinfo.adb (List_Component_Layout): Remove superfluous space for
zero-sized field.
* gcc-interface/ada-tree.h (TYPE_IS_EXTRA_SUBTYPE_P): New macro.
wants to guard against, so I
> believe from security POV this shouldn't weaken anything, but fixes the
> testcase.
This moves the stack protect epilogue from after the naked_return_label to
before though, so it will be skipped for a naked return.
--
Eric Botcazou
spend it and go to bed. ;-)
--
Eric Botcazou
Eric Botcazou
* config/sparc/sparc.h: Remove superfluous blank lines.
* config/sparc/sparc.c (global_offset_table_rtx): Rename into...
(got_register_rtx): ...this.
(sparc_got): Adjust to above renaming.
(sparc_tls_got): Likewise
variable. The proposed fix is
to add a memory blockage, like in other frame-related constructs.
Tested on x86/Windows and x86-64/Windows, OK for all active branches?
2019-02-06 Eric Botcazou
* config/i386/i386.c (ix86_expand_prologue): Generate a memory blockage
after resto
he second patch.
Thoughts?
--
Eric Botcazou
diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
index 8d0b58cc6d6..89812a03d74 100644
--- a/gcc/config/rs6000/rs6000.md
+++ b/gcc/config/rs6000/rs6000.md
@@ -8565,16 +8565,16 @@
(define_insn "*movdi_internal32"
The tasking is terminally broken on SPARC/Linux with the mainline compiler.
The problem is also visible on other branches if you compile the runtime with
assertions enabled.
Tested on SPARC64/Linux, applied on all active branches.
2019-02-07 Eric Botcazou
* libgnarl/s
ek
>
> PR rtl-optimization/89234
> * except.c (copy_reg_eh_region_note_forward): Return if note_or_insn
> is a NOTE, CODE_LABEL etc. - rtx_insn * other than INSN_P.
> (copy_reg_eh_region_note_backward): Likewise.
>
> * g++.dg/ubsan/pr89234.C: New test.
OK, thanks.
--
Eric Botcazou
> Between 20181106 (r265849) and 20181107 (r265879), gnat.dg/lto19.adb
> started to XPASS everywhere:
>
> XPASS: gnat.dg/lto19.adb (test for excess errors)
The idea was to wait until Jan fixes the lto8 failure introduced roughly at
the same time...
--
Eric Botcazou
med at not disturbing the common path, i.e. server processors,
while preserving the historical path for other processors. AFAIK nobody has
evaluated the effects of the original change beyond POWER 7/8/9.
> Could you open a PR please?
Sure, but about what now? ;-)
--
Eric Botcazou
This is a regression present on all active branches: in some cases, you get
bogus profile mismatches with -fprofile-{generate,use} at -O2 because some -O3
optimizations are automatically enabled by -fprofile-use.
Tested on x86_64-suse-linux, applied on all active branches.
2019-02-08 Eric
.
2019-02-08 Eric Botcazou
* gcc-interface/utils.c (max_size) : Be prepared for an
operand with VOID_TYPE.
--
Eric BotcazouIndex: gcc-interface/utils.c
===
--- gcc-interface/utils.c (revision 268508)
+++ gcc-interface
clause if the source
is an aggregate, thus generating an out-of-bounds read.
Tested on x86_64-suse-linux, applied on mainline.
2019-02-08 Eric Botcazou
* gcc-interface/trans.c (gnat_to_gnu) : Minor tweak.
* gcc-interface/utils.c (convert): Do not pad when doing an unchecked
ks!) so you can go ahead with the patch.
--
Eric Botcazou
ent larger than
> MAX_SUPPORTED_STACK_ALIGNMENT.
OK, thanks.
--
Eric Botcazou
the gcc.target/powerpc testsuite.
--
Eric Botcazou
O3 -g output pattern test
FAIL: gcc.dg/asan/use-after-scope-5.c -Os output pattern test
FAIL: gcc.dg/asan/use-after-scope-5.c -O2 -flto -flto-partition=none output
pattern test
FAIL: gcc.dg/asan/use-after-scope-5.c -O2 -flto output pattern test
OK for mainline?
2019-02-11 Eric Bot
offset as well, which can be modified through -fasan-shadow-offset?
--
Eric Botcazou
2 doubles
at address 0x1008 will have a shadow address of 0x2001 modulo the
offset so you cannot use size 2. Moveover the store merging pass should be
able to merge the stores so I don't really understand why this matters at all.
--
Eric Botcazou
; modifiers in the DI patterns? As a
matter of fact there are still present in the SI pattern.
--
Eric Botcazou
y of long doubles on 64-bit SPARC.
2019-02-12 Eric Botcazou
* asan.c (asan_expand_mark_ifn): Take into account the alignment of
the object to pick the size of stores on strict-alignment platforms.
--
Eric BotcazouIndex: asan.c
===
o).
Doesn't the current check make sure that the RTL constant is valid for the
mode though (since RTL constants are sign-extended for their mode)? See
emit_block_move_via_movmem for an equivalent check with GET_MODE_MASK >> 1.
--
Eric Botcazou
rc.cc).
No, it will not be necessary, I have ported the implementation to 64-bit.
--
Eric Botcazou
handle efficiently (e.g., `QImode' for values in the range 0-127;
note we avoid numbers that appear negative) and also a pattern
with `Pmode'.
That being said, your patch doesn't change the interpretation so is OK.
--
Eric Botcazou
the *movdi_internal32 pattern, 2 'wi' constraints have it
but not the other 2. Likewise for "wv'.
--
Eric Botcazou
> 2016-08-09 Marek Polacek
>
> PR c/7652
> gcc/c-family/
> * c-ada-spec.c (dump_generic_ada_node): Add return.
OK, thanks.
--
Eric Botcazou
f analysis punts on bit offsets so I'm not
sure how boff can be not byte-aligned.
--
Eric Botcazou
like to add that to the gnat.dg because
> it seems that there is zero testing for the predictive
> commoning in the gnat.dg test suite.
Very likely so. The renamed testcase is OK for mainline, but please replace
"Eric's" with "the" in the patch or copy-and-paste the explanation.
--
Eric Botcazou
> Committed patch to trunk. Ok for backport to 6.x and 5.x branches as
> well?
No, we really avoid touching reload on release branches, unless there is a
very good reason to do it, like a regression on a primary platform.
--
Eric Botcazou
ed here? In order to disable some
further transformation downstream? Could DIR_SEPARATOR be just '/'?
--
Eric Botcazou
end if;
end loop;
end if;
IOW, can we disable it for the /dev/ thing and leave the rest untouched?
Since DIR_SEPARATOR=='\', the block immediately below will be disabled too.
--
Eric Botcazou
branches as obvious.
2016-08-15 Eric Botcazou
* doc/install.texi (*-*-solaris2*): Fix version number and document
requirement on GNU make for building libjava with the Solaris linker.
--
Eric BotcazouIndex: doc/install.texi
===
This makes -fdump-ada-spec dump preprocessor macros defined as integers and
strings, in the form of Ada constants without declared type.
Tested on x86_64-suse-linux, applied on the mainline.
2016-08-16 Eric Botcazou
Arnaud Charlet
c-family/
* c-ada-spec.c (dump_number
is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
while this works for all other libraries. Let me retry with 3.81 then.
--
Eric Botcazou
> 2016-08-15 Eric Botcazou
>
> * doc/install.texi (*-*-solaris2*): Fix version number and document
> requirement on GNU make for building libjava with the Solaris linker.
GNU make's version number changed to 3.81 after retesting on SPARC/Solaris.
--
Eric Botcazou
his is the first case, then cst1 is false and val2 and inv1 are read.
If this is the second case, then cst1 is true and val1 and inv2 are read.
So inv2 is read only in the second case, and is initialized.
--
Eric Botcazou
This is the build failure introduced on SPARC by the recent reload patch,
which causes the pass to be more strict about what it accepts.
Tested on SPARC/Solaris, applied on the mainline.
2016-08-28 Eric Botcazou
PR target/77324
* config/sparc/sparc.c
The test doesn't pass because of missing support for attribute __optimize__ in
the Visium back-end.
Tested on visium-elf, applied on the mainline and 6 branch.
2016-08-29 Eric Botcazou
* gcc.dg/ipa/iinline-attr.c: XFAIL on Visium.
--
Eric BotcazouIndex: gcc.dg/ipa/iinline-a
n a recent distribution
and, after an in-depth investigation, traced it to a disconnect between gcov-
iov.h and its timestamp file s-iov. Adding the missing dummy command got rid
of the problem.
Tested on x86_64-suse-linux, applied on all active branches as obvious.
2016-08-29 Eri
x86_64-suse-linux, applied on the mainline.
2016-08-30 Eric Botcazou
* postreload-gcse.c (bb_has_well_behaved_predecessors): Tweak
criterion used for abnormal egdes.
2016-08-30 Eric Botcazou
* gnat.dg/opt57.ad[sb]: New test.
DSE is
not the only RTL pass which makes this assumption of invariant frame pointer
in the body, it seems rather fundamental in the RTL middle-end.
--
Eric Botcazou
ntry=INSN)
at /home/eric/svn/gcc/gcc/config/arm/arm.c:9130
9130 || (UINTVAL (SET_SRC (x)) >= 256
(gdb) p debug_rtx(x)
(set (reg:SI 110)
(reg:SI 111))
Proposed fix attached, built on arm-eabi, OK for the mainline?
2016-08-31 Eric Botcazou
* config/arm/arm.c (th
the stack
pointer, not the frame pointer. The compiler wouldn't be able to compile a
simple Ada program with optimization enabled if that wasn't the case.
--
Eric Botcazou
eleases of
the compiler and APCS frames are deprecated in any case (we still support them
for VxWorks 6 but VxWorks 7 switched to AAPCS).
Tested on ARM/VxWorks 6 and ARM/EABI, OK for mainline and 6 branch?
2016-08-31 Eric Botcazou
* config/arm/arm.c (arm_function_ok_for_sibcall)
ables it if -mstackrealign
is enabled (the option is automatically enabled on Windows and Solaris when
SSE support is enabled), as already done for -mpreferred-stack-boundary={2,3}
and -mincoming-stack-boundary={2,3}.
Tested on x86/Windows, OK for mainline and 6 branch?
2016-08-31 Eric Bot
Hi,
the attached Ada testcase triggers a segfault in param_change_prob because the
parameter is VIEW_CONVERT_EXPR (or
* ipa-inline-analysis.c (param_change_prob): Strip VIEW_CONVERT_EXPR.
2016-08-31 Eric Botcazou
* gnat.dg/opt58.adb: New test.
* gnat.dg
n.
Thanks for working on the problem and devising a fix!
--
Eric Botcazou
order, but I'm not able to devise one.
--
Eric Botcazou
> So I think it's better to apply get_base_address here rather than only
> stripping VIEW_CONVERT_EXRPs.
> (beware of it returning NULL_TREE for WITH_SIZE_EXPRs, thus maybe
> strip those first as well)
Something like this? The testsuite is still clean with it.
* ipa-inline-analysis.c (p
+-
tree.h| 10 ++
34 files changed, 574 insertions(+), 51 deletions(-)
--
Eric Botcazou
This is the common infrastructure part. As explained in the initial message,
nothing is activated unless both the language and the target opt in.
2016-07-04 Eric Botcazou
PR ada/37139
PR ada/67205
* common.opt (-ftrampolines): New option.
* doc/invoke.texi
These are the Ada front-end bits. They define the langhook to true and set
the flags on individual ADDR_EXPR and CALL_EXPR nodes with Ada convention; in
other words, descriptors are not activated for subprograms imported from or
exported to other languages.
2016-07-04 Eric Botcazou
1901 - 2000 of 4611 matches
Mail list logo