Re: PING: new pass to warn on questionable uses of alloca() and VLAs

2016-10-19 Thread Eric Botcazou
> m68k-suse-linux visium-elf too. -- Eric Botcazou

Re: PING: new pass to warn on questionable uses of alloca() and VLAs

2016-10-19 Thread Eric Botcazou
c and Walloca-11.c probably) and promote the existing wvla-[1-7].c to uppercase. -- Eric Botcazou

Get rid of useless .oaccdevlow dump file

2016-10-19 Thread Eric Botcazou
Yet another pass generating a useless dump file when it is not run. Tested on x86_64-suse-linux, applied on mainline as obvious. 2016-10-19 Eric Botcazou * omp-low.c (pass_oacc_device_lower::gate): New method. (execute): Always call execute_oacc_device_lower. -- Eric

Re: PING: new pass to warn on questionable uses of alloca() and VLAs

2016-10-19 Thread Eric Botcazou
> It's unclear from your response whether you want to do this or want me > to do it. In the interest of being lazy, I'll let you do it :). I guess this wasn't really decided in my mind either. ;-) > p.s. If OTOH, you want me to do it, let me know. Yes, please do, than

Re: PING: new pass to warn on questionable uses of alloca() and VLAs

2016-10-19 Thread Eric Botcazou
> I have committed the attached patch as mostly obvious :). Thanks! -- Eric Botcazou

Re: PING: new pass to warn on questionable uses of alloca() and VLAs

2016-10-19 Thread Eric Botcazou
> This fixes both tests on m68k. Likewise on Visium. -- Eric Botcazou

[libgo] Remove unused declarations in runtime.h

2016-10-19 Thread Eric Botcazou
;t seem to change the behavior of the Go compiler so the attached patch does just that. Tested on x86_64-suse-linux and SPARC/Solaris, OK for mainline? 2016-10-19 Eric Botcazou * runtime/runtime.h (runtime_startup_random_data): Delete. (runtime_startup_random_data_len)

Re: [patch] Fix PHI optimization issue with boolean types

2016-10-19 Thread Eric Botcazou
ss-language LTO) exactly like the sizetype discrepancy, so I don't really feel like going back in time. -- Eric Botcazou

Re: C++ PATCH for c++/77742 (-Waligned-new and placement new)

2016-10-20 Thread Eric Botcazou
warning: requested alignment 16 is larger than 8 [- Wattributes] alignas(alignof(X)) char buf[sizeof(X)]; Can we reopen the PR since it's apparently not fixed everywhere? -- Eric Botcazou

Re: [C++ PATCH] RFC: implement P0386R2 - C++17 inline variables

2016-10-20 Thread Eric Botcazou
require support for constructor priorities for example? Or does it assume an order of invocation for the constructors of inline-var1.C vs those of inline-var1a.C? -- Eric Botcazou

Re: [Ada] Set Always_Compatible_Rep to False everywhere

2016-10-20 Thread Eric Botcazou
> Agreed, let's do that for starters. And a small follow-up fix for a blunder. 2016-10-20 Nicolas Roche * gcc-interface/Makefile (x86-64/Linux): Restore missing pairs. (x86/Darwin): Likewise. -- Eric BotcazouIndex: gcc-interface/Makefile.in =

Re: [C++ PATCH] RFC: implement P0386R2 - C++17 inline variables

2016-10-20 Thread Eric Botcazou
6) (gdb) continue Continuing. Program received signal SIGABRT, Aborted. 0xfefcaa58 in _lwp_kill () from /lib/libc.so.1 If fails because x == 16 and w == 0 on the first invocation to bar but, given that w is not modified anywhere else, this seems to be expected. -- Eric Botcazou

Re: C++ PATCH for c++/77742 (-Waligned-new and placement new)

2016-10-20 Thread Eric Botcazou
> Fixed the testcase. It passes now, thanks! -- Eric Botcazou

[Visium] Add support for overflow arithmetic

2016-10-20 Thread Eric Botcazou
erations (except for multiplication). Tested on visium-elf, applied on the mainline. 2016-10-20 Eric Botcazou * compare-elim.c (conforming_compare): Accept UNSPECs. (find_comparison_dom_walker::before_dom_children): Deal with instructions both u

