[patch v2] Get rid of stack trampolines for nested functions (3/4)

2016-09-04 Thread Eric Botcazou
Alpha, MIPS, PA). 2016-07-04 Eric Botcazou * config/aarch64/aarch64.h(TARGET_CUSTOM_FUNCTION_DESCRIPTORS):Define * config/alpha/alpha.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS):Likewise. * config/arm/arm.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Likewise. * config/arm/

[patch v2] Get rid of stack trampolines for nested functions (4/4)

2016-09-04 Thread Eric Botcazou
This is the couple of testcases for the gnat.dg testsuite. They test for the presence of the GNU-stack executable marker in the assembly file on Linux. 2016-07-04 Eric Botcazou * gnat.dg/trampoline3.adb: New test. * gnat.dg/trampoline4.adb: Likewise. -- Eric BotcazouIndex

Re: [PATCH 3/4][Ada,DJGPP] Ada support for DJGPP

2016-09-04 Thread Eric Botcazou
> Attached output is from last test build (r239639 with DJGPP related patches > applied, last version of patches for Ada). Very strange error, line 28 of gtype-ada.h is supposed to have a guard for nodes containing the 'common' structure. Can you post an excerpt of the file? -- Eric Botcazou

Fix ICE in factor_out_conditional_conversion

2016-05-25 Thread Eric Botcazou
on the mainline and 6 branch as obvious. 2016-05-25 Eric Botcazou * tree-ssa-phiopt.c (factor_out_conditional_conversion): Remove redundant test and bail out if the type of the new operand is not a GIMPLE register type after stripping a VIEW_CONVERT_EXPR. 2016-05

Re: [SPARC] Support for --with-{cpu,tune}-{32,64} in sparc*-* targets

2016-05-27 Thread Eric Botcazou
; support on SPARC. > * config/sparc/linux64.h (OPTION_DEFAULT_SPECS): Add entries for > cpu_32, cpu_64, tune_32 and tune_64. > * config/sparc/sol2.h (OPTION_DEFAULT_SPECS): Likewise. OK for mainline, thanks. -- Eric Botcazou

[visium] Split DImode arithmetical operations

2016-05-27 Thread Eric Botcazou
This makes it so that DImode arithmetical operations are split into a pair of SImode operations in order to enable better scheduling. Tested on visium-elf, applied on the mainline and 6 branch. 2016-05-27 Eric Botcazou * config/visium/visium-protos.h (split_double_move): Rename

Re: [visium] Split DImode arithmetical operations

2016-05-30 Thread Eric Botcazou
> This makes it so that DImode arithmetical operations are split into a pair > of SImode operations in order to enable better scheduling. > > Tested on visium-elf, applied on the mainline and 6 branch. A minor follow-up, applied on the mainline and 6 branch. 2016-05-30 E

[patch] Fix segfault in vectorizer

2016-05-31 Thread Eric Botcazou
are somehow treated specially, so the proposed fix does the same in vectorizable_reduction (and is probably a no-op except for Ada because of the precision test). Tested on x86_64-suse-linux, OK for mainline and 6 branch? 2016-05-31 Eric Botcazou * tree-vect-loop.c (vectorizable_reduction): Also

Re: [patch] Fix segfault in vectorizer

2016-05-31 Thread Eric Botcazou
_scope, vectorizable = true, gather_scatter_p = false, strided_p = false, simd_lane_access_p = false, v_reduc_type = TREE_CODE_REDUCTION, num_slp_uses = 0} -- Eric Botcazou

Re: [patch] Fix segfault in vectorizer

2016-05-31 Thread Eric Botcazou
:29: note: not vectorized: different sized masks types in statement, vector(16) unsigned char and vector(4) opt56.adb:9:29: note: can't determine vectorization factor. opt56.adb:6:4: note: vectorized 0 loops in function. -- Eric Botcazou

Re: [patch] Fix segfault in vectorizer

2016-05-31 Thread Eric Botcazou
ion. OK for mainline and 6 branch? 2016-05-31 Eric Botcazou * tree-vect-loop.c (vect_determine_vectorization_factor): Also take into account live statements for mask producers. 2016-05-31 Eric Botcazou * gnat.dg/opt56.ad[sb]: New te

Re: [PATCH] Fix missing/wrong function declaration in s-osinte-rtems.ads (ada/71317)

2016-05-31 Thread Eric Botcazou
review > process please commit them. Patches applied on mainline and 6 branch, but not on the 5 branch since the signature of Get_Page_Size is correct there. -- Eric Botcazou

Re: [PATCH] Fix missing/wrong function declaration in s-osinte-rtems.ads (ada/71317)

2016-05-31 Thread Eric Botcazou
> I attached a patch for 5 branch which will only add the > clock_getres-function. Thanks, applied too. -- Eric Botcazou

