[IA-64] Fix dynamic allocation in leaf functions

2012-11-19 Thread Eric Botcazou
mainline. I think that we need to put this on mainline and 4.7 branch at least; not clear for the 4.6 branch at this point. OK for which ones? 2012-11-19 Eric Botcazou * config/ia64/ia64.c (ia64_compute_frame_size): Allocate the scratch area if the function allocates dynami

Re: Fix twolf -funroll-loops -O3 miscompilation (a semi-latent web.c bug)

2012-11-19 Thread Eric Botcazou
EQ* notes by means of DF. But using df_note_add_problem for this task seems to be a little far-fetched. > Perhaps df_note_add_problem should imply setting DF_EQ_NOTES? Do you mean the opposite, i.e setting DF_EQ_NOTES should imply adding DF_NOTE? -- Eric Botcazou

Re: [5/8] Tweak bitfield alignment handling

2012-11-20 Thread Eric Botcazou
> gcc/ > * stor-layout.c (bit_field_mode_iterator::next_mode): Fix signedness. This looks fine to me. -- Eric Botcazou

Re: [patch] PR tree-optimization/55350: invalid pointer operand to PLUS_EXPR

2012-11-20 Thread Eric Botcazou
; > OK for trunk? The ChangeLog mentions POINTER_MINUS_EXPR, which doesn't exist. -- Eric Botcazou

Re: [patch] PR tree-optimization/55350: invalid pointer operand to PLUS_EXPR

2012-11-20 Thread Eric Botcazou
> Actually the ChangeLog is correct, what was incorrect was the svn commit > message. Is there a way to change the commit message retroactively? Probably, but I wouldn't bother about that. -- Eric Botcazou

Re: [PATCH] Use ATTRIBUTE_PACKED in ree.c

2012-11-21 Thread Eric Botcazou
> 2012-11-21 Jakub Jelinek > > * ree.c (struct ext_modified): Add ATTRIBUTE_PACKED. Are you sure that this will compile with non-GCC compilers? -- Eric Botcazou

Re: [PATCH] Use ATTRIBUTE_PACKED in ree.c

2012-11-22 Thread Eric Botcazou
lang 3.0. OK, some other attributes are defined in the same way, thanks. -- Eric Botcazou

[Ada] Fix layout of variant record types with aliased components

2012-11-23 Thread Eric Botcazou
The layout of variant record types doesn't always guarantee the proper alignment of aliased components if the record types are also packed. Fixed thusly, tested on x86_64-suse-linux, applied on the mainline. 2012-11-23 Eric Botcazou * gcc-interface/d

[Ada] Fix ICE on 'Old attribute and discriminated record type

2012-11-23 Thread Eric Botcazou
ee. Fixed thusly, tested on x86_64-suse-linux, applied on the mainline. 2012-11-23 Eric Botcazou * gcc-interface/trans.c (Attribute_to_gnu) : Look through a view conversion from constrained to unconstrained form. 2012-11-23 Eric Botcazou * gnat.dg/discr40.ad[sb]

Fix PR rtl-optimization/55388

2012-11-23 Thread Eric Botcazou
, but there is a latent issue in nonoverlapping_component_refs_p which now needs to deal with bitfields. Bootstrapped/regtested on SPARC and x86-64/Linux, applied on the mainline. 2012-11-23 Eric Botcazou PR rtl-optimization/55388 * alias.c (nonoverlapping_component_refs_p): H

[patch] Add workaround for LEON 3 FP errata

2012-11-23 Thread Eric Botcazou
ble in the original mode. Tested on SPARC/Solaris and x86-64/Linux, OK for the mainline? 2012-11-23 Eric Botcazou * doc/invoke.texi (SPARC Options): Document -mfix-ut699. * builtins.c (expand_builtin_mathfn) : Try to widen the mode if the instruction isn't a

Tidy up comments about sizetypes

2012-11-26 Thread Eric Botcazou
It's a couple of obsolete comments about the sign-extendness of sizetypes plus some "size type" -> "sizetype" adjustments. No functional changes. Tested on x86-64/Linux, applied on the mainline as obvious. 2012-11-26 Eric Botcazou * fold-const.c (

Re: PR 55438: Incorrect use of BIGGEST_ALIGNMENT

2012-11-26 Thread Eric Botcazou
ALIGNMENT) > align > > Fixed by using GET_MODE_ALIGNMENT instead. Note that the comment just above needs to be adjusted then. What about the similar check in next_mode? /* Stop if the mode requires too much alignment. */ if (unit > align_ && SLOW_UNALIGNED_ACCESS (mode_, align_)) break; It seems to me that we should change it as well. -- Eric Botcazou

Re: [patch] reorg.c janitor patch 2: handle DEBUG_INSN