Re: [C++ PATCH] RFC: implement P0386R2 - C++17 inline variables

2016-10-20 Thread Eric Botcazou
> Does this fix it? It still works on Linux: > > 2016-10-20 Jakub Jelinek > > * g++.dg/cpp1z/inline-var1.C (w): Initialize to 64 + 2. Yes, it does, thanks! -- Eric Botcazou

Re: [patch] Fix PHI optimization issue with boolean types

2016-10-21 Thread Eric Botcazou
L_TYPE would not really work either for the same reason. So we would need INTEGER_TYPE for strict correctness, but this would add casts from/to boolean_type_node all over the place so is not very appealing either. -- Eric Botcazou

Re: [patch] Fix PHI optimization issue with boolean types

2016-10-21 Thread Eric Botcazou
> isn't really special anymore (and fix all places). But then, why do we have > BOOLEAN_TYPE ... I think BOOLEAN_TYPE essentially works fine for Ada if you don't try to treat it like an INTEGER_TYPE, as the new factor_out_conditional_conversion does... -- Eric Botcazou

Re: [Patch, rtl] PR middle-end/78016, keep REG_NOTE order during insn copy

2016-10-21 Thread Eric Botcazou
ove, I think it would be simpler to keep > this logic in the caller functions and avoid introducing > append_insn_reg_notes. I disagree: there are currently n ways of copying NOTEs in the RTL middle-end, with different properties each time. We need only one primitive in rtlanal.c. -- Eric Botcazou

[SPARC] Add support for overflow arithmetic

2016-10-21 Thread Eric Botcazou
lied on the mainline. 2016-10-21 Eric Botcazou * config/sparc/sparc-modes.def (CCV): New. (CCXV): Likewise. * config/sparc/predicates.md (v_comparison_operator): New. (icc_comparison_operator): Add support for CCV/CCXV. (xcc_comparison_operator): Likewi

Re: [ada, testsuite] Parallelize check-gnat

2016-10-21 Thread Eric Botcazou
> I'm not strongly against your patch, I'm just very surprised it is really > needed (acats is much larger, check-gnat is small). In what unit do you count? ACATS has fewer tests than gnat.dg nowadays. -- Eric Botcazou

[rs6000] Add support for signed overflow arithmetic

2016-10-21 Thread Eric Botcazou
x and PowerPC64/Linux, OK for the mainline? 2016-10-21 Eric Botcazou * internal-fn.c (expand_arith_overflow): Do not promote a signed multiplication done in hardware to an unsigned open-coded one. * config/rs6000/rs6000-modes.def (CCV): New. * conf

Re: relax rule for flexible array members in 6.x (78039 - fails to compile glibc tests)

2016-10-22 Thread Eric Botcazou
ccept-invalid leads to wrong code in all cases, then you want to plug the hole; if it's benign in almost all cases, then it's a different discussion. -- Eric Botcazou

[testsuite] UnXFAIL gcc.dg/tree-ssa/pr71347.c on SPARC

2016-10-22 Thread Eric Botcazou
Tested on SPARC/Solaris, applied on the mainline. 2016-10-22 Eric Botcazou * gcc.dg/tree-ssa/pr71347.c: Remove XFAIL on SPARC. -- Eric BotcazouIndex: gcc.dg/tree-ssa/pr71347.c === --- gcc.dg/tree-ssa/pr71347.c

[SPARC] Fix pasto in config/sparc/sparc-c.c

2016-10-23 Thread Eric Botcazou
Tested on SPARC/Solaris, applied on the mainline and 6 branch. 2016-10-23 Eric Botcazou * config/sparc/sparc-c.c (sparc_target_macros): Replace TARGET_64BIT with TARGET_ARCH64. Define __VIS to 0x400 if TARGET_VIS4. -- Eric BotcazouIndex: config/sparc/sparc-c.c

[SPARC] Cosmetic fixes for v3pipe attribute

