Re: [C PATCH] Implement -Wc90-c99-compat (PR c/51849)

2014-08-06 Thread Marek Polacek
Ping. On Thu, Jul 31, 2014 at 09:39:21AM +0200, Marek Polacek wrote: > One of the prerequisites to moving the default from gnu89 to gnu11 > is that we need both -Wc90-c99-compat and -Wc99-c11-compat options. > This patch implements the former. Its purpose is similar to > -Wtraditional - that peop

RE: [PATCH] Add target hook to override DWARF2 frame register size

2014-08-06 Thread Matthew Fortune
> Please don't add target macros. Add a hook if you must, but we're > supposed to remove target macros, not add new ones :-) Thanks Steven, I wasn't sure if there were still things that were acceptable as macros. There's a lot to get rid of still. Updated patch using a target hook. I've opted to

Re: [PATCH, trans-mem, PR 61393] Copy tm_clone field of cgraph_node when cloning the node

2014-08-06 Thread Patrick Marlier
Hi Martin, On Wed, Aug 6, 2014 at 4:02 PM, Martin Jambor wrote: > Hi, > > On Wed, Jul 30, 2014 at 06:56:05PM +0200, Martin Jambor wrote: >> Hi, >> >> IPA-CP can wreck havoc to transactional memory support as described in >> the summary of the PR in bugzilla. It seems the cause is that IPA-CP >>

RE: [PATCH] Fix confusion between target, host and symbolic number byte sizes

2014-08-06 Thread Thomas Preud'homme
I suppose people were busy when I posted this patch and it got forgotten since so here is a little ping. Best regards, Thomas > -Original Message- > From: gcc-patches-ow...@gcc.gnu.org [mailto:gcc-patches- > ow...@gcc.gnu.org] On Behalf Of Thomas Preud'homme > Sent: Friday, July 04, 2014

Re: [PATCH 2/2] Enable elimination of zext/sext

2014-08-06 Thread Kugan
On 06/08/14 23:29, Richard Biener wrote: > On Wed, Aug 6, 2014 at 3:21 PM, Kugan > wrote: >> On 06/08/14 22:09, Richard Biener wrote: >>> On Tue, Aug 5, 2014 at 4:21 PM, Jakub Jelinek wrote: On Tue, Aug 05, 2014 at 04:17:41PM +0200, Richard Biener wrote: > what's the semantic of setting

Re: [PATCH powerpc64] Add a new constraint to insn movdi_internal64

2014-08-06 Thread Segher Boessenkool
On Wed, Aug 06, 2014 at 04:48:26PM -0700, Carrot Wei wrote: > - mtvsrd %x0,%1" > - [(set_attr "type" > "store,load,*,*,*,*,fpstore,fpload,fp,mfjmpr,mtjmpr,*,mftgpr,mffgpr,mftgpr,mffgpr") > - (set_attr "length" "4,4,4,4,4,20,4,4,4,4,4,4,4,4,4,4")]) > + mtvsrd %x0,%1 > + xxlxor %x0,%x0" > +

Re: C++ PATCH for c++/60417 (explicit ctor vs aggregate init)

2014-08-06 Thread Jason Merrill
On 08/01/2014 08:51 PM, Jason Merrill wrote: ...and for array initialization as well. Small tweak: we don't need to mess with empty_list if we don't have any trailing elements to initialize. commit 44aef29c18bfd087d9b7bd72699bad9c72e272fb Author: Jason Merrill Date: Wed Aug 6 15:22:44 20

C++ PATCHes to build_vec_init for c++/61994

2014-08-06 Thread Jason Merrill
The first patch is a simple fix for the testcase in 61994: if we build an INIT_EXPR, it should have array type, not pointer type. But looking at that bug, I noticed a wrong-code bug as well: in cases like the testcase in 61994 where all the initializers are constant, we were failing to initial

Re: Patch for constexpr variable templates

2014-08-06 Thread Jason Merrill
On 08/05/2014 04:06 PM, Paolo Carlini wrote: Great. I will double check but var-templ4.C fails for me with an ICE. Hunh, I wonder how I missed that. Here's what I'm checking in; we want to unset DECL_COMDAT for variable templates, too. commit b79ecb5928b875ba38b78a3fadb0dd70d6262513 Author

Re: [PATCH 199/236] Introduce rtx_insn_list subclass of rtx_def