Re: [PATCH] Support for SPARC M7 and VIS 4.0

2016-06-01 Thread Eric Botcazou
bution to plug the hole is of course welcome. :-) > @@ -8628,6 +8678,14 @@ >"fp64\t%1, %2, %0" >[(set_attr "type" "fga")]) > > +(define_insn "v8qi3" > + [(set (match_operand:V8QI 0 "register_operand" "=e") > +(plusminus:V8QI (match_operand:V8QI 1 "register_operand" "e") > +(match_operand:V8QI 2 "register_operand" "e")))] > + "TARGET_VIS4" > + "fp8\t%1, %2, %0" > + [(set_attr "type" "fga")]) > + > (define_mode_iterator VASS [V4HI V2SI V2HI V1SI]) > (define_code_iterator vis3_addsub_ss [ss_plus ss_minus]) > (define_code_attr vis3_addsub_ss_insn Trailing spaces. > +(define_insn "v8qi3" > + [(set (match_operand:V8QI 0 "register_operand" "=e") > +(vis3_addsub_ss:V8QI (match_operand:V8QI 1 "register_operand" "e") > + (match_operand:V8QI 2 "register_operand" > "e")))] + "TARGET_VIS4" > + "8\t%1, %2, %0" > + [(set_attr "type" "fga")]) If the mix of VIS4 and vis3_ is correct, then this requires a comment. -- Eric Botcazou

Re: [patch] Fix segfault in vectorizer

2016-06-01 Thread Eric Botcazou
|| STMT_VINFO_LIVE_P (stmt_info)) { gcc_assert (!STMT_VINFO_VECTYPE (stmt_info)); scalar_type = TREE_TYPE (PHI_RESULT (phi)); -- Eric Botcazou

Re: [PATCH] Support for SPARC M7 and VIS 4.0

2016-06-02 Thread Eric Botcazou
other points you raised. > Thanks! You're welcome. And if you want to have commit rights to the SVN repository, you can put me as your sponsor (Eric Botcazou ). -- Eric Botcazou

Re: [PATCH v1] Support for SPARC M7 and VIS 4.0

2016-06-03 Thread Eric Botcazou
VIS4 builtins. > > gcc/testsuite/ChangeLog: > > * gcc.target/sparc/vis4misc.c: New file. > * gcc.target/sparc/fpcmp.c: Likewise. > * gcc.target/sparc/fpcmpu.c: Likewise. OK for mainline, thanks. As mentioned yesterday, I think that we should also put it on the 6 branch, but I can do the backport myself. -- Eric Botcazou

[Ada] Fix minor glitches related to subprogram declarations

2016-06-06 Thread Eric Botcazou
change. Tested on x86_64-suse-linux, applied on the mainline. 2016-06-06 Eric Botcazou * exp_ch9.adb (Expand_N_Protected_Type_Declaration): Insert the declaration of the corresponding record type before that of the unprotected version of the subprograms that operate on it

[Ada] Follow-up work for AI05-0151 (incomplete types in profiles)

2016-06-06 Thread Eric Botcazou
function symbols on Windows. Tested on x86_64-suse-linux, applied on the mainline. 2016-06-06 Eric Botcazou * gcc-interface/gigi.h (finish_subprog_decl): Add ASM_NAME parameter. * gcc-interface/decl.c (gnu_ext_name_for_subprog): New function. (gnat_to_gnu_entity) : Do not

[Ada] Remove deferred freezing of subprograms in Freeze_Entity

2016-06-06 Thread Eric Botcazou
e new elaboration model implements both AIs so the mechanism is obsolete. No functional change. Tested on x86_64-suse-linux, applied on the mainline. 2016-06-06 Eric Botcazou * einfo.ads (Returns_Limited_View): Remove. (Set_Returns_Limited_View ): Likewise. * einf

[Ada] Small adjustments in handling of subprograms

2016-06-06 Thread Eric Botcazou
No functional change. Tested on x86_64-suse-linux, applied on the mainline. 2016-06-06 Eric Botcazou * gcc-interface/decl.c (gnat_to_gnu_entity) : Remove useless 'else' statements and tidy up. : Fully deal with the declaration here. : Use prop

[Ada] Fix single-stepping regression with tagged types

2016-06-06 Thread Eric Botcazou
This ensures that we don't import an artificial location from the spec when an object of a tagged type is elaborated. Tested on x86_64-suse-linux, applied on the mainline. 2016-06-06 Eric Botcazou * gcc-interface/trans.c (gnat_to_gnu): Rework special code dealing

[Ada] Fix double elaboration of qualified expression in allocator

2016-06-06 Thread Eric Botcazou
This is a regression present on the mainline and 6 branch: under some peculiar circumstances, the qualified expression of an allocator can be elaborated twice by gigi. Tested on x86_64-suse-linux, applied on the mainline and 6 branch. 2016-06-06 Eric Botcazou * gcc-interface

[Ada] Add support for noinline and noclone attributes

2016-06-06 Thread Eric Botcazou
They are automatically set by the middle-end when the interrupt attribute is. Tested on x86_64-suse-linux, applied on the mainline and 6 branch. 2016-06-06 Eric Botcazou * gcc-interface/utils.c (gnat_internal_attribute_table): Add support for noinline and noclone attributes

[Ada] Make Gigi_Equivalent_Type idempotent

2016-06-06 Thread Eric Botcazou
This fixes a small regression in ASIS mode introduced by the new elaboration model for subprograms. Tested on x86_64-suse-linux, applied on the mainline. 2016-06-06 Eric Botcazou * gcc-interface/decl.c (Gigi_Equivalent_Type): Make sure equivalent types are present before

Re: [PATCH 1/2][v3] Drop excess size used for run time allocated stack variables.

2016-06-08 Thread Eric Botcazou
llocate_dynamic_stack_space" subthread, I think that the real issue is STACK_DYNAMIC_OFFSET. -- Eric Botcazou

Re: [PATCH 0/9] separate shrink-wrapping

2016-06-08 Thread Eric Botcazou
> Is the usage of the word "concern" here standard for this kind of thing? > It seems odd somehow but maybe that's just me. No, I find it quite odd too. -- Eric Botcazou

Re: [PATCH v1] Support for SPARC M7 and VIS 4.0

2016-06-08 Thread Eric Botcazou
> Committed to trunk. Thanks. You're welcome. Now backported onto the 6 branch, together with your previous patch for --with-cpu-{32,64}. I have also attached an update for the wwwdocs module, OK to install? -- Eric BotcazouIndex: gcc-6/changes.html ==

Re: [PATCH][SPARC] Fix cpu auto-detection in M7 and S7 (Sonoma)

2016-06-08 Thread Eric Botcazou
linux-gnu, sparcv9-*-linux-gnu and > sparc-sun-solaris2.11 targets. > > 2016-06-08 Jose E. Marchesi > > * config/sparc/driver-sparc.c (cpu_names): Fix the entry for the > SPARC-M7 and add an entry for SPARC-S7 cpus (Sonoma). OK, but it needs to be applied both on mainline and 6 branch. -- Eric Botcazou

Re: [PATCH][SPARC] Fix cpu auto-detection in M7 and S7 (Sonoma)

2016-06-08 Thread Eric Botcazou
> No problem. Do I need the approval of a maintainer in particular for > commits in the 6 branch? No, maintainers can approve patches for branches outside of release periods. -- Eric Botcazou

Minor tweak to df_note_bb_compute

2016-06-09 Thread Eric Botcazou
-06-09 Eric Botcazou * df-problems.c (df_note_bb_compute): Guard use of DF_INSN_INFO_GET. -- Eric BotcazouIndex: df-problems.c === --- df-problems.c (revision 237165) +++ df-problems.c (working copy) @@ -3498,13 +3498,13

Re: [PING] [PATCH] c/71392 - SEGV calling integer overflow built-ins with a null pointer

2016-06-11 Thread Eric Botcazou
erface/utils.c (handle_nonnull_attribute): ... gcc/c-family/ChangeLog: PR c/71392 * c-common.c (handle_nonnull_attribute):... gcc/lto/ChangeLog: PR c/71392 * lto-lang.c (handle_nonnull_attribute): ... -- Eric Botcazou

[Ada] Fix small oversight for unconstrained array types

2016-06-11 Thread Eric Botcazou
This fixes a small oversight introduced in gigi some time ago, whereby the UNCONSTRAINED_ARRAY_TYPE object created for unconstrained array types gets the XUT suffix like the associate RECORD_TYPE. Tested on x86_64-suse-linux, applied on the mainline and 6 branch. 2016-06-11 Pierre-Marie de Ro

[Ada] Fix wrong code for case statement on character

2016-06-11 Thread Eric Botcazou
and 6 branch. 2016-06-11 Eric Botcazou * gcc-interface/trans.c (Case_Statement_to_gnu): Deal with characters. 2016-06-11 Eric Botcazou * gnat.dg/case_character.adb: New test. -- Eric BotcazouIndex: gcc-interface/trans.c

[Ada] Use new middle-end support for overflow checking

2016-06-11 Thread Eric Botcazou
support. Tested on x86_64-suse-linux, applied on the mainline. 2016-06-11 Eric Botcazou * gcc-interface/trans.c (build_binary_op_trapv): If no operand is a constant, use the generic implementation of the middle-end; otherwise turn the dynamic conditions into static

[Ada] Improve alignment computation for allocators

2016-06-13 Thread Eric Botcazou
Allocators return pointer to void internally so the derived alignment is the minimal one for known_alignment, although we know that it's always larger. Tested on x86_64-suse-linux, applied on the mainline. 2016-06-13 Eric Botcazou * gcc-interface/utils2.c (known_alignment) :

[Ada] Fix ICE on renaming of 'Pred or 'Succ attribute

2016-06-13 Thread Eric Botcazou
This is a regression present on the mainline and 6 branch: the compiler stops on the renaming of the 'Pred or 'Succ attribute of a fixed-point type. Tested on x86_64-suse-linux, applied on the mainline and 6 branch. 2016-06-13 Eric Botcazou * gcc-interf

[Ada] Fix annoying oversight in elaboration of subprograms

2016-06-13 Thread Eric Botcazou
the mainline. 2016-06-13 Eric Botcazou * gcc-interface/decl.c (gnat_to_gnu_subprog_type): Build only minimal PARM_DECL when the parameter type is dummy. * gcc-interface/trans.c (Call_to_gnu): Translate formal types before formal objects. -- Eric BotcazouIndex

Fix oversight in vn_reference_lookup_3

2016-06-13 Thread Eric Botcazou
d B., applied on the mainline and 6 branch. 2016-06-13 Eric Botcazou * tree-ssa-sccvn.c (vn_reference_lookup_3): Use a uniform test and update shared_lookup_references only once after changing operands. -- Eric BotcazouIndex: tree-ssa-sccvn.c =

Fix PR bootstrap/71435

2016-06-18 Thread Eric Botcazou
the compiler proper without the special option of PR bootstrap/71435. Bootstrapped/regtested on SPARC/Solaris and Linux, applied on the mainline. 2016-06-18 Eric Botcazou PR bootstrap/71435 * reload1.c (reload): Pass 0 to finish_spills when called because

Re: [PATCH][typo] alignement -> alignment

2016-06-21 Thread Eric Botcazou
> Committing the attached typo fix as obvious (I believe "alignement" is the > French form). You are right. -- Eric Botcazou

Canonicalize ASM_OPERANDS inside PARALLEL during CSE

2016-06-21 Thread Eric Botcazou
automatically clobber the CC register for inline assembly statements, for example Visium and x86. Tested on x86_64-suse-linux, applied on the mainline. 2016-06-21 Eric Botcazou * cse.c (canon_asm_operands): New function extracted from... (canonicalize_insn): ...here. Call it to

[Ada] clean up handling of DECL_ORIGINAL_TYPE in gigi

2016-06-21 Thread Eric Botcazou
-suse-linux, applied on the mainline, as obvious for the verify_type_variant hunk. 2016-06-21 Eric Botcazou * tree.c (verify_type_variant): Skip TYPE_SIZE and TYPE_SIZE_UNIT if they are both PLACEHOLDER_EXPRs. ada/ * gcc-interface/d

[patch] Fix problematic debug info for parameters at -O0

2016-06-22 Thread Eric Botcazou
on x86_64-suse-linux, OK for the mainline? What about the release branches (5 & 6 are affected), is the issue worth fixing there too? 2016-06-22 Eric Botcazou * function.c (assign_parm_setup_reg): Prevent sharing in another case. -- Eric Botcazo

[patch] preserve DECL_ORIGINAL_TYPE invariant in remap_decl

2016-06-22 Thread Eric Botcazou
remap_decl, which appears to work and is sufficient to fix the aforementioned bootstrap. Tested on x86_64-suse-linux, OK for the mainline? 2016-06-22 Eric Botcazou * tree-inline.c (remap_decl): Preserve DECL_ORIGINAL_TYPE invariant. -- Eric BotcazouIn

Re: [patch] Fix problematic debug info for parameters at -O0

2016-06-22 Thread Eric Botcazou
, on RISC architectures, it is not legitimate and the address is rewritten. Can this me mimiced on x86? -- Eric Botcazou

Re: [patch] Fix problematic debug info for parameters at -O0

2016-06-22 Thread Eric Botcazou
> The testcase doesn't necessarily need to FAIL without the patch on x86, it > is fine if it fails on some PowerPC* or Visium. Well, the value of a guality test that isn't exercised on x86 is close to 0, but I can try on PowerPC indeed. -- Eric Botcazou

Re: [patch] Fix problematic debug info for parameters at -O0

2016-06-22 Thread Eric Botcazou
5.c:26 #1 0x150c in foo ( str=, count=1) at param-5.c:24 #2 0x1590 in main () at param-5.c:33 2016-06-22 Eric Botcazou * function.c (assign_parm_setup_reg): Prevent sharing in another case. 2016-06-22 Eric Botcazou * gcc.dg/guality/param-5.c

Re: [patch] Fix problematic debug info for parameters at -O0

2016-06-22 Thread Eric Botcazou
> Do you really need the memset in there to reproduce it? > Wouldn't asm volatile ("" : : "r" (&a[0]) : "memory"); > or something similar be enough? Or if you need to clear something, > clear much smaller part of the array? Probably only the 128 first bytes, will change that. -- Eric Botcazou

Re: [PATCH] Do not emit SAVE_EXPR for already assigned SSA_NAMEs (PR71606).

2016-06-23 Thread Eric Botcazou
ME is weird. How does this happen? -- Eric Botcazou

Re: [PATCH] Do not emit SAVE_EXPR for already assigned SSA_NAMEs (PR71606).

2016-06-23 Thread Eric Botcazou
lified trees. Are you confounding it with something else? Because save_expr is definitely not a gimplifier function, it's mostly used to build GENERIC trees. That being said, I can imagine it being invoked from the gimplifier, but I'd like to see the backtrace. -- Eric Botcazou

Re: [patch] preserve DECL_ORIGINAL_TYPE invariant in remap_decl

2016-06-24 Thread Eric Botcazou
. Fixed by attached patchlet, tested on x86_64-suse-linux, applied as obvious. 2016-06-24 Eric Botcazou PR debug/71642 * tree-inline.c (remap_decl): When fixing up DECL_ORIGINAL_TYPE, just copy the type name. 2016-06-24 Eric Botcazou * gfortran.dg/pr71642.f9

[Ada] translate System.Address as void pointer for convention C

2016-06-29 Thread Eric Botcazou
sted some time ago that System.Address be translated as void pointer for convention C in order to address this issue. Tested on x86_64-suse-linux, applied on the mainline. 2016-06-29 Eric Botcazou PR ada/48835 PR ada/61954 * gcc-interface/gigi.h (enum standard_datat

Re: Minor tweak to df_note_bb_compute

2016-06-29 Thread Eric Botcazou
on the mainline as obvious. > > > 2016-06-09 Eric Botcazou > > * df-problems.c (df_note_bb_compute): Guard use of DF_INSN_INFO_GET. I have backported it onto the 6 branch because we got segfaults for a cross- compiler hosted on Windows triggered by the invalid read. -- Eric Botcazou

[patch] Fix PR debug/82509

2017-10-12 Thread Eric Botcazou
the 7 branch? 2017-10-12 Eric Botcazou PR debug/82509 * dwarf2out.c (base_type_die): Remove early return for corner cases. Allocate the new DIE manually and do not call add_pubtype on it. (is_base_type): Remove ERROR_MARK and return 0 for VOID_TYPE

Re: [PATCH][compare-elim] Merge zero-comparisons with normal ops

2017-10-14 Thread Eric Botcazou
pass will be slower for absolutely no benefits, as the existing implementation would already have caught all the interesting cases. So it's again a case of a generic change made for a specific target without consideration for other, admittedly less mainstream, targets... -- Eric Botcazou

[patch] Enhance support for -Wstack-usage/-Wvla-larger-than/-Walloca-larger-than

2017-10-16 Thread Eric Botcazou
take into account the upper bound, if it exists. Bootstrapped/regtested on x86_64-suse-linux, OK for the mainline? 2017-10-16 Eric Botcazou * asan.c (handle_builtin_alloca): Deal with all alloca variants. (get_mem_refs_of_builtin_call): Likewise. *

[patch] Relax IVOPTs restriction on auto-increment

2017-10-17 Thread Eric Botcazou
iv->base, iv->step, true, use); So the attached patch replaces it with stmt_can_throw_internal (which is the predicate used to compute the flow of control) as e.g. in the vectorizer. Bootstrapped/regtested on PowerPC64/Linux, OK for the mainline? 2017-10-17 Eric Botcazou * tree

Re: [PATCH][compare-elim] Merge zero-comparisons with normal ops

2017-10-17 Thread Eric Botcazou
; + default: gcc_unreachable (); -- Eric Botcazou

Re: Unbreak Ada bootstrap (was Re: [PATCH PR/82546] tree node size)

2017-10-17 Thread Eric Botcazou
* gcc-interface/misc.c (gnat_tree_size): New function. > (LANG_HOOKS_TREE_SIZE): Redefine. OK, thanks. -- Eric Botcazou

[Visium] Fix build breakage

2017-10-17 Thread Eric Botcazou
on visium-elf, applied on the mainline. 2017-10-17 Eric Botcazou * config/visium/visium.c (visium_select_cc_mode): Return CCmode for any RTX present on the RHS of a SET. * compare-elim.c (try_eliminate_compare): Restore comment. -- Eric BotcazouIndex: config/visium

[testsuite] UnXFAIL gcc.dg/attr-alloc_size-11.c on Visium

2017-10-17 Thread Eric Botcazou
Tested on visium-elf, applied on the mainline and 7 branch. 2017-10-17 Eric Botcazou * gcc.dg/attr-alloc_size-11.c: UnXFAIL for visium-*-*. -- Eric BotcazouIndex: gcc.dg/attr-alloc_size-11.c === --- gcc.dg/attr

Re: [patch] Fix PR debug/82509

2017-10-18 Thread Eric Botcazou
> Hmm. It makes tracking DIE builds difficult now that not all allocations go > through new_die anymore. I wouldn't have created such a precedent though, IOW there is nothing new. > Can you instead split out a new_die_raw > function with just the allocation and the die_tag initialization? Or ma

Re: [PATCH PR/82546] tree node size

2017-10-18 Thread Eric Botcazou
r the specific treatment in gen_type_die_with_usage for DW_TAG_unspecified_type, so very minor. -- Eric Botcazou

Re: [PATCH][compare-elim] Merge zero-comparisons with normal ops

2017-10-18 Thread Eric Botcazou
> Are we in agreement that I should revert the patch? I think that you can leave it for now in order to have some feedback (see for example PR rtl-optimization/82597) but ideally it should be rewritten so as to reuse the existing infrastructure of the pass. -- Eric Botcazou

Re: [patch] Enhance support for -Wstack-usage/-Wvla-larger-than/-Walloca-larger-than

2017-10-19 Thread Eric Botcazou
h is when 16 will be used. So at least for accounting always use MIN > (size, max_size)? The implementation is in keeping with the above documentation, i.e. SIZE will prevail if its value can be computed at compile time. -- Eric Botcazou

Fix Ada bootstrap issue

2017-10-20 Thread Eric Botcazou
Because of the recent reorganization of the ada/ directory, the check for the presence of a working Ada compiler fails in stage #2 and later if you don't have a compiler already installed in the --prefix directory. Bootstrapped on x86_64-suse-linux, applied on the mainline. 2017-10-20 Nicolas

[Ada] Fix ICE on discriminated record type with -O

2017-10-21 Thread Eric Botcazou
The compiler aborts on an aggregate of a record type which contains a private discriminated record type with default as a subcomponent, when the unit is compiled with optimization. Tested on x86_64-suse-linux, applied on the mainline. 2017-10-21 Eric Botcazou * gcc-interface

[patch] Fix PR middle-end/82569

2017-10-23 Thread Eric Botcazou
for gcc.c-torture/compile: 49 files changed, 1243 insertions(+), 1694 deletions(-) probably because the compiler can now infer values on paths from entry where variables are uninitialized. Tested on PowerPC64/Linux, OK for the mainline? 2017-10-23 Eric Botcazou PR middle-end/82569

Re: [000/nnn] poly_int: representation of runtime offsets and sizes

2017-10-24 Thread Eric Botcazou
&& (bitpos == 0 || MEM_P (target))) + && (known_zero (bitpos) || MEM_P (target))) - && bitsize == TYPE_PRECISION (type)) + && must_eq (bitsize, TYPE_PRECISION (type))) - if (need_to_clear && size > 0) + if (need_to_clear && may_gt (size, 0)) is really ugly... -- Eric Botcazou