2016-10-23 Thread Eric Botcazou
Tested on SPARC/Solaris, applied on the mainline and 6 branch. 2016-10-23 Eric Botcazou * config/sparc/sparc.md (cpu_feature): Minor tweak. (enabled): Likewise. (movsi_insn, movdi_insn_sp32, movdi_insn_sp64, movsf_insn, movdf_insn_sp32, movdf_insn_sp64

Re: [patch] Fix PHI optimization issue with boolean types

2016-10-24 Thread Eric Botcazou
se? In a valid program, no. In an invalid program, maybe, in which case we don't want to ICE so we would need to filter them out and raise Constraint_Error instead when we run into one; certainly doable I'd say. -- Eric Botcazou

Re: [rs6000] Add support for signed overflow arithmetic

2016-10-24 Thread Eric Botcazou
t; That may work better. It also may be better if you expose the OV bit > as a separate reg (just like we have CA), instead of putting two machine > insns in each template. Yes, although CA can be seen as behaving like a register to some extent, but OV far less so IMO. -- Eric Botcazou

Re: [rs6000] Add support for signed overflow arithmetic

2016-10-24 Thread Eric Botcazou
whereas you cannot with OV, you really need to manipulate it like a flag. -- Eric Botcazou

Re: [patch] Fix PHI optimization issue with boolean types

2016-10-24 Thread Eric Botcazou
> > But integer_truep is just integer_onep for BOOLEAN_TYPEs. > > Yes, but it's more descriptive IMHO. At the cost of consistency with fits_to_tree_p though. > fits_to_tree_p avoids creating an INTEGER_CST in ggc memory and thus is the > prefered way to test if you have a wide-int but not yet an

Re: [rs6000] Add support for signed overflow arithmetic

2016-10-24 Thread Eric Botcazou
ddo 3,3,4 mcrxr 7 bgt- 7,.L10 blr L10: -- Eric Botcazou

Re: [rs6000] Add support for signed overflow arithmetic

2016-10-24 Thread Eric Botcazou
t; blt These ones (if correct) are quite better than the generic code! > neg: > neg 3,3 > xoris. 9,3,0x8000 > beq > > mul: > mulhw 9,3,4 > mullw 3,3,4 > srawi 4,9,31 > cmpw 4,9 > bne These ones are essentially equivalent to the generic code. -- Eric Botcazou

Re: [rs6000] Add support for signed overflow arithmetic

2016-10-24 Thread Eric Botcazou
> And the generic one for div is as good as it gets as well I suppose? There is no support for div at all, only add/sub/neg/mul. -- Eric Botcazou

Re: [patch] Fix PHI optimization issue with boolean types

2016-10-25 Thread Eric Botcazou
OLEAN_TYPE) return eq_p (x, 0) || eq_p (x, 1); instead of just int_fits_type_p (but I don't really know if there is a penalty associated with eq_p here). -- Eric Botcazou

Re: [rs6000] Add support for signed overflow arithmetic

2016-10-25 Thread Eric Botcazou
x27;ll submit the change to the generic code separately. -- Eric Botcazou

Re: [patch] Fix PHI optimization issue with boolean types

2016-10-25 Thread Eric Botcazou
n eq_p (x, 0) || eq_p (x, 1); Is eq_p free for them too? If no, then you distribute the overhead over all the callers instead of just int_fits_type_p (for which the call is unlikely). -- Eric Botcazou

[SPARC] Housekeeping work

2016-10-25 Thread Eric Botcazou
No functional changes. Tested on SPARC/Solaris, applied on the mainline. 2016-10-25 Eric Botcazou * config.gcc (sparc*-*-solaris2*): Adjust. (sparc64-*-linux*): Likewise. * config/sparc/default-64.h: Rename to... * config/sparc/default64.h: ...this

Re: [SPARC] Housekeeping work

2016-10-27 Thread Eric Botcazou
> it seems your patch introduced a considerable number of regressions > (found on sparc-sun-solaris2.12 with /bin/as): the first mail-report.log > is from r241560 with just your patch reverted, the second from that rev > as is: Ouch, it's a single '*' probably added very late in the game... Testi

[patch] Use straight-line sequence for signed overflow additive operation

2016-10-27 Thread Eric Botcazou
swaps the arms of the branch. Tested on x86-64/Linux, PowerPC/Linux and PowerPC64/Linux, OK for mainline? 2016-10-27 Eric Botcazou Segher Boessenkool * dojump.c (do_jump_by_parts_greater_rtx): Invert probability when swapping the arms of the branch.

Re: [PATCH] Fix a REE bug (PR rtl-optimization/78132)

2016-10-28 Thread Eric Botcazou
> 2016-10-27 Jakub Jelinek > > PR rtl-optimization/78132 > * ree.c (combine_reaching_defs): Give up if copy_needed and > !HARD_REGNO_MODE_OK (REGNO (src_reg), dst_mode). > > * gcc.target/i386/pr78132.c: New test. OK, thanks. -- Eric Botcazou

Re: [PATCH] Fix COMPONENT_REF expansion (PR rtl-optimization/77919)

2016-10-28 Thread Eric Botcazou
pr_real_1) : Force CONCAT into > MEM if mode1 is not a complex mode. > > * g++.dg/torture/pr77919.C: New test. I think that's OK. -- Eric Botcazou

