me the patch and I'll run it
on a more thorough testsuite.
--
Eric Botcazou
n PowerPC64 nor on x86-64.
In any case, the patch just reverts a problematic change so can do no harm.
--
Eric Botcazou
.
2016-12-06 Eric Botcazou
PR middle-end/78700
* calls.c (expand_call): Move back call to prepare_call_address.
--
Eric BotcazouIndex: calls.c
===
--- calls.c (revision 243245)
+++ calls.c (working copy
he below patch?
https://gcc.gnu.org/ml/gcc-patches/2016-10/msg01586.html
--
Eric Botcazou
This fixes a regression present on the mainline and 6 branch for the debug
info of character subtypes, whose bounds are output as signed instead of
unsigned values as per the language.
Tested on x86_64-suse-linux, applied on the mainline and 6 branch.
2016-12-07 Eric Botcazou
This was already the case for convention C.
Tested on x86_64-suse-linux, applied on the mainline.
2016-12-07 Eric Botcazou
* gcc-interface/decl.c (gnat_to_gnu_entity) : Translate
System.Address into ptr_type_node for every foreign convention
GDB cannot inspect renamings declared at library level when it relies on the
special __XR variable generated as per the GNAT encodings.
Tested on x86_64-suse-linux, applied on the mainline.
2016-12-07 Pierre-Marie de Rodat
* gcc-interface/decl.c (gnat_to_gnu_entity): When they are g
> Yes I rebuilt everything and now it all looks good. The previously
> failing testcases are now passing and no new regressions. I must have had
> something set incorrectly in my environment on my first try.
Thanks for confirming.
--
Eric Botcazou
; seems appropriate.
My opinion too. Note that Bernd E. has another solution though.
--
Eric Botcazou
/functexcept.cc. We use __N because the more traditional _N is used
// for something else under certain OSes (see BADNAMES).
#define __N(msgid) (msgid)
Tested on x86-64/Linux and SPARC/Solaris, applied on mainline as obvious.
2016-12-08 Eric Botcazou
PR libstdc++/78264
; this apparently
never happens with old reload, but does with LRA and is responsible for the
last couple of regressions in the testsuite in 32-bit mode.
Tested on SPARC/Solaris w/ and w/o -mlra, applied on the mainline.
2016-12-12 Eric Botcazou
* config/sparc/constraints.md (T
/ml/gcc-patches/2016-11/msg00568.html
Thanks in advance.
--
Eric Botcazou
didn't manage to break it so it is OK by me.
--
Eric Botcazou
ce in simplify_operand_subreg; this yields the
correct sequence of reloads for the case I investigated. The patch also
contains formatting fixes and adds a 'return' for the sake of clarity.
Tested on x86-64/Linux and SPARC/Solaris with LRA, OK for the mainline?
2016-12-13
ious LRA
patch I posted yesterday, it yields a clean C testsuite in 64-bit mode too.
--
Eric Botcazou
n point is also the
point where side effects are evaluated and you cannot let the gimplifier
randomly decide to evaluate them when it happens to see a pointer, because
really bad things may happen in that case.
--
Eric Botcazou
This adds -fno-vect-cost-model to the 6 relevant testcases.
Tested on x86_64-suse-linux, applied on the mainline.
2016-12-20 Eric Botcazou
PR testsuite/71237
* gnat.dg/vect1.adb: Add -fno-vect-cost-model to dg-options.
* gnat.dg/vect2.adb: Likewise.
* gnat.dg
This implements support in gigi for incomplete types in profiles introduced
in Ada 2012 and remove the various kludges present in the FE and gigi that
were added to make it work in the simple cases.
Tested on x86_64-suse-linux, applied on the mainline.
2016-04-27 Eric Botcazou
P = 0B;>>;
> < (void) ((*P)[0][0] = 1.0e+0) >>>>>;
> return = 0;
> }
>
> notice the lack of a decl-expr here. It has some weird expr_stmt
> here covering the sizes though. Possibly because VLA arrays are a GNU
> extension.
Indeed.
> Didn't look into the fortran FE issue but I expect it's similar
> (it only occurs for pointers to VLAs as well).
>
> I'll try to come up with patches.
>
> Thanks for the hint,
You're welcome.
--
Eric Botcazou
onto the
6 branch after bootstrapping/regtesting it there.
--
Eric Botcazou
It's a small pasto in one of the variants of Get_Immediate.
Tested on x86_64-suse-linux, applied on all active branches.
2016-04-28 Eric Botcazou
PR ada/70786
* a-textio.adb (Get_Immediate): Add missing 'not' in expression.
--
Eric Botcazou
Inde
was bootstrapped and regression tested on x86_64-linux-gnu {,-m32}.
How did you test it exactly?
=== acats tests ===
FAIL: c52103x
FAIL: c52104x
--
Eric Botcazou
> We can put it back, but prehaps implemented as unspec, so it won't
> interfere with peepholes?
No strong opinion, as long as the final assembly is the same as before.
--
Eric Botcazou
as operand of a DECL_EXPR (to avoid adding
> a 'TYPE_EXPR').
I agree that DECL_EXPR + TYPE_DECL is a bit heavy, but I'm not sure that the
benefit would be worth introducing the irregularity in the IL.
--
Eric Botcazou
CC error:|
| in extract_insn, at recog.c:2287 |
| Error detected around
/home/eric/svn/gcc/gcc/testsuite/gnat.dg/opt49.adb:31:4|
--
Eric Botcazou
A8])
(unspec:DI [
(const_int 0 [0])
] UNSPEC_PROBE_STACK))
(clobber (reg:CC 17 flags))
]) c52104y.adb:57 1005 {probe_stack_di}
(expr_list:REG_UNUSED (reg:CC 17 flags)
(nil)))
$1 = void
--
Eric Botcazou
with this one, thanks!
--
Eric Botcazou
> The attached patch removes excess stack space allocation with
> alloca in some situations. Plese check the commit message in the
> patch for details.
This might fix PR middle-end/50938.
--
Eric Botcazou
alues.
Bootstrapped on PowerPC/Linux, OK for the mainline?
2016-04-30 Eric Botcazou
* config/rs6000/rs6000.c (altivec_expand_lv_builtin): Do not use
switch statement on instruction code. Remove trailing spaces.
(altivec_expand_stv_builtin): Likewise.
--
Eric Botcazou
Unlike the gnat.dg testsuite, the ACATS testsuite doesn't use the newly built
gnatmake/gnatbind/gnatlink tools, which is rather inconsistent.
Fixed thusly, tested on x86_64-suse-linux, applied on the mainline.
2016-04-30 Eric Botcazou
* gcc-interface/Make-lang.in (ACATSCMD)
BASE ends up added to the PATH by gnatchop and therefore $BASE/gnat1 ends
up being invoked by $BASE/xgcc through the PATH...
--
Eric Botcazou
ntains an unrelated
micro-optimization for rtx_equal_for_cselib_p. Thoughts?
2016-05-02 Eric Botcazou
PR rtl-optimization/70886
* sched-deps.c (estimate_dep_weak): Canonicalize cselib values.
* cselib.h (rtx_equal_for_cselib_1): Declare.
(rtx_equal_for_cse
This is a small refactoring of the handling of ranges of values.
Tested on x86_64-suse-linux, applied on the mainline.
2016-05-02 Eric Botcazou
* gcc-interface/trans.c (Range_to_gnu): New static function.
(Raise_Error_to_gnu) : Call it to translate the range
This consistently passes NULL_TREE as operand #2 of COMPONENT_REF and #3 of
ARRAY_REF/ARRAY_RANGE_REF in gigi. There is no functional change since we
never build them with these operands in the first place.
Tested on x86_64-suse-linux, applied on the mainline.
2016-05-02 Eric Botcazou
t n)
> {
> struct S { struct R { int b[n]; } a[2]; int k; } s;
> s.k = 1;
> s.a[1].b[7] = 3;
> bar (&s);
> }
This only exposes the LHS case, here's a more complete testcase:
void bar (void *);
int foo (int n)
{
struct S { struct R { char b[n]; } a[2]; int k; } s;
s.k = 1;
s.a[1].b[7] = 3;
bar (&s);
return s.k;
}
--
Eric Botcazou
t, so I don't feel like messing
with that for a comparison failure on IA-64.
> I think this is OK.
Thanks.
--
Eric Botcazou
ions at -O, at least in simple cases. Of course -O0 is
also pessimized because CCP bit-tracking isn't enabled at -O0.
--
Eric Botcazou
08:00:38 +0100 (Wed, 06 Jan 2016)
Checksum: 33d89322bb3530f3c351968d9d127c6af002acf7
You cannot change any configure files without changing configure.ac.
--
Eric Botcazou
port of the scheduler, see the audit trail.
--
Eric Botcazou
> Given how many latent bugs it has shown up I think that alone would make
> it valuable to have enabled at -O2.
It might be worthwhile to test it on embedded architectures because modern x86
and PowerPC processors are probably not very sensitive to this kind of tweaks.
--
Eric Botcazou
ough preferred_rename_class or
another hook.
--
Eric Botcazou
> I.e. the proposed change below.
Applied on mainline and 6 branch. Please post patches as attachments instead
of plain text though, this avoids nasty surprises from mail readers.
--
Eric Botcazou
var_map_base_init is gone and all the machinery is now in tree-ssa-coalesce.c
(and the 2 functions have explicit back references to gimple_can_coalesce_p).
Tested on x86_64-suse-linux, applied on the mainline and 6 branch as obvious.
2016-05-04 Eric Botcazou
* tree-ssa-coalesce.c
inux64.h (OPTION_DEFAULT_SPECS): Add entries for
> cpu_32, cpu_64, tune_32 and tune_64.
Thanks, but we need at least the same change in config/sparc/sol2.h (and
possibly other files which cloned sol2.h like linux64.h).
--
Eric Botcazou
hat this patch resolves the issues he was seeing on
> Alpha, and I've bootstrapped and tested it on x86_64-linux. Ok?
OK, thanks. It might worthwhile to add a sentence somewhere (maybe at the end
of the head comment of the file) documenting the special treatment applied to
debug insns during the pass.
--
Eric Botcazou
n Ada it prevents subtypes from being coalesced with types and
in C++ it prevents different pointer types from being coalesced. Hence the
attached patch, which lifts the restriction in the optimized case.
Tested on x86_64-suse-linux, OK for the mainline?
2016-05-05 Eric Botcazou
scalarized.
Tested on PowerPC/Linux and x86-64/Linux, OK for mainline and 6 branch?
2016-05-07 Eric Botcazou
PR tree-optimization/70884
* tree-sra.c (initialize_constant_pool_replacements): Process all the
candidate variables.
2016-05-07 Eric Botcazou
* gcc.dg
nery,
- unwind_sjlj_unregister_libfunc, likewise.
abort_libfunc and memcmp_libfunc are set by VMS to something else than the
default but this looks like an optimization and can presumably be dropped.
Bootstrapped/regtested on x86-64/Linux and PowerPC/Linux, OK for mainline?
2016-05-10 Eric Botcazou
* builti
djustment?
The only related section I found is "17.12 Implicit Calls to Library Routines"
but there is nothing to change as far as I can see.
--
Eric Botcazou
correct or not.
Martin, are we sure to disable scalarization of constant_decl_p variables not
covered by initialize_constant_pool_replacements that way?
--
Eric Botcazou
nd GIMPLE stmts.
Yes, it's a bit unfortunate, but sensible. Maybe add a ??? note about that.
--
Eric Botcazou
Hi,
-fstack-usage issues the "not supported by this target" warning on naked
functions because the prologue routines do an early return for them.
Tested on arm-eabi, may I apply it on all active branches?
2016-05-16 Eric Botcazou
* config/arm/arm.c (arm_expand_prologue
This brings consistency to the way host tools are invoked when doing canadian
cross builds with Ada: gnattools was using host_alias and gcc/ada host, while
the most correct incantation is probably host_noncanonical.
Tested on x86_64-suse-linux, applied on the mainline.
2016-05-16 Eric
ponent_Size use 33;
for A2'Size use 264;
for A2'Alignment use 1;
for A2'Component_Size use 33;
Tested on x86_64-suse-linux, applied on the mainline.
2016-05-16 Eric Botcazou
* exp_util.adb (Remove_Side_Effects): Also make a constant if we need
t
A : Arr (1 .. 4);
for A'Alignment use 1;
end P;
Tested on x86_64-suse-linux, applied on the mainline.
2016-05-16 Eric Botcazou
* doc/gnat_rm/implementation_defined_attributes.rst
(Scalar_Storage_Order): Adjust restriction for packed array types.
* einfo.ad
mod 2**24;
for Int24'Size use 24;
type Arr is array (1 .. 8) of Int24;
for Arr'Size use 24 * 8;
end P;
Tested on x86_64-suse-linux, applied on the mainline.
2016-05-16 Eric Botcazou
* freeze.adb (Freeze_Array_Type): Call Addressable predicate instead
of t
ord;
for Rec3'Size use 3;
end P;
Tested on x86_64-suse-linux, applied on the mainline.
2016-05-16 Eric Botcazou
* freeze.adb (Freeze_Record_Type): Extend pragma Implicit_Packing to
components of any elementary types and of composite types.
--
Eric BotcazouIn
The transformation is either useless or counter-productive or even wrong.
Tested on x86_64-suse-linux, applied on the mainline.
2016-05-16 Eric Botcazou
* gcc-interface/decl.c (gnat_to_gnu_entity) : Do not
build a specific type for the object if it is deemed a constant
*logue insertion
> code) cares at all.
Are you sure of that? I agree that CLEANUP_EXPENSIVE might be overkill, but
can't cleanup_cfg expose more opportunities to have multiple epilogues?
--
Eric Botcazou
> I'm fine with renaming it to BIT_FIELD_INSERT_EXPR, maybe
> BIT_INSERT_EXPR then as it doesn't really have anything to do
> with "bitfields".
>
> Any preference?
BIT_INSERT_EXPR is fine with me.
--
Eric Botcazou
valuate the effects of the change on a set of sources.
--
Eric Botcazou
t one saying that this helps shrink-wrapping too.
--
Eric Botcazou
ehaving like them kind of makes sense I think.
--
Eric Botcazou
ed bits shall be fully inside the container. If the container
is of vector type, then these bits shall be aligned with its elements. */
DEFTREECODE (BIT_INSERT_EXPR, "bit_field_insert", tcc_expression, 3)
--
Eric Botcazou
nstant-pool SRA enhancement was intended, just to be sure.
Can you apply it now? It's a wrong-code regression on the 6 branch and people
can still chime it later in any case.
--
Eric Botcazou
the decompostion manually twice.
The Ada part is a tweak to expose more opportunities to VRP by removing casts.
Tested on x86_64-suse-linux, OK for the mainline?
2016-05-20 Eric Botcazou
* tree-vrp.c (compare_values_warnv): Simplify handling of symbolic
ranges by calling get_single_sym
YNAMIC_OFFSET)
if (1)
#else
if (STACK_POINTER_OFFSET)
#endif
{
must_align = true;
extra_align = BITS_PER_UNIT;
}
--
Eric Botcazou
of the STACK_DYNAMIC_OFFSET used in function.c
(it might depend on the size of the outgoing parameter lists, for
example), so we must preventively align the value. We leave space
in SIZE for the hole that might result from the alignment operation. */
--
Eric Botcazou
.
FWIW the Ada front-end (gigi) has always done that for its vector_type.
--
Eric Botcazou
st.
>
> Tested with a cross-compiler and ensured that the predicate was
> still accepting all (-)1 values. OK to install?
>
> Thanks,
> Richard
>
> gcc/
> * config/sparc/predicates.md (const_all_ones_operand): Use
> CONSTM1_RTX to simplify definition.
OK, thanks.
--
Eric Botcazou
cost of 6 either unconditionally or when the branch
> is not well predicted.
9 for UltraSPARC3, although this should probably be lowered if predictable_p.
--
Eric Botcazou
> Richard, Eric, any objections?
Do we really need to promote to 64-bit if TARGET_ARCH64? Most 32-bit
instructions are still available. Otherwise this looks good to me.
You need to update https://gcc.gnu.org/backends.html
--
Eric Botcazou
t: if the operand has side effects, you cannot
replace the entire comparison with just 'true' or 'false'.
* gnat.dg/overflow_sum3.adb: New test.
--
Eric Botcazou-- { dg-do run }
-- { dg-options "-gnato" }
procedure Overflow_Sum3 is
function Ident (
This just removes the problematic test. Applied on the mainline.
2015-09-12 Eric Botcazou
PR ada/66965
* gnat.dg/specs/addr1.ads: Remove.
--
Eric Botcazou
Self-explanatory, tested on visium-elf, applied on the mainline.
2015-09-13 Olivier Hainque
Eric Botcazou
* config.gcc (visium-*-*): Enable --with-cpu option, accept gr5 and
gr6 as possible values, defaulting to gr5. Set target_cpu_default2.
* config
The FPU of the GR5 doesn't preserve NaNs so the new signbit test added to
type-generic-1.c fails. Same as ARM for Wno-frame-address.c. The range of
offset in addresses is quite limited so there is one more IV in loop-8.c.
Tested on visium-elf, applied on the mainline.
2015-09-13
The assertion should accept all constructs built by Call_to_gnu.
Tested on x86_64-suse-linux, applied on the mainline.
2015-09-14 Eric Botcazou
* gcc-interface/utils2.c (gnat_rewrite_reference) : Add
another acceptable pattern for the RHS.
--
Eric BotcazouIndex: gcc
No functional changes, tested on x86_64-suse-linux, applied on the mainline.
2015-09-14 Eric Botcazou
* gcc-interface/gigi.h (ref_filename): Delete.
(Sloc_to_locus): Add clean_column parameter defaulting to false.
(build_call_raise): Adjust comment
We are phasing out the GNAT encoding scheme in the debugging information so
STABS is considered obsolete for Ada.
Tested on x86_64-suse-linux, applied on the mainline.
2015-09-14 Pierre-Marie de Rodat
* gcc-interface/misc.c (gnat_post_options): Issue a warning if
generating
front-end SJLJ scheme used up
to now in Ada, it's not sufficient for the middle-end SJLJ scheme that we are
experimenting with; you need 8K on some platforms to pass the ACATS testsuite.
Tested on x86_64-suse-linux, OK for the mainline?
2015-09-14 Eric Botcazou
> return res;
>
> note that genmatch "inlines" omit_one_operand, so you only see
> fold_ignored_result here.
I see, then for some reason TREE_SIDE_EFFECTS is not set here.
--
Eric Botcazou
18
> 8819 /* GNU_RESULT has side effects if and only if GNU_EXPR has:
> 8820 we don't need to evaluate it just for the check. */
> 8821 TREE_SIDE_EFFECTS (gnu_result) = TREE_SIDE_EFFECTS (gnu_expr);
> 8822
> 8823 return gnu_result;
> 8824}
That's old code and the comment makes it quite clear why this is done though.
--
Eric Botcazou
(which is also run at -O0) can remove the cleanups.
Tested on x86_64-suse-linux, OK for the mainline?
2015-09-14 Eric Botcazou
* tree-eh.c (lower_try_finally_dup_block): Clear location information
on stack restore statements.
(decide_copy_try_finally): Do not consider a
stead the implementation of the 11.6 clause should rely purely on the
optimizers and -fdelete-dead-exceptions.
Thanks for your help to analyze this.
--
Eric Botcazou
tion on
a stack overflow in any language with the middle-end SJLJ scheme, the current
setting is definitely not sufficient and you'll get a crash during unwinding.
--
Eric Botcazou
-11-03 Eric Botcazou
* defaults.h (LOAD_EXTEND_OP): Define if not already defined.
* combine.c (LOAD_EXTEND_OP): Delete.
(simplify_comparison): Fix comment on LOAD_EXTEND_OP.
* cse.c (LOAD_EXTEND_OP): Delete.
* fold-const.c (LOAD_EXTEND_OP): Likewise
> Are there any plans to switch the SPARC GCC to LRA for GCC 7 or later?
There are plans to switch SPARC to LRA at some point, but no ETA.
--
Eric Botcazou
Tested on x86-64/Linux, applied on the mainline as obvious.
2016-11-04 Eric Botcazou
* expr.h (copy_blkmode_from_reg): Delete.
* expr.c (copy_blkmode_from_reg): Make static.
--
Eric BotcazouIndex: expr.c
> Now you don't need to have a special pool to call create_TOC_reference, you
> can call it for regular TOC references as well, as done a few lines above:
>
> /* If this is a SYMBOL_REF that refers to a constant pool entry,
>and we have put it in the TOC, we just need to make a TOC-r
ed on x86-64/Linux and SPARC/Solaris.
2016-11-07 Eric Botcazou
PR rtl-optimization/59461
* doc/rtl.texi (paradoxical subregs): Add missing word.
* combine.c (reg_nonzero_bits_for_combine): Do not discard results
in modes with precision larger than that of last_set
function);
> did you mean 'SAIT'?
>
> else if (sig == SIGINT)
> ^~
>
> Bootstrapped successfully on x86_64-w64-mingw32.
Thanks for fixing the problem!
--
Eric Botcazou
, e.g. by means
of last_set_label, or something more involved?
--
Eric Botcazou
order
if it goes in. I'd still think that we should try to invalidate if possible.
--
Eric Botcazou
> This also eliminate quite a few zero-extensions in the compile.exp testsuite
> at -O2 on the SPARC. Tested on x86-64/Linux and SPARC/Solaris.
>
>
> 2016-11-07 Eric Botcazou
>
> PR rtl-optimization/59461
> * doc/rtl.texi (paradoxical su
vious.
2016-11-13 Eric Botcazou
* ipa-icf.c (sem_function::merge): Do not create a wrapper also if the
original function needs a static chain.
2016-11-13 Eric Botcazou
* gnat.dg/lto21.adb: New test.
* gnat.dg/lto21_pkg1.ads: New helper.
* gnat.
This happens with the C++ compiler only.
Tested on x86_64-suse-linux, applied on the mainline.
2016-11-13 Eric Botcazou
c-family/
* c-ada-spec.c (print_ada_declaration): For typedef declarations, look
for nested types only if the type is a record or union and dump SLOC
This is a regression present on the mainline and 6 branch: the compiler ICEs
in the gimplifier on a double renaming with a chain of access types because
there is a orphaned PLACEHOLDER_EXPR.
Tested on x86_64-suse-linux, applied on the mainline and 6 branch.
2016-11-13 Eric Botcazou
gigi cannot back-annotate negative values in expressions for the front-end
directly because only non-negative values are supported directly.
Fixed thusly, tested on x86_64-suse-linux, applied on the mainline.
2016-11-13 Eric Botcazou
* gcc-interface/decl.c (annotate_value) : Deal
This occurs because System.Address is a private type so you need to invoke
Underlying_Type before testing whether it is unsigned.
Fixed thusly, tested on x86_64-suse-linux, applied on the mainline.
2016-11-13 Eric Botcazou
* gcc-interface/decl.c (gnat_to_gnu_entity):
Look
Tested on x86_64-suse-linux, applied on all active branches.
2016-11-13 Bob Duff
* gcc-interface/decl.c (gnat_to_gnu_entity): In assertion about known
Esize, protect with !is_type and change !Unknown_Esize to Known_Esize.
--
Eric BotcazouIndex: gcc-interface/decl.c
=
2501 - 2600 of 4611 matches
Mail list logo