Re: [000/nnn] poly_int: representation of runtime offsets and sizes

2017-10-24 Thread Eric Botcazou
cases fall in the must category, that could be less ugly. > Sorry about that. It's the best I could come up with without losing > the may/must distinction. Which variant is known_zero though? Must or may? -- Eric Botcazou

Fix PR middle-end/82062

2017-10-25 Thread Eric Botcazou
ave that to specialists. Bootstrapped/regtested on x86_64-suse-linux, approved by Richard B. in the audit trail of the PR, applied on the mainline. 2017-10-25 Eric Botcazou PR middle-end/82062 * fold-const.c (operand_equal_for_comparison_p): Also return true if ARG0 is a simple

Re: [09/nn] Add a fixed_size_mode_pod class

2017-10-26 Thread Eric Botcazou
> Can you figure what oldest GCC release supports the C++11/14 POD handling > that would be required? GCC needs to be buildable by other compilers than itself though. -- Eric Botcazou

Re: [PATCH] Change default optimization level to -Og

2017-10-26 Thread Eric Botcazou
ewise. > So a -O option is always required for compilation. For compiler hackers only though. For normal users, -O0 is still the only level where you're guaranteed to be able to do full source debugging. -- Eric Botcazou

Fix basic block reordering glitches

2017-10-26 Thread Eric Botcazou
he same check on the BB_PARTITION of the blocks is done in find_traces_1_round). Bootstrapped/regtested on x86_64-suse-linux. Any objection? 2017-10-26 Eric Botcazou * bb-reorder.c (find_traces_1_round): Fix off-by-one index. Move around comment. Do not reset best_edg