Re: [SPARC] Add support for overflow arithmetic

2016-10-28 Thread Eric Botcazou
> Then to some extent defining WORD_REGISTER_OPERATIONS on SPARC is a lie, > it only has "INT_REGISTER_OPERATIONS", i.e. all operations smaller than > int are performed on the whole register, int operations can be really done > in SImode in the IL (no need to sign/zero extend anything to DImode, if

Re: [PATCH] Delete GCJ

2016-10-28 Thread Eric Botcazou
references to java in install.texi There are more references in sourcebuild.texi and install.texi. -- Eric Botcazou

Re: [PATCH][rtlanal.c] Convert conditional compilation on WORD_REGISTER_OPERATIONS

2016-11-02 Thread Eric Botcazou
: LOAD_EXTEND_OP (inner_mode) != ZERO_EXTEND) || !MEM_P (SUBREG_REG (x #endif So if WORD_REGISTER_OPERATIONS is zero and LOAD_EXTEND_OP is defined, for example on PowerPC, the block guarded by the condition is always executed in the former case but never in the latter case. -- Eric Botcazou

Re: [PATCH][rtlanal.c] Convert conditional compilation on WORD_REGISTER_OPERATIONS

2016-11-02 Thread Eric Botcazou
t; GET_MODE_PRECISION (inner_mode)) nonzero |= (GET_MODE_MASK (GET_MODE (x)) & ~GET_MODE_MASK (inner_mode)); } -- Eric Botcazou

Re: [PATCH 2/2, i386]: Implement TARGET_EXPAND_DIVMOD_LIBFUNC

2016-11-03 Thread Eric Botcazou
in the ~50 back-ends... -- Eric Botcazou

Re: [Patch, rtl] PR middle-end/78016, keep REG_NOTE order during insn copy

2016-11-03 Thread Eric Botcazou
, but doesn't enforce the single order. Maybe something based on a macro calling duplicate_reg_note, but not clear whether it's really better. -- Eric Botcazou

Re: [PATCH][rtlanal.c] Convert conditional compilation on WORD_REGISTER_OPERATIONS

2016-11-03 Thread Eric Botcazou
> Thanks, here is the patch doing this. > Committing to trunk after bootstrap and testing on x86_64. Thanks for the quick turn around! -- Eric Botcazou

Re: [PATCH 2/2, i386]: Implement TARGET_EXPAND_DIVMOD_LIBFUNC

2016-11-03 Thread Eric Botcazou
;s the purpose of ix86_init_libfuncs if the libfuncs are already there? -- Eric Botcazou

Re: [Patch, rtl] PR middle-end/78016, keep REG_NOTE order during insn copy

2016-11-03 Thread Eric Botcazou
> Thanks for the feedback, I'll try to work through this. Thanks, but since there doesn't seem to be a consensus on the goal, feel free to disregard it and just implement what you need for your initial work. -- Eric Botcazou

Re: [PATCH 2/2, i386]: Implement TARGET_EXPAND_DIVMOD_LIBFUNC

2016-11-03 Thread Eric Botcazou
> libfunc, as in "__{,u}divmod{di,ti}4 library function" is already > implemented in libgcc. But the enablement of this function inside the > compiler has to be performed by each target. So can we do it generically instead of duplicating it ~50 times? -- Eric Botcazou

Re: [PATCH 2/2, i386]: Implement TARGET_EXPAND_DIVMOD_LIBFUNC