2014-08-06 Thread Trevor Saunders
On Wed, Aug 06, 2014 at 01:22:58PM -0400, David Malcolm wrote: > +class GTY(()) rtx_insn_list : public rtx_def > +{ > + /* No extra fields, but adds invariant: (GET_CODE (X) == INSN_LIST). some nice future work would be to see if these can stop being rtxen at all and just have a insn and next poi

Re: [GOOGLE] Do not partition the cold/hot sections of a function with "section" attribute

2014-08-06 Thread Dehao Chen
OK for google-4_8 and google-4_9. David and Teresa may have further comments. Dehao On Wed, Aug 6, 2014 at 3:36 PM, Yi Yang wrote: > This currently puts split sections together again in the specified > section and breaks DWARF output. This patch disables the partitioning > for such functions. >

[PATCH powerpc64] Add a new constraint to insn movdi_internal64

2014-08-06 Thread Carrot Wei
Hi When compiling an internal application I got an ICE due to an invalid instruction generated by reload. Before IRA, I have following insns: (insn 139 136 581 10 (set (reg:DI 567) (const_int 0 [0])) ./strings/stringpiece.h:205 discrim 1 520 {*movdi_internal64} (expr_list:REG_EQUIV

Re: [C PATCH] Discard P - (P + CST) optimization in pointer_diff (PR c/61240)

2014-08-06 Thread DJ Delorie
> > There's still lots of places in gcc that use SIZE where they should > > use PRECISION. > > Yes, and in time, they’ll all get cleaned up. Hopefully not much time, if I can get my patches commit-worthy. I'm actually debugging a pointer-signed-math regression now. > > I also added a step that

[GOOGLE] Do not partition the cold/hot sections of a function with "section" attribute

2014-08-06 Thread Yi Yang
This currently puts split sections together again in the specified section and breaks DWARF output. This patch disables the partitioning for such functions. -- 2014-08-06 Yi Yang gcc: * bb-reorder.c (gate_handle_partition_blocks): Add a check for "section" attribute. diff --git gcc/bb-re

Re: [PATCH] C++ thunk section names

2014-08-06 Thread Sriraman Tallam
Hi, Just wondering if you got a chance to look at this? Sri On Tue, Jul 8, 2014 at 10:45 AM, Sriraman Tallam wrote: > On Tue, Jul 8, 2014 at 10:38 AM, Sriraman Tallam wrote: >> On Mon, Jul 7, 2014 at 11:48 AM, Jan Hubicka wrote: >>> Hello, >>> I apologize for taking so long to get into this p

Re: [C PATCH] Discard P - (P + CST) optimization in pointer_diff (PR c/61240)

2014-08-06 Thread Mike Stump
On Aug 6, 2014, at 12:45 PM, DJ Delorie wrote: > >> What’s PSImode? > > PSImode is a mode with more precision than HImode, but less than SImode. :-) I phrase it this way, there is no PSImode anymore in gcc. It is gone, the concept is gone. Some ports can choose to create a mode for the port

Re: [PATCH 149/236] config/sh: Use rtx_insn and rtx_code_label

2014-08-06 Thread Oleg Endo
On Wed, 2014-08-06 at 13:22 -0400, David Malcolm wrote: > gcc/ > * config/sh/sh-protos.h (output_ieee_ccmpeq): Strengthen param 1 > from rtx to rtx_insn *. > (output_branchy_insn): Likewise for param 3. > (output_far_jump): Likewise for param 1. > (final_prescan_insn):

Re: [PATCH] PowerPC: Implement TARGET_ATOMIC_ASSIGN_EXPAND_FENV

2014-08-06 Thread Adhemerval Zanella
On 01-08-2014 12:31, Joseph S. Myers wrote: > On Thu, 31 Jul 2014, David Edelsohn wrote: > >> Thanks for implementing the FENV support. The patch generally looks >> good to me. >> >> My one concern is a detail in the implementation of "update". I do not >> have enough experience with GENERIC to v

Re: [C PATCH] Discard P - (P + CST) optimization in pointer_diff (PR c/61240)

2014-08-06 Thread Mike Stump
On Aug 6, 2014, at 12:56 AM, Richard Biener wrote: >> My concern is the code we're removing discusses the need to simplify when >> these expressions are in static initializers. What's going to ensure that >> we're still simplifying instances which appear in static initializers? I >> don't see an

Re: [PATCH 195/236] Convert PATTERN from a macro to a pair of inline functions

2014-08-06 Thread David Malcolm
On Wed, 2014-08-06 at 20:03 +0200, Jakub Jelinek wrote: > On Wed, Aug 06, 2014 at 01:22:54PM -0400, David Malcolm wrote: > > gcc/ > > * rtl.h (PATTERN): Convert this macro into a pair of inline > > functions, for now, requiring const_rtx and rtx. > > --- > > gcc/rtl.h | 10 +- > >

Re: [C PATCH] Discard P - (P + CST) optimization in pointer_diff (PR c/61240)

2014-08-06 Thread DJ Delorie
Responding wrt "DJ's proposed changes": > > As to what bits are modified, that's target dependent as the > > precise size of the partial modes is target dependent. > > GET_MODE_PRECISION (mode) is the precision of all modes. True, but not all the compiler uses that info when it should. There a

Re: [C PATCH] Discard P - (P + CST) optimization in pointer_diff (PR c/61240)

2014-08-06 Thread Mike Stump
On Aug 6, 2014, at 9:04 AM, Jeff Law wrote: >> which we may restrict better with checking whether the pointer >> uses a partial integer mode. Not sure how PSImode -> SImode >> "extends" on RTL? > Well, at least on the mn102, I defined both a zero and sign extension for PSI > -> SI. So whichever

[PATCH, Fortran] PR fortran/60414 fix ICE was: PR 60414: Patch proposal

2014-08-06 Thread Andre Vehreschild
Hi, thanks for all the input. The issue to patch is an ICE while compiling a call of a generic method using an array reference, e.g., this.Check(vec(1)) where Check aggregates an implementation for an array parameter and one with a scalar parameter. Based on Mikael's input, I analyzed the code

gcov rearrangement

2014-08-06 Thread Nathan Sidwell
This patch combines some distinct global variables into a single structure. It gets rid of the final bits of user namespace pollution and allows the renamed gcov_clear to reside in the object file that uses it. I'll commit shortly and then get to the cros-shared object behaviour. nathan 2014-

Re: [PATCH 03/50] bt-load.c:find_btr_use

2014-08-06 Thread Jeff Law
On 08/03/14 07:44, Richard Sandiford wrote: With the move away from for_each_rtx and the separate static variable used to communicate the found reference, there's not really any need to keep btr_referenced_p and find_btr_use separate. gcc/ * bt-load.c: Include rtl-iter.h. (btr_r

Re: [PATCH 40/50] rtlanal.c:for_each_inc_dec

2014-08-06 Thread Jeff Law
On 08/03/14 08:32, Richard Sandiford wrote: The old for_each_inc_dec callback had a for_each_rtx-like return value, with >0 being returned directly, 0 meaning "continue" and <0 meaning "skip subrtxes". But there's no reason to distinguish the latter two cases since auto-inc/dec expressions aren'

Re: [PATCH 11/50] Faster for_each_rtx-like iterators

2014-08-06 Thread Jeff Law
On 08/03/14 07:55, Richard Sandiford wrote: The order of the arguments matches canon_anti_dependence rather than the order of the old structure fields. gcc/ * cse.c (check_dependence_data): Delete. (check_dependence): Change from being a for_each_rtx callback to being a

Re: [C++ Patch/RFC] PR 43906

2014-08-06 Thread Jason Merrill
OK, thanks. Jason

Re: [PATCH 08/50] Faster for_each_rtx-like iterators

2014-08-06 Thread Jeff Law
On 08/03/14 07:52, Richard Sandiford wrote: gcc/ * combine-stack-adj.c: Include rtl-iter.h. (record_stack_refs_data): Delete. (record_stack_refs): Turn from being a for_each_rtx callback to being a function that examines each subrtx itself. Take a pointer t

Re: [PATCH 12/50] cse.c:check_for_label_ref

2014-08-06 Thread Jeff Law
On 08/03/14 07:56, Richard Sandiford wrote: gcc/ * cse.c (check_for_label_ref): Move earlier in file. Turn from being a for_each_rtx callback to being a function that examines each subrtx itself. (cse_extended_basic_block): Update call accordingly. OK. Jeff

Re: [PATCH 23/50] function.c:instantiate_virtual_regs_in_rtx

2014-08-06 Thread Jeff Law
On 08/03/14 08:09, Richard Sandiford wrote: gcc/ * function.c: Include rtl-iter.h (instantiate_virtual_regs_in_rtx): Turn from being a for_each_rtx callback to being a function that examines each subrtx itself. Return the changed flag. (instantiate_virtual_

Re: [PATCH 30/50] lower-subreg.c:resolve_subreg_use

2014-08-06 Thread Jeff Law
On 08/03/14 08:15, Richard Sandiford wrote: gcc/ * lower-subreg.c: Include rtl-iter.h. (resolve_subreg_use): Turn from being a for_each_rtx callback to being a function that examines each subrtx itself. Remove handling of null rtxes. (resolve_reg_notes, re

Re: [PATCH 32/50] lower-subreg.c:find_decomposable_subregs

2014-08-06 Thread Jeff Law
On 08/03/14 08:17, Richard Sandiford wrote: Mostly just reindentation. gcc/ * lower-subreg.c (find_decomposable_subregs): Turn from being a for_each_rtx callback to being a function that examines each subrtx itself. Remove handling of null rtxes. (decompose_mult

[PATCH 083/236] init-regs.c: rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * init-regs.c (initialize_uninitialized_regs): Strengthen locals "insn" and "move_insn" from rtx to rtx_insn *. --- gcc/init-regs.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gcc/init-regs.c b/gcc/init-regs.c index 59c5bc9..d170da6 100644 --- a/gcc

[PATCH 118/236] stmt.c: Use rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * stmt.c (expand_case): Strengthen local "before_case" from rtx to rtx_insn *. (expand_sjlj_dispatch_table): Likewise. --- gcc/stmt.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gcc/stmt.c b/gcc/stmt.c index 722d34f..af74142 100644 --- a/gcc

[PATCH 050/236] auto-inc-dec.c: strengthen various rtx to rtx_insn *

2014-08-06 Thread David Malcolm
Note to self: verified the compile on pdp11-aout gcc/ * auto-inc-dec.c (struct inc_insn): Strengthen field "insn" from rtx to rtx_insn *. (struct mem_insn): Likewise for field "insn". (reg_next_use): Strengthen from rtx * to rtx_insn **. (reg_next_inc_use):

[PATCH 079/236] gcse.c: Use rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * gcse.c (struct occr): Strengthen field "insn" from rtx to rtx_insn *. (test_insn): Likewise for this global. (oprs_unchanged_p): Strengthen param "insn" from const_rtx to const rtx_insn *. (oprs_anticipatable_p): Likewise. (oprs_availab

[PATCH 173/236] insn_t becomes an rtx_insn *

2014-08-06 Thread David Malcolm
gcc/ * sel-sched-ir.h (insn_t): Strengthen from rtx to rtx_insn *. (BND_TO): Delete this function and... (SET_BND_TO): ...this functions in favor of... (BND_TO): ...reinstating this macro. (struct _fence): Strengthen field "executing_insns" from vec *

[PATCH 167/236] final accepts an rtx_insn

2014-08-06 Thread David Malcolm
All in-tree users of "final" now pass in an rtx_insn * for the first param. gcc/ * output.h (final): Strengthen param 1 from rtx to rtx_insn *. * final.c (final): Likewise. Rename param back from "uncast_first" to "first" and eliminate the checked cast from rtx to

[PATCH 059/236] cfgloopanal.c: Use rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * cfgloopanal.c (num_loop_insns): Strengthen local "insn" from rtx to rtx_insn *. (average_num_loop_insns): Likewise. (init_set_costs): Likewise for local "seq". (seq_cost): Likewise for param "seq", from const_rtx to const rtx_insn *. --- gcc/c

[PATCH 038/236] find_first_parameter_load returns an rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * rtl.h (find_first_parameter_load): Strengthen return type from rtx to rtx_insn *. * rtlanal.c (find_first_parameter_load): Strengthen return type from rtx to rtx_insn *. Add checked cast for now, to postpone strengthening the params. --- gcc/rtl.h

[PATCH 135/236] config/i386/i386: Use rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * config/i386/i386-protos.h (ix86_avoid_lea_for_add): Strengthen param 1 "insn" from rtx to rtx_insn *. (ix86_use_lea_for_mov): Likewise. (ix86_avoid_lea_for_addr): Likewise. (ix86_split_lea_for_addr): Likewise. (ix86_lea_for_add_ok): Likewise.

[PATCH 210/236] varasm.c: Use rtx_sequence

2014-08-06 Thread David Malcolm
gcc/ * varasm.c (mark_constants): Convert a GET_CODE check into a dyn_cast, strengthening local "seq" from rtx to rtx_sequence *. Use methods of rtx_sequence to clarify the code. --- gcc/varasm.c | 7 +++ 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gcc

[PATCH 037/236] sel_bb_{head|end} return rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * sel-sched-ir.h (exit_insn): Strengthen from rtx to rtx_insn *. (sel_bb_head): Strengthen return type insn_t (currently just an rtx) to rtx_insn *. (sel_bb_end): Likewise. * sel-sched-ir.c (exit_insn): Strengthen from rtx to rtx_insn *. (sel_bb

[PATCH 129/236] config/avr: Use rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * config/avr/avr-protos.h (output_movqi): Strengthen first param from rtx to rtx_insn *. (output_movhi): Likewise. (output_movsisf): Likewise. (avr_out_tstsi): Likewise. (avr_out_tsthi): Likewise. (avr_out_tstpsi): Likewise. (avr_

[PATCH 154/236] config/v850: Use rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * config/v850/v850-protos.h (v850_adjust_insn_length): Strengthen first param from rtx to rtx_insn *. * config/v850/v850.c (v850_adjust_insn_length): Likewise for param "insn". --- gcc/config/v850/v850-protos.h | 2 +- gcc/config/v850/v850.c| 2 +- 2 fi

[PATCH 113/236] sched-rgn.c: Use rtx_insn in a couple of places

2014-08-06 Thread David Malcolm
gcc/ * sched-rgn.c (is_cfg_nonregular): Strengthen locals "insn" and "next" from rtx to rtx_insn *. (find_conditional_protection): Likewise for local "next". (is_conditionally_protected): Likewise for local "insn1". (is_pfree): Likewise for locals "insn1", "i

[PATCH 208/236] resource.c: Use rtx_sequence

2014-08-06 Thread David Malcolm
gcc/ * resource.c (mark_referenced_resources): Strengthen local "sequence" from rtx to rtx_sequence *, adding a checked cast, and using methods of rtx_sequence to clarify the code. (find_dead_or_set_registers): Within the switch statement, convert a GET_CODE

Re: [PATCH 195/236] Convert PATTERN from a macro to a pair of inline functions

2014-08-06 Thread Jakub Jelinek
On Wed, Aug 06, 2014 at 01:22:54PM -0400, David Malcolm wrote: > gcc/ > * rtl.h (PATTERN): Convert this macro into a pair of inline > functions, for now, requiring const_rtx and rtx. > --- > gcc/rtl.h | 10 +- > 1 file changed, 9 insertions(+), 1 deletion(-) > > diff --git a/g

[PATCH 062/236] combine-stack-adj.c: Use rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * combine-stack-adj.c (struct csa_reflist): Strengthen field "insn" from rtx to rtx_insn *. (single_set_for_csa): Likewise for param "insn". (record_one_stack_ref): Likewise. (try_apply_stack_adjustment): Likewise. (struct record_stack_refs_data)

[PATCH 190/236] Remove insn_addresses_new from 'various scheduling strengthenings'

2014-08-06 Thread David Malcolm
--- gcc/insn-addr.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/insn-addr.h b/gcc/insn-addr.h index e255ac4..aec09fd 100644 --- a/gcc/insn-addr.h +++ b/gcc/insn-addr.h @@ -38,7 +38,7 @@ extern int insn_current_address; #define INSN_ADDRESSES_SIZE() (insn_addresses_.len

[PATCH 152/236] config/tilegx: Use rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * config/tilegx/tilegx-protos.h (tilegx_output_cbranch_with_opcode): Strengthen param 1 from rtx to rtx_insn *. (tilegx_output_cbranch): Likewise. (tilegx_adjust_insn_length): Likewise. (tilegx_final_prescan_insn): Likewise for sole param. * con

[PATCH 064/236] cprop.c: Use rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * cprop.c (struct occr): Strengthen field "insn" from rtx to rtx_insn *. (reg_available_p): Likewise for param "insn". (insert_set_in_table): Likewise. (hash_scan_set): Likewise. (hash_scan_insn): Likewise. (make_set_regs_unavailable): Li

[PATCH 197/236] Tweak to ira-lives.c

2014-08-06 Thread David Malcolm
gcc/ * ira-lives.c (find_call_crossed_cheap_reg): Strengthen local "prev" from rtx to rtx_insn *. --- gcc/ira-lives.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/ira-lives.c b/gcc/ira-lives.c index 4875399..98bbd4d 100644 --- a/gcc/ira-lives.c +++ b/gcc/

[PATCH 060/236] cfgrtl.c: Use rtx subclasses

2014-08-06 Thread David Malcolm
gcc/ * cfgrtl.c (can_delete_note_p): Require a const rtx_note * rather than a const_rtx. (can_delete_label_p): Require a const rtx_code_label * rather than a const_rtx. (delete_insn): Add checked cast to rtx_code_label * when we know we're dealing wit

[PATCH 014/236] VINSN_INSN_RTX scaffolding

2014-08-06 Thread David Malcolm
For now, convert into VINSN_INSN_RTX a pair of functions. We will eventually change them back to a macro once the relevant field is of type rtx_insn *. gcc/ * sel-sched-ir.h (VINSN_INSN_RTX): struct vinsn_def's "insn_rtx" field will eventually be an rtx_insn *. To help with trans

[PATCH 176/236] cselib and incdec

2014-08-06 Thread David Malcolm
gcc/ * rtl.h (for_each_inc_dec): Strengthen param 1 from rtx * to rtx_insn **. (check_for_inc_dec): Strengthen param "insn" from rtx to rtx_insn *. * cselib.h (cselib_process_insn): Likewise. * cselib.c (cselib_record_sets): Likewise. (cseli

[PATCH 198/236] PHASE 5: Additional rtx subclasses

2014-08-06 Thread David Malcolm
/ * rtx-classes-status.txt: Update. --- rtx-classes-status.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rtx-classes-status.txt b/rtx-classes-status.txt index 5667ae9..e51b0f3 100644 --- a/rtx-classes-status.txt +++ b/rtx-classes-status.txt @@ -4,8 +4,8 @@ exi

[PATCH 160/236] function.c and shrink-wrap.*: more rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * function.c (thread_prologue_and_epilogue_insns): Likewise for locals "returnjump", "epilogue_end", "insn", "next". * shrink-wrap.h (get_unconverted_simple_return): Strengthen param "returnjump" from rtx * to rtx_insn **. * shrink-wrap.c (get_unconvert

Re: [C PATCH] Discard P - (P + CST) optimization in pointer_diff (PR c/61240)

2014-08-06 Thread DJ Delorie
> As for PSImode, I dunno - seems only m32c and AVR use that? I have no > way how to perform testing on such targets. and msp430. m32c and msp430 have simulators in gdb.

[PATCH 126/236] config/alpha/alpha.c: Use rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * config/alpha/alpha.c (alpha_emit_set_const): Strengthen local "insn" from rtx to rtx_insn *. (alpha_gp_save_rtx): Likewise for local "seq". (alpha_instantiate_decls): Likewise for local "top". (get_some_local_dynamic_name): Likewise for local "insn".

[PATCH 158/236] Remove BB_FOOTER scaffolding

2014-08-06 Thread David Malcolm
gcc/ * basic-block.h (struct rtl_bb_info): Strengthen field "footer_" from rtx to rtx_insn *. (BB_FOOTER): Replace function with access macro. (SET_BB_FOOTER): Delete. * cfgcleanup.c (try_optimize_cfg): Replace uses of SET_BB_FOOTER with BB_FOOTER.

[PATCH 105/236] reginfo.c: Use rtx_insn (also touches rtl.h)

2014-08-06 Thread David Malcolm
gcc/ * rtl.h (reg_scan): Strengthen param "f" from rtx to rtx_insn *. * reginfo.c (reg_scan): Likewise, also for local "insn". (reg_scan_mark_refs): Likewise for param "insn". (init_subregs_of_mode): Likewise for local "insn". --- gcc/reginfo.c | 10 +- gcc/

[PATCH 057/236] cfgcleanup.c: Use rtx_insn (also touches basic-block.h and ifcvt.c)

2014-08-06 Thread David Malcolm
gcc/ * basic-block.h (flow_find_cross_jump): Strengthen params 3 and 4 "f1" and "f2" from rtx * to rtx_insn **. (flow_find_head_matching_sequence): Likewise. * cfgcleanup.c (try_simplify_condjump): Strengthen local "cbranch_insn" from rtx to rtx_insn *.

[PATCH 053/236] builtins.c: strengthen various rtx to rtx_insn * and other subclasses

2014-08-06 Thread David Malcolm
gcc/ * builtins.c (expand_builtin_longjmp): Strengthen locals "insn" and "last" from rtx to rtx_insn *. (expand_builtin_nonlocal_goto): Likewise for local "insn". (expand_builtin_apply): Strengthen local "call_insn" from rtx to rtx_call_insn *. (expan

[PATCH 093/236] mode-switching.c: Use rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * mode-switching.c (struct seginfo): Strengthen field "insn_ptr" from rtx to rtx_insn *. (new_seginfo): Likewise for param "insn". (create_pre_exit): Likewise for locals "last_insn", "before_return_copy", "return_copy". (optimize_mode_switching):

[PATCH 091/236] lower-subreg.c: Use rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * lower-subreg.c (simple_move): Strengthen param "insn" from rtx to rtx_insn *. (resolve_reg_notes): Likewise. (resolve_simple_move): Likewise for return type, param "insn", and locals "insns", "minsn". (resolve_clobber): Strengthen param "insn"

[PATCH 075/236] final.c: Use rtx_insn (also touches output.c and config/arc/arc.c)

2014-08-06 Thread David Malcolm
In particular, after this patch, the first param passed to the FINAL_PRESCAN_INSN macro is strengthened from rtx to rtx_insn *. gcc/ * output.h (final_scan_insn): Strengthen return type from rtx to rtx_insn *. (final_forward_branch_p): Likewise for param. (current_o

[PATCH 089/236] loop-iv.c: Use rtx_insn (also touches cfgloop.h and loop-unroll.c)

2014-08-06 Thread David Malcolm
gcc/ * cfgloop.h (iv_analyze): Strengthen param 1 "insn" from rtx to rtx_insn *. (iv_analyze_result): Likewise. (iv_analyze_expr): Likewise. (biv_p): Likewise. * loop-iv.c (iv_get_reaching_def): Strengthen param "insn" and local "def_insn" fr

[PATCH 183/236] Strengthen various insn emission functions

2014-08-06 Thread David Malcolm
gcc/ * rtl.h (push_to_sequence): Strengthen param from rtx to rtx_insn *. (push_to_sequence2): Likewise for both params. (delete_insns_since): Likewise for param. (reorder_insns_nobb): Likewise for all three params. (set_new_first_and_last_insn): Like

[PATCH 046/236] delete_related_insns returns an rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * rtl.h (delete_related_insns): Strengthen return type from rtx to rtx_insn *. * jump.c (delete_related_insns): Likewise, also for locals "next" and "prev". --- gcc/jump.c | 4 ++-- gcc/rtl.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --gi

[PATCH 097/236] postreload-gcse.c: Use rtx_insn in various places

2014-08-06 Thread David Malcolm
gcc/ * postreload-gcse.c (struct occr): Strengthen field "insn" from rtx to rtx_insn *. (struct unoccr): Likewise. (struct modifies_mem): Likewise. (alloc_mem): Likewise for local "insn". (insert_expr_in_table): Likewise for param "insn". (dum

[PATCH 052/236] bt-load.c: Use rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * bt-load.c (struct btr_user_s): Strengthen field "insn" from rtx to rtx_insn *. (struct btr_def_s): Likewise. (insn_sets_btr_p): Strengthen param "insn" from const_rtx to const rtx_insn *. (add_btr_def): Likewise. (new_btr_user): Likewis

[PATCH 073/236] expmed.c: Use rtx_insn and rtx_code_label

2014-08-06 Thread David Malcolm
gcc/ * expmed.c (store_bit_field_using_insv): Strengthen local "last" from rtx to rtx_insn *. (store_bit_field_1): Likewise. (extract_bit_field_1): Likewise. (expand_mult_const): Likewise for local "insns". (expmed_mult_highpart): Strengthen local "la

[PATCH 043/236] peephole returns an rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * output.h (peephole): Strengthen return type from rtx to rtx_insn *. * rtl.h (delete_for_peephole): Likewise for both params. * genpeep.c (main): In generated "peephole" function, strengthen return type and local "insn" from rtx to rtx_insn *. For now,

[PATCH 051/236] bb-reorder.c: Use rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * bb-reorder.c (copy_bb_p): Strengthen local "insn" from rtx to rtx_insn *. (get_uncond_jump_length): Likewise for locals "label", "jump". (fix_up_crossing_landing_pad): Likewise for locals "new_label", "jump", "insn". (add_labels_and_missing_jum

[PATCH 147/236] config/s390: Use rtx_insn and rtx_code_label

2014-08-06 Thread David Malcolm
gcc/ * config/s390/s390-protos.h (s390_match_ccmode): Strengthen param 1 from rtx to rtx_insn *. (s390_emit_jump): Likewise for return type. (s390_emit_call): Likewise. (s390_load_got): Likewise. * config/s390/s390.c (last_scheduled_insn): Likewise f

[PATCH 011/236] Replace PREV_INSN et al macros with functions

2014-08-06 Thread David Malcolm
Yet more scaffolding: convert the NEXT_INSN/PREV_INSN macros and their SET_* variants into functions. Convert the rvalue-style functions into returning rtx_insn * rather than plain rtx. For now, this is done by adding a checked cast, but I hope this can eventually become a field lookup. The lval

[PATCH 172/236] sel-sched-ir.h: Make ilist_t work on insn_t rather than rtx

2014-08-06 Thread David Malcolm
gcc/ * sel-sched-ir.h (ilist_t): Redefine this typedef in terms of ilist_t, not _xlist_t; (ILIST_INSN): Define in terms of new union field "insn". (ILIST_NEXT): Define in terms of _LIST_NEXT rather than _XLIST_NEXT. (struct _list_node): Add new field

[PATCH 106/236] regrename.c: Use rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * regrename.c (create_new_chain): Strengthen param "insn" from rtx to rtx_insn *. (init_rename_info): Replace use of NULL_RTX with NULL when dealing with an insn. (regrename_analyze): Strengthen local "insn" from rtx to rtx_insn *. (scan_

[PATCH 033/236] emit_move et al return rtx_insn *

2014-08-06 Thread David Malcolm
gcc/ * expr.h (emit_move_insn): Strengthen return type from rtx to rtx_insn *. (emit_move_insn_1): Likewise. (emit_move_complex_push): Likewise. (emit_move_complex_parts): Likewise. * expr.c (emit_move_via_integer): Strengthen return type from rtx

[PATCH 101/236] recog.c: Use rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * recog.c (split_insn): Strengthen param "insn" and locals "first", "last" from rtx to rtx_insn *. * recog.c (split_all_insns): Likewise for locals "insn", "next". (split_all_insns_noflow): Likewise. --- gcc/recog.c | 12 ++-- 1 file changed, 6 insertio

[PATCH 163/236] unshare_all_rtl_again takes an rtx_insn *

2014-08-06 Thread David Malcolm
All in-tree users of unshare_all_rtl_again now pass in an rtx_insn *. gcc/ * rtl.h (unshare_all_rtl_again): Strengthen param "insn" from rtx to rtx_insn *. * emit-rtl.c (unshare_all_rtl_1): Likewise. (unshare_all_rtl_again): Likewise, also for local "p". --- gcc/e

[PATCH 095/236] modulo-sched.c: Use rtx_insn in various places

2014-08-06 Thread David Malcolm
gcc/ * modulo-sched.c (struct ps_reg_move_info): Strengthen field "insn" from rtx to rtx_insn *. (ps_rtl_insn): Likewise for return type. (doloop_register_get): Likewise for params "head", "tail" and locals "insn", "first_insn_not_to_check". (schedule

[PATCH 188/236] Use rtx_insn in more places in haifa-sched.c

2014-08-06 Thread David Malcolm
gcc/ * haifa-sched.c (struct model_insn_info): Strengthen field "insn" from rtx to rtx_insn *. (model_add_to_schedule): Likewise for locals "start", "end", "iter". --- gcc/haifa-sched.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gcc/haif

[PATCH 228/236] tablejump_p takes an rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * rtl.h (tablejump_p): Strengthen first param from const_rtx to const rtx_insn *. (label_is_jump_target_p): Likewise for second param. * rtlanal.c (tablejump_p): Likewise for param "insn". (label_is_jump_target_p): Likewise for param "jump_insn". --- g

[PATCH 031/236] emit_jump_table_data returns an rtx_jump_table_data *

2014-08-06 Thread David Malcolm
gcc/ * emit-rtl.c (emit_jump_table_data): Strengthen return type from rtx to rtx_jump_table_data *. Also for local. * rtl.h (emit_jump_table_data): Likwise. --- gcc/emit-rtl.c | 5 +++-- gcc/rtl.h | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/

[PATCH 139/236] config/mep: Use rtx_insn and rtx_code_label

2014-08-06 Thread David Malcolm
gcc/ * config/mep/mep-protos.h (mep_mulr_source): Strengthen first param from rtx to rtx_insn *. (mep_reuse_lo): Likewise for third param. (mep_use_post_modify_p): Likewise for first param. (mep_core_address_length): Likewise. (mep_cop_address_length)

[PATCH 100/236] print-rtl.c: Use rtx_insn for various debug_ functions (also touches config/rs6000/rs6000.c)

2014-08-06 Thread David Malcolm
gcc/ * rtl.h (debug_rtx_list): Strengthen param 1 "x" from const_rtx to const rtx_insn *. (debug_rtx_range): Likewise for params 1 and 2 "start" and "end". (debug_rtx_find): Likewise for param 1 "x". * print-rtl.c (debug_rtx_list): Strengthen param 1 "x" fro

[PATCH 119/236] store-motion.c: Use rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * store-motion.c (store_killed_in_insn): Strengthen param "insn" from const_rtx to const rtx_insn *. (store_killed_after): Likewise. Strengthen locals "last", "act" from rtx to rtx_insn *. (store_killed_before): Strengthen param "insn" from const_rtx to

[PATCH 148/236] config/score/score.c: Use rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * config/score/score.c (score_output_mi_thunk): Strengthen local "insn" from rtx to rtx_insn *. (score_prologue): Likewise. --- gcc/config/score/score.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gcc/config/score/score.c b/gcc/config/score

[PATCH 153/236] config/tilepro: Use rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * config/tilepro/tilepro-protos.h (tilepro_output_cbranch_with_opcode): Strengthen param 1 from rtx to rtx_insn *. (tilepro_output_cbranch): Likewise. (tilepro_adjust_insn_length): Likewise. (tilepro_final_prescan_insn): Likewise for sole param.

[PATCH 022/236] Make tablejump_p accept a rtx_jump_table_data **

2014-08-06 Thread David Malcolm
gcc/ * rtl.h (tablejump_p): Strengthen third param from rtx * to rtx_jump_table_data **. * cfgbuild.c (make_edges): Introduce local "table", using it in place of "tmp" for jump table data. (find_bb_boundaries): Strengthen local "table" from rtx to rt

[PATCH 039/236] create_insn_rtx_from_pattern and create_copy_of_insn_rtx return rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * sel-sched-ir.h (create_insn_rtx_from_pattern): Strengthen return type from rtx to rtx_insn *. * sel-sched-ir.h (create_copy_of_insn_rtx): Likewise. * sel-sched-ir.c (create_insn_rtx_from_pattern): Likewise. * sel-sched-ir.c (create_copy_of_insn_rtx): L

[PATCH 196/236] Convert various INSN accessors in rtl.h to inline functions

2014-08-06 Thread David Malcolm
gcc/ * rtl.h (INSN_UID): Convert from a macro to a pair of inline functions. Require merely an rtx for now, not an rtx_insn *, or rtx_real_insn *. (BLOCK_FOR_INSN): Likewise. (INSN_LOCATION): Likewise. (INSN_HAS_LOCATION): Convert from a macro to an

[PATCH 174/236] Remove VINSN_INSN_RTX scaffolding

2014-08-06 Thread David Malcolm
gcc/ * sel-sched-ir.h (struct vinsn_def): Strengthen field "insn_rtx" from rtx to rtx_insn *. (VINSN_INSN_RTX): Eliminate rvalue function and... (SET_VINSN_INSN): ...lvalue function in favor of... (VINSN_INSN_RTX): reinstate this old macro. * sel-sch

[PATCH 180/236] Params of add_insn and unlink_insn_chain

2014-08-06 Thread David Malcolm
gcc/ * rtl.h (add_insn): Strengthen param from rtx to rtx_insn *. (unlink_insn_chain): Strengthen both params from rtx to rtx_insn *. * cfgrtl.c (cfg_layout_function_header): Likewise for this variable. (unlink_insn_chain): Likewise for params "first

[PATCH 161/236] reorder_insns requires rtx_insn *

2014-08-06 Thread David Malcolm
All in-tree users of reorder_insns should now use rtx_insn * for each param. gcc/ * rtl.h (reorder_insns): Strengthen params "from", "to", "after" from rtx to rtx_insn *. * emit-rtl.c (reorder_insns): Likewise, also for local "insn". --- gcc/emit-rtl.c | 4 ++-- gcc/rtl.h

[PATCH 072/236] explow.c: Use rtx_insn and rtx_code_label

2014-08-06 Thread David Malcolm
gcc/ * explow.c (force_reg): Strengthen local "insn" from rtx to rtx_insn *. (adjust_stack_1): Likewise. (allocate_dynamic_stack_space): Likewise. Strengthen locals "final_label", "available_label", "space_available" from rtx to rtx_code_label *.

[PATCH 094/236] get_ebb_head_tail works with rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * sched-int.h (get_ebb_head_tail): Strengthen params "headp" and "tailp" from rtx * to rtx_insn **. * ddg.c (build_intra_loop_deps): Strengthen locals head", "tail" from rtx to rtx_insn *. * haifa-sched.c (get_ebb_head_tail): Strengthen params "headp" a

  1   2   3   4   >