Re: [09/nn] Add a fixed_size_mode_pod class

2017-10-27 Thread Eric Botcazou
uot; I think that the major supported compilers are IBM, Sun/Oracle and LLVM. -- Eric Botcazou

Re: [09/nn] Add a fixed_size_mode_pod class

2017-10-30 Thread Eric Botcazou
enter the business of precompiled binaries. Moreover, if we want people to contribute to GCC's development, especially occasionally to fix a couple of bugs, we need to make it easier to build the compiler, not the other way around. -- Eric Botcazou

[patch] Remove old kludge in gcc.c

2017-10-30 Thread Eric Botcazou
X #endif HOST_EXECUTABLE_SUFFIX and TARGET_EXECUTABLE_SUFFIX are defined only for VMS and DOS/Windows. The effect is that ".exe" is forced on executables for these targets only if they are built as native and not if they are built as cross. OK for the mainline? 2017-10

Re: [09/nn] Add a fixed_size_mode_pod class

2017-10-31 Thread Eric Botcazou
need bleeding edge C++ features to build a compiler and people don't work on compilers to use bleeding edge C++. Using a narrow and sensible set of C++ features was one of the conditions under which the switch to C++ as implementation language was accepted at the time. -- Eric Botcazou

[Ada] Fix PR ada/82785