2016-11-03 Thread Eric Botcazou
p1, >"ient, &remainder); > > else > gcc_unreachable (); > --cut here-- > > so, by declaring divmod libfunc, the target also has to provide target hook. Right, that's why I also suggested a default associated target hook. -- Eric Botcazou

Re: [Patch, rtl] PR middle-end/78016, keep REG_NOTE order during insn copy

2016-11-03 Thread Eric Botcazou
normally should not be needed outside of emit_copy_of_insn_after, so having > that do the right thing ought to be good enough. reload does direct note copying too (in forward order). -- Eric Botcazou

Re: [RFC] Check number of uses in simplify_cond_using_ranges().

2016-11-03 Thread Eric Botcazou
original quantity in all places, and if so, eliminate the ssa > name. Did you try to enable -free on s390x? It's a RTL pass. -- Eric Botcazou

[SPARC] Remove couple of obsolete patterns

2016-11-03 Thread Eric Botcazou
The vec_interleave_{low, high} standard patterns were removed 5 years ago. Tested on SPARC/Solaris, applied on the mainline. 2016-11-03 Eric Botcazou * config/sparc/sparc.md (vec_interleave_lowv8qi): Delete. (vec_interleave_highv8qi): Likewise. -- Eric BotcazouIndex

[patch] Get rid of stack trampolines for nested functions

2016-06-29 Thread Eric Botcazou
at the interface with C (when objects have "convention C" in Ada parlance). This was bootstrapped/regtested on x86_64-suse-linux but AdaCore has been using it on native platforms (Linux, Windows, Solaris, etc) for years. OK for the mainline? 2016-06-29 Eric Botcazou

[ARM] Minor fix in arm_function_ok_for_sibcall

2016-07-01 Thread Eric Botcazou
Several tests in the function were updated with a guard for a NULL decl but not the VxWorks-specific one, which results in a segfault building libgcc. Tested on ARM/VxWorks, applied on mainline, 6 and 5 branches as obvious. 2016-07-01 Eric Botcazou * config/arm/arm.c

[Ada] Minor changes in gnat_to_gnu_entity

2016-07-05 Thread Eric Botcazou
This avoids doing useless work at the local level in gnat_to_gnu_entity. Tested on x86_64-suse-linux, applied on the mainline. 2016-07-05 Eric Botcazou * gcc-interface/decl.c (gnat_to_gnu_entity): Invoke global_bindings_p last when possible. Do not call

[patch] Fix type merging deficiency during WPA

2016-07-05 Thread Eric Botcazou
pleteness, but it is not necessary for fixing the problem. Tested on x86_64-suse-linux, OK for the mainline? 2016-07-05 Eric Botcazou * cgraph.h (symbol_table::decl_assembler_name_hash): Make public. * fold-const.c (operand_equal_p) : Add special processing during W

Re: [patch] Fix type merging deficiency during WPA

2016-07-06 Thread Eric Botcazou
X_VALUE (TYPE_DOMAIN (type)) != error_mark_node) inchash::add_expr (TYPE_MAX_VALUE (TYPE_DOMAIN (type)), hstate); } -- Eric Botcazou

Re: [patch] Fix type merging deficiency during WPA

2016-07-06 Thread Eric Botcazou
on for compatibility of pointer types is the alias set, which is based on the TYPE_CANONICAL of the pointed-to type, so we fail to merge pointer types because warn_type_compatibility_p returns non-zero if TYPE_CANONICAL differs. -- Eric Botcazou

Re: [PATCH 0/9] remove some manual memory management

2016-07-07 Thread Eric Botcazou
ChangeLogs so I'll try and fix that up and then commit this. You don't need to post patches to ChangeLogs, just apply them silently. -- Eric Botcazou

Re: [PATCH 0/7] remove targets obsoleted in gcc 6

2016-07-08 Thread Eric Botcazou
> I removed the empty directories > >gcc/common/config/mep >gcc/config/mep >libgcc/config/mep https://gcc.gnu.org/backends.html needs to be updated accordingly. -- Eric Botcazou

Re: [RFC] Convert TYPE_ALIGN_OK into an TYPE_LANG_FLAG