2012-11-26 Thread Eric Botcazou
sn, rtx target, rt trial && !LABEL_P (trial) && insns_to_search > 0; trial = PREV_INSN (trial)) { - if (!NONDEBUG_INSN_P (trial)) + if (!INSN_P (trial)) continue; --insns_to_search; -- Eric Botcazou

Re: PR 55438: Incorrect use of BIGGEST_ALIGNMENT

2012-11-26 Thread Eric Botcazou
ith bitsize 32 and alignment 16 (i.e. STRICT_ALIGNMENT 1 and BIGGEST_ALIGNMENT 16), meaning that we can use 16-bit aligned 32-bit chunks in this mode. Why would the bitsize matter (assuming that it's a multiple of the alignment)? -- Eric Botcazou

Re: [PATCH] Fix the bug of comparing goto_locus to UNKNOWN_LOCATION

2012-11-27 Thread Eric Botcazou
> gcc/ChangeLog: > 2012-11-26 Dehao Chen > >* cfgrtl.c (rtl_merge_blocks): Check with UNKNOWN_LOCATION correctly. >(cfg_layout_merge_blocks): Likewise. OK, thanks. -- Eric Botcazou

Re: Fix twolf -funroll-loops -O3 miscompilation (a semi-latent web.c bug)

2012-11-27 Thread Eric Botcazou
r to IVs that are being split. > (apply_opt_in_copies): Use maybe_strip_eq_note_for_split_iv. Twice. > Use FOR_BB_INSNS_SAFE. That's fine with me, thanks. You might want to defer applying it until the reason why it isn't apparently sufficient for aermod.f90 is understood though. -- Eric Botcazou

[patch] Fix gnat.dg regressions and sizetype change fallouts

2012-11-27 Thread Eric Botcazou
. Tested on i586-suse-linux and x86-64-suse-linux, OK for the mainline? 2012-11-27 Eric Botcazou * stor-layout.c (layout_type) : Do not clear TREE_OVERFLOW on overflowed zeroes, except in one specific case. ada/ * gcc-interface/decl.c (gnat_to_gnu_entity) : Use

Re: Fix twolf -funroll-loops -O3 miscompilation (a semi-latent web.c bug)

2012-11-27 Thread Eric Botcazou
> This note seems very very weird. For one thing, it becomes invalid on > the very instruction where it is created. I would say that it should > not be there. Agreed. -- Eric Botcazou

Re: [RFA:] fix PR55030, wrong code from __builtin_setjmp_receiver

2012-11-27 Thread Eric Botcazou
x27;t attempt to perform any > optimizations across any insn, just tries to track where values live, IMHO a > volatile asm acts exactly the same as non-volatile, that is why I'm testing > following patch right now. > > But the question is also what effects your patch can have e.g. on RTL DSE. It will make all volatile asms be treated as volatile asms without outputs. -- Eric Botcazou

Re: [PATCH] Fix PR55489, memory-hog bug in GCSE

2012-11-27 Thread Eric Botcazou
of XEXP (x, 0), and pass it to canon_true_dependence. OK, thanks. -- Eric Botcazou

Re: PR 55438: Incorrect use of BIGGEST_ALIGNMENT

2012-11-27 Thread Eric Botcazou
BITS_PER_UNIT == 0 > + && bitsize == GET_MODE_BITSIZE (mode) > + && (!SLOW_UNALIGNED_ACCESS (mode, MEM_ALIGN (op0)) > + || (bitnum % GET_MODE_ALIGNMENT (mode) == 0 > + && MEM_ALIGN (op0) % GET_MODE_ALIGNMENT (mode) == 0))); > +} I think that the most idiomatic form is MEM_ALIGN (op0) >= GET_MODE_ALIGNMENT (mode) when it comes to alignments. -- Eric Botcazou

Re: Fix twolf -funroll-loops -O3 miscompilation (a semi-latent web.c bug)

2012-11-27 Thread Eric Botcazou
/55006) if it passes bootstrap & regtest, thanks. > And perhaps a bit in emit-rtl.c for good measure? I'll see if/where > this causes breakage... I think this would need to be wrapped in a #ifdef ENABLE_CHECKING/#endif pair. -- Eric Botcazou

Re: Fix twolf -funroll-loops -O3 miscompilation (a semi-latent web.c bug)

2012-11-27 Thread Eric Botcazou
G_EQ* notes, perhaps it's time to devise a global infrastructure to handle them. But, as far as I recall, they always have been problematic, before or after the DF merge. -- Eric Botcazou

Re: [PATCH] Don't bypass blocks with multiple latch edges (PR middle-end/54838)