2017-10-31 Thread Eric Botcazou
Small typo libgnarl->libgnat. Applied on the mainline. 2017-10-31 Eric Botcazou PR ada/82785 * gcc-interface/Makefile.in (m68k/Linux): Fix typo. -- Eric BotcazouIndex: gcc-interface/Makefile.in === ---

Fix PR rtl-optimization/81803

2017-10-31 Thread Eric Botcazou
-10-31 Matthew Fortune Eric Botcazou PR rtl-optimization/81803 * lra-constraints.c (curr_insn_transform): Also reload the whole register for a strict subreg no wider than a word if this is for a WORD_REGISTER_OPERATIONS target. -- Eric BotcazouIndex: lr

Re: [PATCH][compare-elim] Fix PR rtl-optimization/82597

2017-11-01 Thread Eric Botcazou
n_a_setter instead of walking UD > chains. > > * g++.dg/opt/pr82778.C: New test. > > 2017-10-31 Michael Collison > > PR rtl-optimization/82597 > * gcc.dg/pr82597.c: New test. That's a clear progress, but the patch doesn't fully get rid of use-def and def-use chains, does it? -- Eric Botcazou

Re: [PATCH][compare-elim] Fix PR rtl-optimization/82597

2017-11-01 Thread Eric Botcazou
uted during the bb walking using the last_setter array > and the latter is dropped. Then why does the patch not remove the df_chain_add_problem call itself? -- Eric Botcazou