2016-07-08 Thread Eric Botcazou
. > So is there any news on that front? I should have meaningful results tomorrow morning baring unexpected issues. -- Eric Botcazou

Re: [RFC] Convert TYPE_ALIGN_OK into an TYPE_LANG_FLAG

2016-07-10 Thread Eric Botcazou
x27;t reveal any issue. So no objection to the patch on principle by me. -- Eric Botcazou

[Ada] Fix PR ada/71817

2016-07-11 Thread Eric Botcazou
Tested on PowerPC/VxWorks, applied on the mainline. 2016-07-11 Eric Botcazou PR ada/71817 * adaint.c (__gnat_is_read_accessible_file): Add parentheses. (__gnat_is_write_accessible_file): Likewise. -- Eric BotcazouIndex: adaint.c

[Ada] Small tweak in LTO mode

2016-07-11 Thread Eric Botcazou
This make sure the TREE_READONLY flag is set consistently on the definition and the references of public entities in LTO mode. Tested on x86_64-suse-linux, applied on the mainline. 2016-07-11 Eric Botcazou * gcc-interface/trans.c (add_decl_expr): Minor tweak. * gcc

Re: [patch] Fix type merging deficiency during WPA

2016-07-11 Thread Eric Botcazou
> So sth like > > Index: gcc/lto-streamer-out.c > === > --- gcc/lto-streamer-out.c (revision 238039) > +++ gcc/lto-streamer-out.c (working copy) > @@ -996,7 +996,7 @@ hash_tree (struct streamer_tree_cache_d >else >

Re: [patch] Fix type merging deficiency during WPA

2016-07-11 Thread Eric Botcazou
what I initially proposed? https://gcc.gnu.org/ml/gcc-patches/2016-07/msg00182.html And, as mentioned in my previous message, I'm not sure that we would be able to merge all the global types with the unification scheme, it is too strict. -- Eric Botcazou

Re: Implement -Wswitch-fallthrough

2016-07-11 Thread Eric Botcazou
fallthrough macros conditional on __GNUC__ > (I'd tried to use a configure check but then decided I won't put up with > all the vagaries of autoconf). Do we really want to clutter up the entire tree like that? The result is particularly ugly IMO. Just add -Wno-switch-fallthrough somewhere I'd say. -- Eric Botcazou

Re: Implement -Wswitch-fallthrough

2016-07-11 Thread Eric Botcazou
rwise this will very likely badly backfire. -- Eric Botcazou

Re: [patch] Fix type merging deficiency during WPA

2016-07-12 Thread Eric Botcazou
ord types with dynamic offsets, which are first-class citizens. -- Eric Botcazou

Re: [PATCH] Lift alignment restrictions from inlining register size memcpy

2016-07-12 Thread Eric Botcazou
27;ll let the patch sit here as I > don't really care too much about those pesky targets (and > targets can choose to opt-in by providing movmisalign optabs > anyway so they don't go the store/extract_bit_field path). I'll conduct more thorough testing over the next few days. -- Eric Botcazou

Re: [patch] Fix type merging deficiency during WPA

2016-07-13 Thread Eric Botcazou
e they are EXPR_P)? Please split that part out > as well. Yes, I can do that. -- Eric Botcazou

Re: [PATCH] Lift alignment restrictions from inlining register size memcpy

2016-07-14 Thread Eric Botcazou
{ uint32_t v; memcpy(&v, __builtin_assume_aligned(s, 4), sizeof(v)); return v; } As discussed in the audit trail, the compiler ought to generate again the same code on strict-alignment targets in both cases, as Clang apparently and as GCC itself during most of its existence (until GCC 4.5 to be precise). -- Eric Botcazou

[Ada] Another small tweak in LTO mode

2016-07-14 Thread Eric Botcazou
] /home/eric/svn/gcc/gcc/testsuite/gnat.dg/lto19_pkg.adb:7:3: note: 'lto19_pkg__proc' was previously declared here /home/eric/svn/gcc/gcc/testsuite/gnat.dg/lto19_pkg.adb:7:3: note: code may be misoptimized unless -fno-strict-aliasing is used Jan, any idea on how to address thi

Re: [Ada] Another small tweak in LTO mode