2012-11-28 Thread Eric Botcazou
s means that the loop structure and the CFG aren't in sync anymore. Does the cprop pass modify the former without declaring it? -- Eric Botcazou

Re: Fix twolf -funroll-loops -O3 miscompilation (a semi-latent web.c bug)

2012-11-28 Thread Eric Botcazou
flags) > (expr_list:REG_EQUAL (minus:SI (const_int 1 [0x2710]) > (reg:SI 546 [ D.45472 ])) > (nil) > void > (gdb) > > Is that valid? Yes, the comment is wrong and should have been removed in r183719: http://gcc.gnu.org/ml/gcc-patches/2012-01/msg01547.html -- Eric Botcazou

Re: [PATCH] Improve debug message

2012-11-28 Thread Eric Botcazou
g message. That's fine, thanks. -- Eric Botcazou

Re: [0/8] Add optabs alternatives for insv, extv and extzv

2012-11-28 Thread Eric Botcazou
re we set the size based on the type even if > it doesn't match the mode. I think that's wrong, we should have S4 and drop the MEM_EXPR as we would do it with adjust_bitfield_address. In other words, if the size computed from the tree is smaller than the mode size, we don't use it and clear MEM_EXPR. -- Eric Botcazou

Re: [patch] Fix PR middle-end/55321

2012-11-29 Thread Eric Botcazou
as no-nonlocal. Tested on x86_64-suse-linux, OK for the mainline? 2012-11-29 Eric Botcazou PR middle-end/55321 * calls.c (emit_library_call_value_1): Mark as no-nonlocal if no-throw. -- Eric BotcazouIndex: calls.c ==

Re: [0/8] Add optabs alternatives for insv, extv and extzv

2012-11-29 Thread Eric Botcazou
ld functions > and is more generally in keeping with the existing checks. > (It's deliberately more conservative though, only using register > bitfields if both the bit_field_mode_iterator and strict volatile > bitfield rules are met.) Well, rewriting the bitfield machinery of the middle-end is a once-in-a-decade undertaking, so some fallouts are to be expected. :-) That wasn't too bad in the end. But I agree with the cautious approach from now on. -- Eric Botcazou

Re: [PATCH] Don't bypass blocks with multiple latch edges (PR middle-end/54838)

2012-11-29 Thread Eric Botcazou
under which we mark the loop for removal? Or maybe we should call disambiguate_loops_with_multiple_latches on entry of the pass? Richard, what would be the "modern" approach to solving the problem here? -- Eric Botcazou

Re: [PATCH] Don't bypass blocks with multiple latch edges (PR middle-end/54838)

2012-11-30 Thread Eric Botcazou
d to change that. Removing the above condition is equivalent to early returning from bypass_block for all potential headers. > Let's declare the GIMPLE level did all interesting threadings through > headers. The testcase is precisely a counterexample with 2 latch edges. But OK, let's punt if there is more than a single (potential) latch edge. -- Eric Botcazou

Re: [PATCH] Don't bypass blocks with multiple latch edges (PR middle-end/54838)

2012-11-30 Thread Eric Botcazou
NULL, we use your above method to do the same, 3) once this is done, we return from the function before entering the loop if this is a (potential) header with more than 1 (potential) latch edge. The comment can say that threading through a loop header with more than 1 latch edge is delicate and cite tree-threadupdate.c:thread_through_loop_header. -- Eric Botcazou

Fix segfault on degenerate bitfield case

2012-11-30 Thread Eric Botcazou
86-64/Linux, applied on the mainline as obvious. 2012-11-30 Eric Botcazou * stor-layout.c (bit_field_mode_iterator::bit_field_mode_iterator): Deal with degenerate cases where the bitsize isn't positive. Rework comment. 2012-11-30 Eric Botcazou * gnat.dg/specs

Re: [RFA:] fix PR55030, wrong code from __builtin_setjmp_receiver

2012-11-30 Thread Eric Botcazou
need some additional cselib_init flag how we want to treat > volatile asms... For UNSPEC_VOLATILE, perhaps even DSE should stay > conservative, but for var-tracking.c I still don't see a reason for that. Thank you (as well as the others) for the detailed feedback. Clearly my initial stance on this was a bit extreme and needs to be watered down. I'll ponder about this over the week-end and propose something next week. -- Eric Botcazou

Re: [RFA:] fix group-loads of VOIDmode constants, expr.c:emit_group_load_1

2012-12-01 Thread Eric Botcazou
mode constants, at least to be callable on them, because there is the simplify_gen_subreg -> simplify_subreg -> simplify_immed_subreg path. -- Eric Botcazou

Re: Fix twolf -funroll-loops -O3 miscompilation (a semi-latent web.c bug)

2012-12-01 Thread Eric Botcazou
s REG_EQ* notes, so it seems like we're back to the earlier trick of using df_note_add_problem to clean up pre-existing REG_EQ* notes. -- Eric Botcazou

Re: [PATCH] Don't bypass blocks with multiple latch edges (PR middle-end/54838)

2012-12-02 Thread Eric Botcazou
gcc.dg/pr54838.c: New test. That's fine, thanks for your patience. -- Eric Botcazou

[patch] Small tweak to -Wuninitialized

2012-12-03 Thread Eric Botcazou
:4:4: warning: 'Last' may be used uninitialized in this function [- Wuninitialized] Of course the story under the hood is a bit different, but this doesn't really matter to the user I think, so I propose using the -Wmaybe-uninitialized tag in both cases. Tested on x86-64-suse-linux, O

Re: Reduce complette unrolling & peeling limits

2012-12-03 Thread Eric Botcazou
installed, has it? The test still takes 20s to compile at -O3 on a fast x86-64 box, so you can imagine what this yields on slower machines (and that's before the x4 because of the various dg-torture options). -- Eric Botcazou

Re: [IA-64] Fix dynamic allocation in leaf functions

2012-12-03 Thread Eric Botcazou
> 2012-11-19 Eric Botcazou > > * config/ia64/ia64.c (ia64_compute_frame_size): Allocate the scratch > area if the function allocates dynamic stack space. > (ia64_initial_elimination_offset): Adjust offsets to above change. Ping: http://gcc.gnu.org/ml/gcc-

Re: Fix twolf -funroll-loops -O3 miscompilation (a semi-latent web.c bug)

2012-12-03 Thread Eric Botcazou
em to clean up pre-existing REG_EQ* > > notes. > Again: Not really. I also bootstrapped&tested without the cse.c change. The cse.c hunk is OK then. > I plan (and promise ;-) to add a REG_EQ* note verifier for GCC 4.9. Thanks (no need to promise though :-), that will be helpful. In the meantime, I don't think that we should aim for perfection in 4.8, these REG_EQ* notes and their quirks have been with us for a long time... -- Eric Botcazou

Re: Fix twolf -funroll-loops -O3 miscompilation (a semi-latent web.c bug)

2012-12-03 Thread Eric Botcazou
r no good reason. Can't you just use the same best-effort approach used for fwprop.c here? -- Eric Botcazou

Re: [i386] scalar ops that preserve the high part of a vector

2012-12-05 Thread Eric Botcazou
rt though. You should ask RTH instead here (CCed), who has a far more comprehensive view of this stuff than me. -- Eric Botcazou

Re: [PATCH, 4.7 testsuite]: Move stack_check3.ad[sb] to gnat.dg directory ...

2012-12-07 Thread Eric Botcazou
> 2012-12-07 Uros Bizjak > > * stack_check3.ad[sb]: Move to gnat.dg. > > [Patch omitted, since it is just trivial move.] Thanks for fixing this! -- Eric Botcazou

Fix ICE on loop over constant vector at -O

2012-12-08 Thread Eric Botcazou
linux, applied on the mainline as obvious. 2012-12-08 Eric Botcazou * tree-ssa-loop-im.c (for_each_index) : New case. 2012-12-08 Eric Botcazou * gnat.dg/vect9.ad[sb]: New test. * gnat.dg/vect9_pkg.ads: New helper. -- Eric BotcazouIndex: tree-ssa-loop

[Ada] Fix ICE with overaligned vectors on IA-64

2012-12-08 Thread Eric Botcazou
-linux, applied on the mainline. 2012-12-08 Eric Botcazou * gcc-interface/trans.c (Subprogram_Body_to_gnu): Be prepared for a by-ref VAR_DECL in the case of an Out parameter passed by copy. 2012-12-08 Eric Botcazou * gnat.dg/vect10.ad[sb]: New test. -- Eric

[Ada] Add obvious assertion

2012-12-08 Thread Eric Botcazou
This adds an obvious assertion in the N_Indexed_Component case of gnat_to_gnu so as to avoid the associated crash a few lines below. Tested on x86_64-suse-linux, applied on the mainline. 2012-12-08 Eric Botcazou * gcc-interface/trans.c (gnat_to_gnu) : Assert that the type

Re: [PATCH] Don't drop DECL_INITIAL if -g for DWARF2+ (PR fortran/55395)

2012-12-08 Thread Eric Botcazou
patch as obvious after testing on x86-64/Linux. 2012-12-08 Eric Botcazou * lto-streamer-out.c (lto_write_tree): Do not reset the DECL_INITIAL of variables in the global contant pool. -- Eric BotcazouIndex: lto-streamer-out.c

Re: Fix ICE on loop over constant vector at -O

2012-12-10 Thread Eric Botcazou
y prevent that in gigi because it will need to be spilled to memory given the above access pattern, so I don't really see the problem. Here's the access in .optimized: _38 = MEM[symbol: pkg__zero_unit, index: ivtmp.38_27, step: 4, offset: -4B]; -- Eric Botcazou

[C++] Add missing dependency on $(PARAMS_H)

2012-12-10 Thread Eric Botcazou
When you add a new --param entry and rebuild an existing compiler, you get weird C++ regressions in the testsuite because of outdated object files. Tested on x86_64-suse-linux, applied on the mainline as obvious. 2012-12-10 Eric Botcazou * Make-lang.in (cp/typeck.o): Add dependency

[Ada] Do not invoke gnatls unconditionally

2012-12-11 Thread Eric Botcazou
Even if the Ada language isn't enabled, the Make-lang.in fragment of the Ada compiler is processed and invokes gnatls unconditionally, which can result in error messages if the command isn't present. Tested on x86_64-suse-linux, applied on the mainline. 2012-12-11 Eri

Fix minor regression with size functions

2013-04-28 Thread Eric Botcazou
It's a minor regression present on mainline and 4.8 branch: the size functions are output as (no-fn) in the .original dump file. Bootstrapped/regtested on x86_64-suse-linux, applied on the mainline and 4.8 branch as obvious (this only affects the Ada compiler). 2013-04-28 Eric Bot

Re: [PATCH] Fix up make_compound_operation (PR rtl-optimization/57130)

2013-05-03 Thread Eric Botcazou
tested on x86_64-linux and i686-linux, ok for trunk/4.8? > > 2013-05-02 Jakub Jelinek > > PR rtl-optimization/57130 > * combine.c (make_compound_operation): For SUBREG, pass > SET instead of COMPARE as in_code to the recursive call > if needed. * combine.c (make_compound_operation) : Pass... -- Eric Botcazou

Re: [PATCH] Fix up make_compound_operation (PR rtl-optimization/57130)

2013-05-03 Thread Eric Botcazou
there is just to be safe? No, I was reasoning backward, the patch is OK as-is, thanks. -- Eric Botcazou

Re: [PATCH] Fix array sizes created by Java FE (PR libgcj/57074)

2013-05-04 Thread Eric Botcazou
e, right? IMO this should be fixed instead since this could run afoul of various optimizations using array_ref_up_bound for example. -- Eric Botcazou

Re: [PATCH] Fix array sizes created by Java FE (PR libgcj/57074)

2013-05-04 Thread Eric Botcazou
UNIT of 1. > > struct { > char a3c; > char a3p[]; > } a3 = { > 'o', > "wx" > }; > > struct { > char a4c; > char a4p[]; > } a4 = { > '9', > { 'e', 'b' } > }; Flexible array members (or related GNU extensions) are a specific issue, reported under PR middle-end/28865. -- Eric Botcazou

[ping] Introduce #pragma GCC diagnostic off

2013-05-06 Thread Eric Botcazou
It's at http://gcc.gnu.org/ml/gcc-patches/2013-04/msg01149.html Thanks in advance. -- Eric Botcazou

Fix PR ada/56474

2013-05-07 Thread Eric Botcazou
ed on mainline and branch. 2013-05-07 Eric Botcazou PR ada/56474 * gcc-interface/decl.c (gnat_to_gnu_entity) : Use int_const_binop to shift bounds by 1 when they are integer constants. 2013-05-07 Eric Botcazou * gnat.dg/specs/array3.ads: New test. --

Re: sparc64*-*-rtems* should not define __svr4__

2013-05-14 Thread Eric Botcazou
> sparc64*-*-rtems* ends up with __svr4__ defined. The attached > patch corrects that. Let's remove the FIXME instead. Applied to mainline. 2013-05-14 Eric Botcazou * config/sparc/sp64-elf.h (CPP_SUBTARGET_SPEC): Delete. * config/sparc/openbsd64.h (CPP_SUB

Re: [patch] struct resources: remove unch_memory member

2013-05-14 Thread Eric Botcazou
ched-deps based delay slot scheduler managed to fill. I've been in the business lately so I'm interested in all things reorg.c. :-) > Bootstrapped&tested on sparc64-unknown-linux-gnu. OK for trunk? Fine with me. -- Eric Botcazou

Re: sparc64*-*-rtems* should not define __svr4__

2013-05-14 Thread Eric Botcazou
> I forgot to ask. Did you put this on the open branches as well? 4.7 and 4.8. No, on mainline only (as written in the previous message). I can backport to 4.8 though, but it's too late for 4.7. -- Eric Botcazou

Re: [patch] Preserve the CFG until after final

2013-05-21 Thread Eric Botcazou
d of creating "a facsimile of one on the fly" (see > dwarf2cfi.c). I think that an incremental step would be to allow the machine reorg pass to use the CFG, even if it doesn't maintain it. For the rest I'm not sure, as long as we have the dbr_schedule blocker. -- Eric Botcazou

[rs6000] Add register save/restore routines for cross

2013-05-21 Thread Eric Botcazou
Hi, this adds the register save/restore routines to libgcc for a couple of cross platforms that we use (powerpc-elf and powerpc-wrs-vxworks). OK for mainline? 2013-05-20 Eric Botcazou libgcc/ * config.host (powerpc-*-elf*): Add rs6000/t-savresfgpr to tmake_file. (powerpc

Re: [patch] Preserve the CFG until after final

2013-05-22 Thread Eric Botcazou
ad: 1. Remove pass_free_cfg from the pipeline, 2. Remove compute_bb_for_insn from all the md_reorg passes that call it, 3. (Optionally) Do pass_free_cfg from all the md_reorg passes that don't, 4. Do pass_free_cfg at the beginning of pass_delay_slots, 5. Do pass_free_cfg at the end of pass_split_for_shorten_branches, -- Eric Botcazou

Re: RFA: fix rtl-optimization/56833

2013-05-22 Thread Eric Botcazou
reg_symbol_ref[i] = NULL_RTX; reg_mode[i] = VOIDmode; } so I'm not sure whether we really properly handle multi hard-registers. So what about explicitly punting for multi hard-registers in reload_cse_move2add? Do you think that this would pessimize too much in practice? -- Eric Botcazou

[SPARC] Small tweaks to config/sparc/sol2-unwind.h

2013-05-22 Thread Eric Botcazou
, applied on the mainline. 2013-05-22 Eric Botcazou * config/sparc/sol2-unwind.h (sparc64_frob_update_context): Do it for signal frames as well. (MD_FALLBACK_FRAME_STATE_FOR): Do minor cleanups throughout and add the STACK_BIAS to the CFA offset. -- Eric

Re: [PATCH] Do not allow non-top-level BIT_FIELD_REFs, IMAGPART_EXPRs or REALPART_EXPRs

2013-05-23 Thread Eric Botcazou
t I think that you ought to verify the real assumption instead, which is that the type of the 3 nodes is always scalar. The non-toplevelness of the nodes is merely a consequence of this property. -- Eric Botcazou

Re: RFA: fix rtl-optimization/56833

2013-05-23 Thread Eric Botcazou
d call it from there. Similarly, the 3 new checks look strictly identical. -- Eric Botcazou

Re: [patch] Preserve the CFG until after final

2013-05-23 Thread Eric Botcazou
neric passes (or entire new CFG- based late generic passes), leaving the architectures with delay slots dead in the water. > But if I still haven't convince you, I'll prepare a patch along those lines. I honestly cannot approve a patch that segregates the architectures with delay slots from the others. Now, if another maintainer thinks this is the right call to make here, I won't oppose. -- Eric Botcazou

Partial fix for PR opt/55177

2013-05-23 Thread Eric Botcazou
The PR is about missed simplifications for __builtin_swap. IIUC Andrew has patches for them at the Tree level, but I think having basic simplifications at the RTL level for BSWAP is also worthwhile, hence the attached patch. Tested on x86_64-suse-linux. Comments? 2013-05-23 Eric Botcazou

[Solaris] Catch FP exceptions

2013-05-23 Thread Eric Botcazou
er is fooled and miscomputes the faulting address. Fixed thusly, tested on x86/Solaris and SPARC/Solaris, OK for mainline? 2013-05-23 Eric Botcazou libgcc/ * config/sparc/sol2-unwind.h (MD_FALLBACK_FRAME_STATE_FOR): Do not set fs->signal_frame for SIGFPE raised for IEEE-754 ex

Re: SUBREGs in move2add_note_store (Was: Re: RFA: fix rtl-optimization/56833)

2013-05-24 Thread Eric Botcazou
7 +2288,17 @@ move2add_note_store (rtx dst, const_rtx [...] +invalidate: + /* Invalidate the contents of the register. */ + reg_set_luid[regno] = 0; + move2add_record_mode (dst); The intent is the same, why don't we have the same code? -- Eric Botcazou

Re: Fix PR tree-optimization/57322

2013-05-24 Thread Eric Botcazou
> 2013-05-19 Easwaran Raman > > PR tree-optimization/57322 > * (build_and_add_sum): If a BB is empty, set the UID of the > statement added to the BB to be 1. Missing filename in the ChangeLog. -- Eric Botcazou

[Ada] Use discriminant subtype constraints in derivation

2013-05-24 Thread Eric Botcazou
. Tested on x86_64-suse-linux, applied on the mainline. 2013-05-24 Eric Botcazou * gcc-interface/decl.c (gnat_to_gnu_entity) : Constify a handful of local variables. For a derived untagged type that renames discriminants, change the type of the stored discriminants to

[Ada] Add support for pragma No_Inline

2013-05-24 Thread Eric Botcazou
and implement for suppressed inlining. 2013-05-24 Eric Botcazou * gnat.dg/specs/noinline1.ads: New test. * gnat.dg/noinline2.ad[sb]: Likewise. * gnat.dg/specs/noinline3.ads: Likewise. * gnat.dg/specs/noinline3_pkg.ad[sb]: New helper. -- Eric Botcazou-- { dg

[Ada] Coordinate front-end and middle-end floating-point settings

2013-05-24 Thread Eric Botcazou
, -fsigned-zeros is enabled in the compiler; otherwise, it is disabled (unless overridden by the user). Tested on x86_64-suse-linux, applied on the mainline. 2013-05-24 Eric Botcazou * gcc-interface/gigi.h (gnat_init_gcc_fp): Declare. * gcc-interface/trans.c (gigi): Call it

Re: [PATCH] Do not allow non-top-level BIT_FIELD_REFs, IMAGPART_EXPRs or REALPART_EXPRs

2013-05-24 Thread Eric Botcazou
> 2013-05-23 Martin Jambor > > * tree-cfg.c (verify_expr): Verify that BIT_FIELD_REFs, IMAGPART_EXPRs > and REALPART_EXPRs have scalar type. I cannot formally approve, but this looks the right test to me. -- Eric Botcazou

Re: [PATCH] Do not allow non-top-level BIT_FIELD_REFs, IMAGPART_EXPRs or REALPART_EXPRs

2013-05-24 Thread Eric Botcazou
t;>? Sure, you can apply VIEW_CONVERT_EXPR to whatever you want, but does that count as non-toplevelness? Won't SRA already punt on such abomination? -- Eric Botcazou

Re: Partial fix for PR opt/55177

2013-05-25 Thread Eric Botcazou
#x27;ll take a look. -- Eric Botcazou

Re: [PATCH] Fix incorrect discriminator assignment.

2013-05-25 Thread Eric Botcazou
uite entry, several typos, etc). Please fix. -- Eric Botcazou

[Ada] Fix link failure for renamed aliased object with unconstrained type

2013-05-26 Thread Eric Botcazou
It's a rather obscure case and comes from the change of representation for aliased objects with unconstrained nominal type that we made last year. Tested on x86_64-suse-linux, applied on the mainline. 2013-05-26 Eric Botcazou * gcc-interface/decl.c (gnat_to_gnu_entity) : A

[Ada] Fix ICE on type completed by private type in Ada 2012

2013-05-26 Thread Eric Botcazou
-linux, applied on the mainline. 2013-05-26 Eric Botcazou * gcc-interface/decl.c (gnat_to_gnu_entity): Do not prematurely elaborate the full view of a type with a freeze node. * gcc-interface/trans.c (process_type): Add explicit predicate. 2013-05-26 Eric Botcazou

[Ada] Fix awkward stepping over CW var assignment in GDB

2013-05-26 Thread Eric Botcazou
On specific platforms, stepping over an assignment to a class-wide variable in GDB leads to an awkward behavior. Fixed thusly. Tested on x86_64-suse-linux, applied on the mainline. 2013-05-26 Eric Botcazou * gcc-interface/gigi.h (make_aligning_type): Adjust prototype

[Ada] Fix handling of Machine_Attribute on types

2013-05-26 Thread Eric Botcazou
This fixes the handling of Machine_Attribute applied to types in gigi, which doesn't really work because the attribute is applied to the TYPE_DECL. Tested on x86_64-suse-linux, applied on the mainline. 2013-05-26 Eric Botcazou * gcc-interface/gigi.h (create_type_decl): A

[Ada] Fix 'Last_Bit attribute applied to zero-sized type

2013-05-26 Thread Eric Botcazou
The value of the attribute should be -1 if an object of such a type is placed on a storage unit boundary, but the compiler was generating Storage_Error. Tested on x86_64-suse-linux, applied on all active branches. 2013-05-26 Eric Botcazou * gcc-interface/trans.c (Attribute_to_gnu

[Ada] Fix layout of variant record under partial rep clause

2013-05-26 Thread Eric Botcazou
the way we lay out the variant part (by using an enclosing QUAL_UNION_TYPE). Tested on x86_64-suse-linux, applied on the mainline. 2013-05-26 Eric Botcazou * gcc-interface/decl.c (vinfo_t): New type and associated vector. (components_to_record): Change return type to bool

[Ada] Disable assertion in ASIS mode

2013-05-26 Thread Eric Botcazou
The assertion is too strong in ASIS mode, where all the types aren't laid out. Tested on x86_64-suse-linux, applied on the mainline. 2013-05-26 Eric Botcazou * gcc-interface/decl.c: (gnat_to_gnu_entity): In ASIS mode, do not check that access types have a set

Re: RFA: fix rtl-optimization/56833

2013-05-27 Thread Eric Botcazou
ons. The patch is OK with these modifications if it still passes testing. -- Eric Botcazou

[ping] couple of pending patches

2013-05-27 Thread Eric Botcazou
Hi, Add workaround for LEON 3 FP errata (for the builtins.c bits): http://gcc.gnu.org/ml/gcc-patches/2012-11/msg01950.html Introduce #pragma GCC diagnostic off (for the diagnostic.c bits): http://gcc.gnu.org/ml/gcc-patches/2013-04/msg01149.html Thanks in advance. -- Eric Botcazou

[SPARC] Minor tweak to uses of bmasksi_vis

2013-05-28 Thread Eric Botcazou
This changes the 3 occurrences of bmasksi_vis to use %g0 as the destination register instead of an otherwise unused pseudo-register. Tested on SPARC/Solaris, applied on the mainline. 2013-05-28 Eric Botcazou * config/sparc/sparc.c (sparc_expand_vec_perm_bmask): Use %g0 as

Re: Partial fix for PR opt/55177

2013-05-28 Thread Eric Botcazou
inline. 2013-05-28 Eric Botcazou * gcc.dg/builtin-bswap-8.c: Compile at -O2. * gcc.dg/builtin-bswap-9.c: Likewise. -- Eric BotcazouIndex: gcc.dg/builtin-bswap-8.c === --- gcc.dg/builtin-bswap-8.c (revision

Re: [Solaris] Catch FP exceptions

2013-05-28 Thread Eric Botcazou
* The new gnat.dg/fp_exception.adb test fails on Solaris 9 and 10/x86, > Solaris 9 and 11/SPARC: > > +FAIL: gnat.dg/fp_exception.adb execution test > > raised CONSTRAINT_ERROR : SIGFPE Patch collision. After 2013-05-24 Eric Botcazou * gcc-interface/gigi.h (gnat_init_gcc_fp

Re: [Solaris] Catch FP exceptions

2013-05-28 Thread Eric Botcazou
40623E+06 expected: > 1.40622E+06 difference: 4.0E+00 max err: > 3.68797E+00 efactor: 1.40623E+06. > CXG2021 FAILED . I can reproduce with the unpatched compiler. Investigating... -- Eric Botcazou

[IA-64] Improve FP comparisons with -fno-trapping-math

2013-05-29 Thread Eric Botcazou
e.g. in ia64_print_operand) but it was rightfully disabled. Tested on IA-64/Linux and IA-64/HP-UX, OK for the mainline? 2013-05-29 Eric Botcazou * config/ia64/predicates.md (ia64_cbranch_operator): Accept unordered comparison operators when -fno-trapping-math is in effect.

[rs6000] Improve FP comparisons with -fno-trapping-math

2013-05-29 Thread Eric Botcazou
trapping-math is in effect. As a matter of fact, a partial support was already there (e.g. in rs6000_generate_compare) but it was disabled. Tested on e500v2/Linux and PowerPC/Linux, OK for the mainline? 2013-05-29 Eric Botcazou * config/rs6000/predicates.md (rs6000_cbra

Re: [IA-64] Improve FP comparisons with -fno-trapping-math

2013-05-29 Thread Eric Botcazou
heless compile them with -ffast-math? -- Eric Botcazou

Re: [IA-64] Improve FP comparisons with -fno-trapping-math

2013-05-29 Thread Eric Botcazou
son operators and that you need to enable the Invalid Operation trap to get a fault from Invalid. The IEEE standard also says that comparisons by way of unordered signaling predicates raise the "invalid operation exception", just like the regular operations. That being said, I can

Re: [patch, mips] Fix for PR target/56942

2013-05-30 Thread Eric Botcazou
. > Build&tested powerpc64 X mips-elf. > > OK for trunk? Yes, but I'd go one step farther and replace next_active_insn with NEXT_INSN in tablejump_p; however it's your call. -- Eric Botcazou

Re: [ada, build] host/target configuration

2013-05-30 Thread Eric Botcazou
> However, it seems that the first androideabi snippet was dead code. > Can you delete it in a follow-up? No, it's not dead code, just broken at the moment, now fixed by: 2013-05-30 Eric Botcazou * gcc-interface/Makefile.in (arm% androideabi): Robustify. -- Eric Bo

<    24   25   26   27   28   29   30   31   32   33   >