Re: [PATCH][compare-elim] Fix PR rtl-optimization/82597

2017-11-01 Thread Eric Botcazou
a REG_P. Use cmp->in_a_setter instead of walking UD > chains. > (execute_compare_elim_after_reload): Remove df_chain_add_problem > call. > > * g++.dg/opt/pr82778.C: New test. > > 2017-10-31 Michael Collison > > PR rtl-optimization/82597 > * gcc.dg/pr82597.c: New test. This is OK if it successfully passes testing, thanks. -- Eric Botcazou

Re: [PATCH 3/7] GCOV: add support for lines with an unexecuted lines.

2017-11-02 Thread Eric Botcazou
> It's possible to have a line of code that has a non-zero coverage. > However, it can contain unexecuted blocks and I hope adding a > notification can be usefull. LLVM also does that: > > -:0:Source:ternary.c > -:0:Graph:ternary.gcno > -:0:Data:ternary.gcda >

[patch] Do not report non-executed blocks in Ada coverage

2017-11-03 Thread Eric Botcazou
, the second variant is slightly more general in case other languages need it too. Tested on x86_64-suse-linux, OK for the mainline (and which one)? 2017-11-03 Eric Botcazou * gcov.c (output_line_beginning): Document HAS_UNEXECUTED_BLOCK. (output_lines): Always pass fals