2016-07-14 Thread Eric Botcazou
r another compilation unit, the type is an array of ptr_type_node. That's because the "something" isn't even parsed by the compiler in the second case, so that you can change the implementation without recompiling all the clients. -- Eric Botcazou

Re: [patch] Fix type merging deficiency during WPA

2016-07-14 Thread Eric Botcazou
can probably get away without going this far, e.g. by completely ignoring non-constant fields only, but I see, thanks. -- Eric Botcazou

Re: [PATCH] Fix unsafe function attributes for special functions (PR 71876)

2016-07-20 Thread Eric Botcazou
based on __builtin_setjmp (which is similar but distinct from the regular SJLJ EH because the front-end directly manages the SJLJ buffers) for internal EH. Note that it's on the host only, for the target it uses the same EH scheme as C++/Java/etc. -- Eric Botcazou

Re: [patch] Get rid of stack trampolines for nested functions

2016-07-25 Thread Eric Botcazou
get stuff getting into tree-*. Is this really > needed? It's the target hook mentioned earlier, e.g. for targets that use procedure descriptors natively we don't want to create generic descriptors but use the regular "degenerated" trampolines. > I think the biggest issues are the ABI concerns and getting the target > maintainers to take a looksie. Everything else looks pretty good. Thanks for the review. -- Eric Botcazou

Re: [patch] Get rid of stack trampolines for nested functions

2016-07-25 Thread Eric Botcazou
, thanks for the info, the value will need to be bumped to 4 then. >From the definition of TARGET_PTRMEMFUNC_VBIT_LOCATION, I gather that the MIPS setting is probably incorrect too and ought to be bumped to 2. -- Eric Botcazou

Re: [patch] Get rid of stack trampolines for nested functions

2016-07-25 Thread Eric Botcazou
control what happens at the interface with other languages and accept what they send (and do not send them descriptors). The ISO standard contains an entire annex specifying this interfacing in Ada. -- Eric Botcazou

Re: [patch] Get rid of stack trampolines for nested functions

2016-07-26 Thread Eric Botcazou
nto 2 parts as agreed, and get approval from the architecture maintainers individually. -- Eric Botcazou

Re: [0/3] Fix PR78120, in ifcvt/rtlanal/i386.

2016-11-24 Thread Eric Botcazou
to arrive at sane solutions. It would help to make a pass over the main architecture back-ends and evaluate the potential fallout and required adjustments, if any. -- Eric Botcazou

[SPARC] Enable REE at -O2 by default in 64-bit mode

2016-11-24 Thread Eric Botcazou
Tests showed that it helps to eliminates redundant 32-to-64-bit extensions. Tested on SPARC/Solaris, applied on the mainline. 2016-11-24 Eric Botcazou * common/config/sparc/sparc-common.c (option_optimization_table): Enable REE at -O2 and higher. * config/sparc

Re: [SPARC] Enable REE at -O2 by default in 64-bit mode

2016-11-24 Thread Eric Botcazou
that do _not_ define PROMOTE_MODE, this could be an explanation. -- Eric Botcazou

Re: [PATCH] Fix Ada bootstrap

2016-11-25 Thread Eric Botcazou
ion (c41104a): +===GNAT BUG DETECTED==+ | 7.0.0 20161125 (experimental) [trunk revision 242863] (x86_64-suse-linux) GCC error:| | in size_binop_loc, at fold-const.c:1744 | | Error detected at c41104a.adb:60:33

Re: [PATCH] Fix Ada bootstrap

2016-11-25 Thread Eric Botcazou
+ | 7.0.0 20161125 (experimental) [trunk revision 242863] (x86_64-suse-linux) GCC error:| | in size_binop_loc, at fold-const.c:1744 | | Error detected at p.adb:8:20 so I presume this comes from the recent match.pd changes. -- Eric Botcazou

Re: [0/3] Fix PR78120, in ifcvt/rtlanal/i386.

2016-11-26 Thread Eric Botcazou
worse. From > looking at the assembly we seemingly are copying blocks that aren't > strictly necessary. I'm seeing essentially the same thing on SPARC, probably because of the ifcvt change; the rtlanal change seems to be neutral for the architecture. -- Eric Botcazou

[Ada] Fix PR ada/78531