Re: [patch] Do not report non-executed blocks in Ada coverage

2017-11-06 Thread Eric Botcazou
0%]: >return _6; > > } > > Isn't the some kind of exceptional basic block? No, it's just the regular target of the goto just above. > Can one find such blocks in middle-end? In case of C++, exceptional blocks > are not considered for the warning. Likewise, but it's a different issue here. -- Eric Botcazou

Re: [patch] Do not report non-executed blocks in Ada coverage

2017-11-06 Thread Eric Botcazou
entages, 0 in intermediate format === gnat Summary === # of expected passes3 # of unexpected failures2 Applied on the mainline. 2017-11-06 Eric Botcazou * gnat.dg/gcov: New directory. * gnat.dg/gcov/gcov.exp: New driver. *

Re: [PATCH][RFC] Instrument function exit with __builtin_unreachable in C++.

2017-11-06 Thread Eric Botcazou
> Thank you for review, done that. This has enabled -Wreturn-type for Ada, what we don't want since the warning is outsmarted by the language, so I have applied this. 2017-11-06 Eric Botcazou * gcc-interface/misc.c (gnat_post_options): Clear warn_return_type.

Re: [PATCH][RFC] Instrument function exit with __builtin_unreachable in C++.

2017-11-06 Thread Eric Botcazou
C family: > if (!global_options_set.x_warn_return_type) > warn_return_type = c_dialect_cxx (); No disagreement. -- Eric Botcazou