2016-11-27 Thread Eric Botcazou
This is the bootstrap failure on the mainline with _FORTIFY_SOURCE enabled. Fixed thusly, tested on x86_64-suse-linux, applied on the mainline. 2016-11-27 Eric Botcazou PR ada/78531 * namet.h (Max_Line_Length): Define. (struct Bounded_String): Declare Chars with

[Ada] Fix PR ada/78524

2016-11-27 Thread Eric Botcazou
This is the failure of ACATS c41104a introduced by the recent match.pd change. Fixed thusly, tested on x86_64-suse-linux, applied on the mainline. 2016-11-27 Eric Botcazou PR ada/78524 * gcc-interface/utils.c (max_size) : Add missing conversion to original type in

[SPARC] Preparatory work for switch to LRA

2016-12-01 Thread Eric Botcazou
The switch will very likely not happen for GCC 7, but an experimental support can probably be introduced. The attached patch adds the famous -mlra option and rescues straightforward changes by DaveM. Tested on SPARC/Solaris, applied on the mainline. 2016-12-01 Eric Botcazou

[SPARC] Disable U constraint with LRA

2016-12-03 Thread Eric Botcazou
is fixed, I'm going to open an enhancement PR. Tested on SPARC/Solaris, applied on the mainline. 2016-12-03 Eric Botcazou David S. Miller * config/sparc/constraints.md (U): Adjust comment. * config/sparc/sparc.md (lra): New attribute. (enabled): For base instru

Use gen_lowpart_SUBREG consistently in emit_spill_move

2016-12-03 Thread Eric Botcazou
obvious. 2016-12-03 Eric Botcazou * lra-constraints.c (emit_spill_move): Use gen_lowpart_SUBREG in all cases to build a lowpart SUBREG. -- Eric BotcazouIndex: lra-constraints.c === --- lra-constraints.c (revision

[Ada] Do not enable atomic primitives on Power/Darwin 32-bit

2016-12-05 Thread Eric Botcazou
Iain Sandoe privately reported that the overhaul of the system files had broken the Ada compiler on Power/Darwin 32-bit. Applied on the mainline. 2016-12-05 Eric Botcazou * system-darwin-ppc.ads (Support_Atomic_Primitives): Set to True only if the word size is 64. -- Eric

Re: [SPARC] Disable U constraint with LRA

2016-12-05 Thread Eric Botcazou
attached patch, which also overhauls the 3 series of double-word move splitters in 32-bit mode. Tested on SPARC/Solaris w/ and w/o -mlra in 32-bit mode, applied on the mainline. 2016-12-05 Eric Botcazou * config/sparc/sparc-protos.h (sparc_splitdi_legitima

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

2016-12-05 Thread Eric Botcazou
should be possible to recreate the problem by configuring with > --enable-languages=go and running `make > RUNTESTFLAGS="go-test.exp=recover.go" check-gcc-go`. Thanks, I'll try to reproduce tomorrow. -- Eric Botcazou

[patch] Fix PR middle-end/78642

2016-12-05 Thread Eric Botcazou
nd SPARC/Solaris, OK for the mainline? 2016-12-05 Eric Botcazou PR middle-end/78642 * emit-rtl.c (verify_rtx_sharing) : Relax condition. (copy_rtx_if_shared_1) : Likewise. (copy_insn_1) : Likewise. -- Eric B

[LRA] Fix ICE on pathological testcase

2016-12-06 Thread Eric Botcazou
_address on the address, which aborts out of confusion; reload (and all subsequent passes) lets it go through unmodified. The attached patch simply adds a bypass to process_address_1 in order to avoid invoking decompose_mem_address in this case. Tested on SPARC/Solaris with LRA and x86

Re: [LRA] Fix ICE on pathological testcase

2016-12-06 Thread Eric Botcazou
passes do the right thing, so LRA needs to be on par IMO. -- Eric Botcazou

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

2016-12-06 Thread Eric Botcazou
> There are a couple of changes to the RTL expander for calls; they are > supposed to be transparent but they might have tripped on a latent issue. Tentative fix attached, I need to test it extensively in Ada though. Btw, Ian, if the heap trampoline support is no longer used by the Go compiler,

<    20   21   22   23   24   25   26   27   28   29   >