Fix PR53037 failures on strict-alignment platforms

2017-11-07 Thread Eric Botcazou
++14 (test for warnings, line 6) FAIL: g++.dg/pr53037-3.C -std=gnu++98 (test for warnings, line 16) FAIL: g++.dg/pr53037-3.C -std=gnu++98 (test for warnings, line 29) FAIL: g++.dg/pr53037-3.C -std=gnu++98 (test for warnings, line 6) 2017-11-07 Eric Botcazou PR c/53037

Re: [PATCH-v3] [SPARC] Add a workaround for the LEON3FT store-store errata

2017-07-07 Thread Eric Botcazou
> We can drop the define if necessary, but we would like to keep the two > flags. Would that be OK to apply? Yes, OK to apply on mainline and 7 branch with this change, thanks. -- Eric Botcazou

Re: [PATCH V2 0/7] Support for the SPARC M8 cpu

2017-07-07 Thread Eric Botcazou
tructions for memory accesses known to be > misaligned at compile-time. > > Note that full binutils support for M8 was upstreamed in May 19. > > Bootstrapped and tested in sparc64-linux-gnu. No regressions. > Bootstrapped and tested in sparc-sun-solaris2.12. No regressions. OK for mainline and 7 branch (I can do the backport to the branch). -- Eric Botcazou

[patch] Fix ICE on CONSTRUCTOR containing absolute addresses

2017-07-07 Thread Eric Botcazou
containing absolute addresses hidden behind a COMPONENT_REF or similar references. Fixed by adding support for INDIRECT_REF to decode_addr_const. Tested on x86_64-suse-linux, OK for the mainline? 2017-07-07 Eric Botcazou * varasm.c (decode_addr_const): Deal with INDIRECT_REF . 2017

Re: Handle data dependence relations with different bases

2017-07-07 Thread Eric Botcazou
eate a dependence distance of 1. > * gnat.dg/vect16.adb (Add): Likewise. > * gnat.dg/vect17.adb (Add): Likewise. OK, thanks. -- Eric Botcazou

Re: [PATCH-v3] [SPARC] Add a workaround for the LEON3FT store-store errata

2017-07-07 Thread Eric Botcazou
> Great! Would you mind to apply the patch for us? The only person here > with write access just went on vacation. I have submitted a new version > (v4) with the change that applies to both main and 7. OK, will do. -- Eric Botcazou

Re: [PATCH-v4] [SPARC] Add a workaround for the LEON3FT store-store errata

2017-07-11 Thread Eric Botcazou
out the undocumented tweaks to the divdf3_fix and sqrtdf2_fix patterns. Why are 2 nops necessary here? The stored value doesn't matter. And the length attribute should be adjusted if nops are added to the pattern. -- Eric Botcazou

Re: A potential bug in lra-constraints.c for special_memory_constraint?

2017-07-11 Thread Eric Botcazou
Yes, spilling is part of reloading but is not reloading the address since it's changing the address, so I think it's OK. Why is that problematic for you? -- Eric Botcazou

Re: A potential bug in lra-constraints.c for special_memory_constraint?

2017-07-11 Thread Eric Botcazou
int. Why do you absolutely need to have a misaligned address? Can't you just avert your eyes and pretend that the address is misaligned? This will be suboptimal but presumably work. To be honest, I'm not even sure that you really need an additional constraint, but I haven't investigated the subject seriously. -- Eric Botcazou

Re: A potential bug in lra-constraints.c for special_memory_constraint?

2017-07-11 Thread Eric Botcazou
> we need to generate misaligned load/store insns ONLY for misaligned memory > access, therefore need a new constraints for misaligned address. Why? What happens exactly if the memory access turns out to be aligned? -- Eric Botcazou

<    16   17   18   19   20   21   22   23   24   25   >