[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 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 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 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

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. > &

Re: [PATCH 212/236] Use rtx_expr_list for expr_status.x_forced_labels

2014-08-07 Thread David Malcolm
On Thu, 2014-08-07 at 13:32 +0200, Bernd Schmidt wrote: > On 08/06/2014 07:23 PM, David Malcolm wrote: > > diff --git a/gcc/function.h b/gcc/function.h > > index 28a20f3..ba7597c 100644 > > --- a/gcc/function.h > > +++ b/gcc/function.h > > @@ -135,7 +13

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

2014-08-07 Thread David Malcolm
On Wed, 2014-08-06 at 21:29 -0400, Trevor Saunders wrote: > 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

[jit] Implement function pointers

2014-08-08 Thread David Malcolm
..f7fd642 100644 --- a/gcc/jit/ChangeLog.jit +++ b/gcc/jit/ChangeLog.jit @@ -1,3 +1,50 @@ +2014-08-08 David Malcolm + + * TODO.rst: Function ptrs are done. + * internal-api.c + (gcc::jit::recording::context::new_function_ptr_type): New method. + (gcc::jit::recording

[jit] Fix missing tests within test-combination.c

2014-08-08 Thread David Malcolm
b/gcc/testsuite/ChangeLog.jit index 7fc5c4d..0842a1b 100644 --- a/gcc/testsuite/ChangeLog.jit +++ b/gcc/testsuite/ChangeLog.jit @@ -1,5 +1,12 @@ 2014-08-08 David Malcolm + * jit.dg/test-combination.c (create_code): Add missing calls to + create_code_quadratic and

[jit] Add support for unions

2014-08-08 Thread David Malcolm
ite/jit.dg/test-accessing-union.c | 97 ++ gcc/testsuite/jit.dg/test-combination.c | 9 +++ 10 files changed, 391 insertions(+), 65 deletions(-) create mode 100644 gcc/testsuite/jit.dg/test-accessing-union.c diff --git a/gcc/jit/ChangeLog.jit b/gcc/jit/ChangeLog.jit

Re: [PATCH] Demangler fuzzer

2014-08-11 Thread David Malcolm
On Mon, 2014-08-11 at 08:06 -0700, Andi Kleen wrote: > Gary Benson writes: > > >srand(time(NULL)); > > That's really bad, can never be reproduced. If you use a random seed > like this you need to at least print it. How about taking the random seed and the number of iterations as command-line a

[jit] Add a multithreaded test case.

2014-08-11 Thread David Malcolm
100644 gcc/testsuite/jit.dg/test-threads.c diff --git a/gcc/testsuite/ChangeLog.jit b/gcc/testsuite/ChangeLog.jit index cdde662..846540f 100644 --- a/gcc/testsuite/ChangeLog.jit +++ b/gcc/testsuite/ChangeLog.jit @@ -1,3 +1,17 @@ +2014-08-11 David Malcolm + + * jit.dg/test-threads.c: New

Re: [PATCH 000/236] Introduce rtx subclasses

2014-08-12 Thread David Malcolm
On Tue, 2014-08-12 at 14:39 -0600, Jeff Law wrote: > On 08/06/14 11:19, David Malcolm wrote: > > > > The aim of the patch series is to improve the type-safety and > > readability of the backend by introducing subclasses of rtx (actually > > rtx_def) for *instructio

Re: [PATCH 001/236] Convert lab_rtx_for_bb from pointer_map_t to pointer_map

2014-08-12 Thread David Malcolm
On Tue, 2014-08-12 at 17:15 -0400, Trevor Saunders wrote: > On Tue, Aug 12, 2014 at 02:50:39PM -0600, Jeff Law wrote: > > On 08/06/14 11:19, David Malcolm wrote: > > >This gives a slight improvement in typesafety in cfgexpand.c > > > > > >gcc/ > > >

Re: [PATCH 029/236] rtl_data.x_parm_birth_insn is an insn

2014-08-13 Thread David Malcolm
On Wed, 2014-08-13 at 07:44 -0600, Jeff Law wrote: > On 08/06/14 11:20, David Malcolm wrote: > > gcc/ > > * function.h (struct rtl_data): Strengthen field > > "x_parm_birth_insn" from rtx to rtx_insn *. > > * function.c (struct ass

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

2014-08-13 Thread David Malcolm
On Wed, 2014-08-06 at 13:22 -0400, David Malcolm wrote: > --- > 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 &g

Re: [PATCH 005/236] Introduce as_a_nullable

2014-08-13 Thread David Malcolm
On Wed, 2014-08-13 at 12:07 +0200, Richard Biener wrote: > On Wed, Aug 13, 2014 at 12:01 PM, Martin Jambor wrote: > > Hi, > > > > On Wed, Aug 06, 2014 at 01:19:44PM -0400, David Malcolm wrote: > >> In many circumstances, is_a_helper ::test assumes that the pointer i

Re: [PATCH 012/236] Convert DF_REF_INSN to a function for now

2014-08-13 Thread David Malcolm
On Tue, 2014-08-12 at 15:20 -0600, Jeff Law wrote: > On 08/06/14 11:19, David Malcolm wrote: > > DF_REF_INSN looks up the "insn" field of the referenced df_insn_info. > > This will eventually be an rtx_insn *, but for now is just an rtx. > > > > As further scaf

Re: [PATCH 012/236] Convert DF_REF_INSN to a function for now

2014-08-13 Thread David Malcolm
On Wed, 2014-08-13 at 14:34 -0600, Jeff Law wrote: > On 08/13/14 14:28, David Malcolm wrote: > > Thanks. Although this function gets converted back to a macro in patch > > 191, I just realized that in the meantime that it's not inlined, as is > > the case for some of

Re: [PATCH 000/236] Introduce rtx subclasses

2014-08-13 Thread David Malcolm
On Wed, 2014-08-06 at 13:19 -0400, David Malcolm wrote: > This is the patch series I spoke about at Cauldron in the talk > "A proposal for typesafe RTL"; slides here: > http://dmalcolm.fedorapeople.org/presentations/cauldron-2014/rtl > > They can

Re: RFC: Patch for switch elimination (PR 54742)

2014-08-14 Thread David Malcolm
On Thu, 2014-08-14 at 09:56 -0600, Jeff Law wrote: > On 08/14/14 04:32, Richard Biener wrote: > >> You'll note in a separate thread Steve and I discussed this during Cauldron > >> and it was at my recommendation Steve resurrected his proof of concept > >> plugin and started beating it into shape. >

Re: [PATCH 000/236] Introduce rtx subclasses

2014-08-14 Thread David Malcolm
On Wed, 2014-08-13 at 20:13 -0400, David Malcolm wrote: > On Wed, 2014-08-06 at 13:19 -0400, David Malcolm wrote: > > This is the patch series I spoke about at Cauldron in the talk > > "A proposal for typesafe RTL"; slides here: > > http://dmalcolm.fedorapeople.org/

Re: [PATCH 012/236] Convert DF_REF_INSN to a function for now

2014-08-14 Thread David Malcolm
On Wed, 2014-08-13 at 20:55 -0600, Jeff Law wrote: > On 08/13/14 18:11, David Malcolm wrote: > > On Wed, 2014-08-13 at 14:34 -0600, Jeff Law wrote: > >> On 08/13/14 14:28, David Malcolm wrote: > >>> Thanks. Although this function gets converted back to a macro in pa

Re: [PATCH 007/236] New function: for_each_rtx_in_insn

2014-08-14 Thread David Malcolm
On Tue, 2014-08-12 at 15:08 -0600, Jeff Law wrote: > On 08/06/14 11:19, David Malcolm wrote: > > gcc/ > > * rtl.h (for_each_rtx_in_insn): New function. > > * rtlanal.c (for_each_rtx_in_insn): Likewise. > OK. Note that we're moving away from for_each_rtx.

Re: [PATCH 156/236] PHASE 4: Removal of scaffolding

2014-08-15 Thread David Malcolm
On Thu, 2014-08-14 at 23:30 -0600, Jeff Law wrote: > On 08/06/14 11:22, David Malcolm wrote: > > / > > * rtx-classes-status.txt: Update. > > --- > > rtx-classes-status.txt | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff

Re: [PATCH 169/236] Strengthen haifa_sched_info callbacks and 3 scheduler hooks

2014-08-15 Thread David Malcolm
On Fri, 2014-08-15 at 16:03 -0600, Jeff Law wrote: > On 08/06/14 11:22, David Malcolm wrote: > > gcc/ > > * target.def (reorder): Strengthen param "ready" of this DEFHOOK > > from rtx * to rtx_insn **. > > (reorder2): Likewise. > > (depen

Re: [PATCH 204/236] final.c: Use rtx_sequence

2014-08-15 Thread David Malcolm
On Fri, 2014-08-15 at 18:38 -0400, Trevor Saunders wrote: > On Fri, Aug 15, 2014 at 04:24:49PM -0600, Jeff Law wrote: > > On 08/06/14 11:23, David Malcolm wrote: > > >gcc/ > > > * final.c (get_attr_length_1): Replace GET_CODE check with a > > > dyn_cast, in

Re: [GSoC][match-and-simplify] add more constant folding tests

2014-08-18 Thread David Malcolm
On Mon, 2014-08-18 at 01:11 +0530, Prathamesh Kulkarni wrote: > We now have at-least one test-case for each of constant folding > patterns > in match-constant-folding.pd > > [gcc/testsuite/gcc.dg/tree-ssa] > * match-constant-folding.c: Add test-cases. > > [...snip...] A minor nit for one of th

Re: [PATCH 000/236] Introduce rtx subclasses

2014-08-18 Thread David Malcolm
On Tue, 2014-08-12 at 20:26 -0400, David Malcolm wrote: > On Tue, 2014-08-12 at 14:39 -0600, Jeff Law wrote: > > On 08/06/14 11:19, David Malcolm wrote: > > > > > > The aim of the patch series is to improve the type-safety and > > > readability of the back

Re: [PATCH 004/236] PHASE 1: Initial "scaffolding" commits

2014-08-18 Thread David Malcolm
On Tue, 2014-08-12 at 14:55 -0600, Jeff Law wrote: > On 08/06/14 11:19, David Malcolm wrote: > > This commit is a placeholder for me when rebasing, to help organize the > > patch kit. > > > > / > > * rtx-classes-status.txt: New file > OK. For those who may

Re: [PATCH 005/236] Introduce as_a_nullable

2014-08-18 Thread David Malcolm
On Wed, 2014-08-13 at 07:48 -0600, Jeff Law wrote: > On 08/13/14 04:07, Richard Biener wrote: > > On Wed, Aug 13, 2014 at 12:01 PM, Martin Jambor wrote: > >> Hi, > >> > >> On Wed, Aug 06, 2014 at 01:19:44PM -0400, David Malcolm wrote: > >>> In man

Re: [PATCH 006/236] Introduce rtx_insn subclass of rtx_def

2014-08-18 Thread David Malcolm
On Tue, 2014-08-12 at 15:06 -0600, Jeff Law wrote: > On 08/06/14 11:19, David Malcolm wrote: > > gcc/ > > * coretypes.h (class rtx_insn): Add forward declaration. > > > > * rtl.h: Include is-a.h > > (struct rtx_def): Add dummy "desc" and &

Re: [PATCH 007/236] New function: for_each_rtx_in_insn

2014-08-18 Thread David Malcolm
On Tue, 2014-08-12 at 15:08 -0600, Jeff Law wrote: > On 08/06/14 11:19, David Malcolm wrote: > > gcc/ > > * rtl.h (for_each_rtx_in_insn): New function. > > * rtlanal.c (for_each_rtx_in_insn): Likewise. > OK. Note that we're moving away from for_each_rtx.

Re: [PATCH 008/236] Split BB_HEAD et al into BB_HEAD/SET_BB_HEAD variants

2014-08-18 Thread David Malcolm
On Tue, 2014-08-12 at 15:15 -0600, Jeff Law wrote: > On 08/06/14 11:19, David Malcolm wrote: > > This is an enabling patch, splitting existing macros in two, covering > > the rvalue and lvalue uses separately. > > > > Followup patches will replace these with funct

Re: [PATCH 009/236] Replace BB_HEAD et al macros with functions

2014-08-18 Thread David Malcolm
On Tue, 2014-08-12 at 15:16 -0600, Jeff Law wrote: > On 08/06/14 11:19, David Malcolm wrote: > > This is further scaffolding; convert the BB_* and SET_BB_* macros > > into functions. Convert the BB_* rvalue-style functions into returning > > rtx_insn * rather than plain rtx.

Re: [PATCH 010/236] Split NEXT_INSN/PREV_INSN into lvalue and rvalue forms

2014-08-18 Thread David Malcolm
On Tue, 2014-08-12 at 15:17 -0600, Jeff Law wrote: > On 08/06/14 11:19, David Malcolm wrote: > > gcc/ > > * rtl.h (PREV_INSN): Split macro in two: the existing one, > > for rvalues, and... > > (SET_PREV_INSN): New macro, for use as an lvalue. > &

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

2014-08-19 Thread David Malcolm
On Tue, 2014-08-12 at 15:20 -0600, Jeff Law wrote: > On 08/06/14 11:19, David Malcolm wrote: > > Yet more scaffolding: convert the NEXT_INSN/PREV_INSN macros > > and their SET_* variants into functions. > > > > Convert the rvalue-style functions into returning > >

Re: [PATCH 012/236] Convert DF_REF_INSN to a function for now

2014-08-19 Thread David Malcolm
On Tue, 2014-08-12 at 15:20 -0600, Jeff Law wrote: > On 08/06/14 11:19, David Malcolm wrote: > > DF_REF_INSN looks up the "insn" field of the referenced df_insn_info. > > This will eventually be an rtx_insn *, but for now is just an rtx. > > > > As further scaf

Re: [PATCH 013/236] DEP_PRO/DEP_CON scaffolding

2014-08-19 Thread David Malcolm
On Tue, 2014-08-12 at 15:21 -0600, Jeff Law wrote: > On 08/06/14 11:19, David Malcolm wrote: > > For now, convert DEP_PRO and DEP_CON into functions. We will eventually > > change them back to macros once the relevant fields are of type > > rtx_insn *. > > > > gc

Re: [PATCH 014/236] VINSN_INSN_RTX scaffolding

2014-08-19 Thread David Malcolm
On Tue, 2014-08-12 at 15:21 -0600, Jeff Law wrote: > On 08/06/14 11:19, David Malcolm wrote: > > 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 *. > > > &

Re: [PATCH 015/236] BB_NOTE_LIST scaffolding

2014-08-19 Thread David Malcolm
On Tue, 2014-08-12 at 15:22 -0600, Jeff Law wrote: > On 08/06/14 11:19, David Malcolm wrote: > > gcc/ > > * sel-sched-ir.h (BB_NOTE_LIST): struct sel_region_bb_info_def's > > "note_list" field will eventually be an rtx_insn *. To help with > >

Re: [PATCH 016/236] BND_TO scaffolding

2014-08-19 Thread David Malcolm
On Tue, 2014-08-12 at 15:22 -0600, Jeff Law wrote: > On 08/06/14 11:19, David Malcolm wrote: > > gcc/ > > * sel-sched-ir.h (BND_TO): insn_t will eventually be an > > rtx_insn *. To help with transition, for now, convert from an > > access macro into

Re: [PATCH 017/236] Add subclasses for the various kinds of instruction

2014-08-19 Thread David Malcolm
On Tue, 2014-08-12 at 21:07 -0600, Jeff Law wrote: > On 08/06/14 11:19, David Malcolm wrote: > > gcc/ > > * coretypes.h (class rtx_real_insn): Add forward declaration. > > (class rtx_debug_insn): Likewise. > > (class rtx_nonjump_insn): Likewise. > >

Re: [PATCH 018/236] Strengthen return types of various {next|prev}_*insn from rtx to rtx_insn *

2014-08-19 Thread David Malcolm
On Tue, 2014-08-12 at 15:59 -0600, Jeff Law wrote: > On 08/06/14 11:19, David Malcolm wrote: > > These should all eventually require an rtx_insn * as an argument, > > but we'll save that for a later patch. > > > > gcc/ > > * rtl.h (previous_ins

Re: [PATCH 019/236] Strengthen return type of gen_label_rtx

2014-08-19 Thread David Malcolm
On Tue, 2014-08-12 at 16:00 -0600, Jeff Law wrote: > On 08/06/14 11:19, David Malcolm wrote: > > gcc/ > > * rtl.h (gen_label_rtx): Strengthen return type from rtx to > > rtx_code_label *. > > > > * emit-rtl.c (gen_label_rtx): Likewise. > Presum

Re: [PATCH 020/236] Return rtx_insn from get_insns/get_last_insn

2014-08-19 Thread David Malcolm
On Tue, 2014-08-12 at 16:01 -0600, Jeff Law wrote: > On 08/06/14 11:19, David Malcolm wrote: > > Ultimately, the underlying fields should become rtx_insn *, but for now we > > can do this with a checked cast. > > > > Note to self: > >config/m32c/m32c

Re: [PATCH 021/236] entry_of_function returns an insn

2014-08-19 Thread David Malcolm
On Tue, 2014-08-12 at 21:04 -0600, Jeff Law wrote: > On 08/06/14 11:20, David Malcolm wrote: > > gcc/ > > * rtl.h (entry_of_function): Strengthen return type from rtx to > > rtx_insn *. > > * cfgrtl.c (entry_of_function): Likewise. > OK. Thanks; committed to trunk as r214182.

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

2014-08-19 Thread David Malcolm
On Tue, 2014-08-12 at 21:51 -0600, Jeff Law wrote: > On 08/06/14 11:20, David Malcolm wrote: > > gcc/ > > * rtl.h (tablejump_p): Strengthen third param from rtx * to > > rtx_jump_table_data **. > > > > * cfgbuild.c (make_edges): Introduce local &quo

Re: [PATCH 023/236] delete_trivially_dead_insns works on insns

2014-08-19 Thread David Malcolm
On Tue, 2014-08-12 at 21:51 -0600, Jeff Law wrote: > On 08/06/14 11:20, David Malcolm wrote: > > gcc/ > > * rtl.h (delete_trivially_dead_insns): Strengthen initial param > > "insns" from rtx to rtx_insn *. > > * cse.c (delete_trivially_

Re: [PATCH 024/236] last_call_insn returns an rtx_call_insn *

2014-08-19 Thread David Malcolm
On Tue, 2014-08-12 at 21:52 -0600, Jeff Law wrote: > On 08/06/14 11:20, David Malcolm wrote: > > gcc/ > > * emit-rtl.c (last_call_insn): Strengthen return type from rtx to > > rtx_call_insn *. > > * rtl.h (is_a_helper ::test): New overload, ac

Re: [PATCH 025/236] make_insn_raw returns an rtx_insn

2014-08-19 Thread David Malcolm
On Tue, 2014-08-12 at 21:54 -0600, Jeff Law wrote: > On 08/06/14 11:20, David Malcolm wrote: > > Doing so means strengthening the types of the make_raw callbacks within > > emit-rtl.c from rtx to rtx_insn * as used by the emit_pattern_* > > internal functions. There's

Re: [PATCH 026/236] bb_note returns a rtx_note *

2014-08-19 Thread David Malcolm
On Tue, 2014-08-12 at 21:55 -0600, Jeff Law wrote: > On 08/06/14 11:20, David Malcolm wrote: > > gcc/ > > * basic-block.h (bb_note): Strengthen return type from rtx to rtx_note > > *. > > * sched-int.h (bb_note): Likewise. > > * cfgrtl.c (bb_note):

Re: [PATCH 027/236] asan_emit_stack_protection returns an insn

2014-08-19 Thread David Malcolm
On Tue, 2014-08-12 at 21:56 -0600, Jeff Law wrote: > On 08/06/14 11:20, David Malcolm wrote: > > gcc/ > > * asan.h (asan_emit_stack_protection): Strengthen return type from > > rtx to rtx_insn *. > > * asan.c (asan_emit_stack_protection): Likewise. Add lo

Re: [PATCH 028/236] cfgexpand.c: Use rtx_insn

2014-08-19 Thread David Malcolm
On Wed, 2014-08-13 at 07:42 -0600, Jeff Law wrote: > On 08/06/14 11:20, David Malcolm wrote: > > gcc/ > > * cfgexpand.c (expand_used_vars): Strengthen return type from rtx > > to rtx_insn *; also for local "var_end_seq". > > (maybe_dump_rtl_for_gi

Re: [PATCH 029/236] rtl_data.x_parm_birth_insn is an insn

2014-08-19 Thread David Malcolm
On Wed, 2014-08-13 at 07:44 -0600, Jeff Law wrote: > On 08/06/14 11:20, David Malcolm wrote: > > gcc/ > > * function.h (struct rtl_data): Strengthen field > > "x_parm_birth_insn" from rtx to rtx_insn *. > > * function.c (struct ass

Re: [PATCH 030/236] Convert various rtx to rtx_note *

2014-08-19 Thread David Malcolm
On Wed, 2014-08-06 at 13:20 -0400, David Malcolm wrote: > gcc/ > * basic-block.h (create_basic_block_structure): Strengthen third > param "bb_note" from rtx to rtx_note *. > * rtl.h (emit_note_before): Strengthen return type from r

Re: [PATCH 031/236] emit_jump_table_data returns an rtx_jump_table_data *

2014-08-19 Thread David Malcolm
On Wed, 2014-08-13 at 07:45 -0600, Jeff Law wrote: > On 08/06/14 11:20, David Malcolm wrote: > > 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_da

Re: [PATCH 032/236] emit_* functions return rtx_insn

2014-08-19 Thread David Malcolm
On Wed, 2014-08-13 at 11:52 -0600, Jeff Law wrote: > On 08/06/14 11:20, David Malcolm wrote: > > More scaffolding: strengthen the return types from the various emit_ > > functions from rtx to rtx_insn * (or to the rtx_barrier * subclass in a > > few cases). > > > >

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

2014-08-19 Thread David Malcolm
On Wed, 2014-08-13 at 11:54 -0600, Jeff Law wrote: > On 08/06/14 11:20, David Malcolm wrote: > > gcc/ > > * expr.h (emit_move_insn): Strengthen return type from rtx to > > rtx_insn *. > > (emit_move_insn_1): Likewise. > > (

Re: [PATCH 034/236] next_cc0_user and prev_cc0_setter scaffolding

2014-08-19 Thread David Malcolm
On Wed, 2014-08-13 at 11:55 -0600, Jeff Law wrote: > On 08/06/14 11:20, David Malcolm wrote: > > gcc/ > > * rtl.h (next_cc0_user): Strengthen return type from rtx to > > rtx_insn *. > > (prev_cc0_setter): Likewise. > > > > * emit-rtl.c (next

Re: [PATCH 035/236] Return types of unlink_insn_chain and duplicate_insn_chain

2014-08-19 Thread David Malcolm
On Wed, 2014-08-13 at 11:56 -0600, Jeff Law wrote: > On 08/06/14 11:20, David Malcolm wrote: > > gcc/ > > * rtl.h (unlink_insn_chain): Strengthen return type from rtx to > > rtx_insn *. > > (duplicate_insn_chain): Likewise. > > * cfgrtl.c (unlink_in

Re: [PATCH 222/236] Use rtx_insn in more places in dwarf2cfi.c

2014-08-19 Thread David Malcolm
On Tue, 2014-08-19 at 13:56 -0700, Richard Henderson wrote: > On 08/06/2014 10:23 AM, David Malcolm wrote: > >else if (computed_jump_p (insn)) > > { > > for (rtx_expr_list *lab = forced_labels; lab; lab = lab->next ()) > > - maybe_record_trac

Re: [PATCH 225/236] Work towards NEXT_INSN/PREV_INSN requiring insns as their params

2014-08-19 Thread David Malcolm
On Tue, 2014-08-19 at 13:57 -0700, Richard Henderson wrote: > On 08/06/2014 10:23 AM, David Malcolm wrote: > > diff --git a/gcc/cfgrtl.c b/gcc/cfgrtl.c > > index 59d633d..5e42a97 100644 > > --- a/gcc/cfgrtl.c > > +++ b/gcc/cfgrtl.c > > @@ -1604,6 +1604,7 @@ force

Re: Bootstrap failure/ ICE in rtl.h (was: Re: [PATCH 225/236] Work towardgmane.comp.gcc.patchess NEXT_INSN/PREV_INSN requiring insns as their params)

2014-08-19 Thread David Malcolm
s_a<> fixes the bootstrap. I went ahead and committed the fix to trunk, as r214207 (patch attached for reference). Sorry again. Dave Index: gcc/ChangeLog =========== --- gcc/ChangeLog (revision 214206) +++ gcc/ChangeLog (revision 214207) @@

Re: [PATCH 035/236] Return types of unlink_insn_chain and duplicate_insn_chain

2014-08-20 Thread David Malcolm
On Wed, 2014-08-20 at 10:20 +0200, Andreas Schwab wrote: > David Malcolm writes: > > > @@ -4083,7 +4083,7 @@ cfg_layout_can_duplicate_bb_p (const_basic_block bb) > >return true; > > } > > > > -rtx > > +rtx_insn * > > duplicate_insn_chain

PR62203 (was Re: [PATCH 035/236] Return types of unlink_insn_chain and duplicate_insn_chain)

2014-08-20 Thread David Malcolm
On Wed, 2014-08-20 at 06:19 -0400, David Malcolm wrote: > On Wed, 2014-08-20 at 10:20 +0200, Andreas Schwab wrote: > > David Malcolm writes: > > > > > @@ -4083,7 +4083,7 @@ cfg_layout_can_duplicate_bb_p (const_basic_block bb) > > >return true; > >

Re: PR62203 (was Re: [PATCH 035/236] Return types of unlink_insn_chain and duplicate_insn_chain)

2014-08-20 Thread David Malcolm
On Wed, 2014-08-20 at 12:09 -0400, David Malcolm wrote: > On Wed, 2014-08-20 at 06:19 -0400, David Malcolm wrote: > > On Wed, 2014-08-20 at 10:20 +0200, Andreas Schwab wrote: > > > David Malcolm writes: > > > > > > > @@ -4083,7 +4083,7 @@ cfg_layou

Re: [PATCH 036/236] get_last_bb_insn returns an rtx_insn

2014-08-20 Thread David Malcolm
On Wed, 2014-08-13 at 11:57 -0600, Jeff Law wrote: > On 08/06/14 11:20, David Malcolm wrote: > > gcc/ > > * basic-block.h (get_last_bb_insn): Strengthen return type from > > rtx to rtx_insn *. > > * cfgrtl.c (get_last_bb_insn): Likewise, and for locals &

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

2014-08-20 Thread David Malcolm
On Wed, 2014-08-13 at 12:00 -0600, Jeff Law wrote: > On 08/06/14 11:20, David Malcolm wrote: > > 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_

Re: [PATCH 038/236] find_first_parameter_load returns an rtx_insn

2014-08-20 Thread David Malcolm
On Wed, 2014-08-13 at 12:01 -0600, Jeff Law wrote: > On 08/06/14 11:20, David Malcolm wrote: > > gcc/ > > * rtl.h (find_first_parameter_load): Strengthen return type from > > rtx to rtx_insn *. > > * rtlanal.c (find_first_parameter_load): Strengthen retu

Re: [PATCH 039/236] create_insn_rtx_from_pattern and create_copy_of_insn_rtx return rtx_insn

2014-08-20 Thread David Malcolm
On Wed, 2014-08-13 at 12:02 -0600, Jeff Law wrote: > On 08/06/14 11:20, David Malcolm wrote: > > 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): Li

Re: [PATCH 040/236] Use rtx_insn internally within generated functions

2014-08-21 Thread David Malcolm
On Wed, 2014-08-13 at 12:03 -0600, Jeff Law wrote: > On 08/06/14 11:20, David Malcolm wrote: > > With this patch, "insn" and "curr_insn" as used from C++ fragments in .md > > files are strengthened from rtx to rtx_insn *, allowing numerous > > target-s

Re: [PATCH 041/236] Debug hooks: use rtx_insn and rtx_code_label

2014-08-21 Thread David Malcolm
On Wed, 2014-08-13 at 12:05 -0600, Jeff Law wrote: > On 08/06/14 11:20, David Malcolm wrote: > > gcc/ > > * debug.h (struct gcc_debug_hooks): Strengthen param 1 of hook > > "label" from rtx to rtx_code_label *. Strengthen param 1 o > > &qu

Re: [PATCH 042/236] try_split returns an rtx_insn

2014-08-21 Thread David Malcolm
On Wed, 2014-08-13 at 12:06 -0600, Jeff Law wrote: > On 08/06/14 11:20, David Malcolm wrote: > > gcc/ > > * rtl.h (try_split): Strengthen return type from rtx to rtx_insn *. > > > > * emit-rtl.c (try_split): Likewise, also for locals "before" and > &

Re: [PATCH 043/236] peephole returns an rtx_insn

2014-08-21 Thread David Malcolm
On Wed, 2014-08-13 at 12:06 -0600, Jeff Law wrote: > On 08/06/14 11:20, David Malcolm wrote: > > gcc/ > > * output.h (peephole): Strengthen return type from rtx to rtx_insn *. > > * rtl.h (delete_for_peephole): Likewise for both params. > > * genpeep.c (ma

Re: [PATCH 044/236] Pass "insn" as an rtx_insn within generated get_attr_ fns in insn-attrtab.c

2014-08-21 Thread David Malcolm
On Wed, 2014-08-13 at 12:07 -0600, Jeff Law wrote: > On 08/06/14 11:20, David Malcolm wrote: > > Strengthen "insn" from rtx to rtx_insn * within the generated get_attr_ > > functions in insn-attrtab.c, without imposing a strengthening from rtx > > to rtx_insn * o

Re: [PATCH 045/236] define_bypass guard functions take a pair of rtx_insn

2014-08-21 Thread David Malcolm
On Wed, 2014-08-13 at 12:07 -0600, Jeff Law wrote: > On 08/06/14 11:20, David Malcolm wrote: > > (define_bypass) clauses in .md files can specify the name of a guard > > function as their final operand. Currently these functions are called > > with a pair of rtx. This p

Re: [PATCH 046/236] delete_related_insns returns an rtx_insn

2014-08-21 Thread David Malcolm
On Wed, 2014-08-13 at 12:10 -0600, Jeff Law wrote: > On 08/06/14 11:20, David Malcolm wrote: > > gcc/ > > * rtl.h (delete_related_insns): Strengthen return type from rtx to > > rtx_insn *. > > > > * jump.c (delete_related_insns): Likewise, also fo

Re: [PATCH 047/236] PHASE 2: Per-file commits in main source directory

2014-08-21 Thread David Malcolm
On Wed, 2014-08-13 at 12:10 -0600, Jeff Law wrote: > On 08/06/14 11:20, David Malcolm wrote: > > This commit is a placeholder for me when rebasing, to help organize the > > patch kit. > > > > / > > * rtx-classes-status.txt: Update > OK. Thanks; committed to trunk r214276.

Re: [BUILDROBOT][PATCH] frv-linux fallout (was: [PATCH 009/236] Replace BB_HEAD et al macros with functions)

2014-08-25 Thread David Malcolm
On Sat, 2014-08-23 at 20:49 +0200, Jan-Benedict Glaw wrote: > On Wed, 2014-08-06 13:19:48 -0400, David Malcolm wrote: > > This is further scaffolding; convert the BB_* and SET_BB_* macros > > into functions. Convert the BB_* rvalue-style functions into returning > > rtx_ins

[COMMITTED] Update rs6000.c's pass_analyze_swaps to use rtx_insn [was Re: [PATCH 029/236] rtl_data.x_parm_birth_insn is an insn]

2014-08-26 Thread David Malcolm
On Wed, 2014-08-13 at 11:13 -0600, Jeff Law wrote: > On 08/13/14 11:08, David Malcolm wrote: > > On Wed, 2014-08-13 at 07:44 -0600, Jeff Law wrote: > >> On 08/06/14 11:20, David Malcolm wrote: > >>> gcc/ > >>> * function.h (struct rtl_data): Strengthen

[PATCH 0/3] Updated patches to eliminate need for rtx_expr_list::insn (was Re: [PATCH 221/236] Add insn method to rtx_expr_list)

2014-08-26 Thread David Malcolm
On Mon, 2014-08-25 at 08:22 -0600, Jeff Law wrote: On 08/19/14 14:41, Richard Henderson wrote: > > On 08/06/2014 10:23 AM, David Malcolm wrote: > >> gcc/ > >> * rtl.h (rtx_expr_list::insn): New method. > >> --- > >> gcc/rtl.h | 9 +++

[PATCH 1/3] Convert nonlocal_goto_handler_labels from an EXPR_LIST to an INSN_LIST

2014-08-26 Thread David Malcolm
gcc/ * function.h (struct rtl_data): Convert field "x_nonlocal_goto_handler_labels" from rtx_expr_list * to rtx_insn_list *. * rtl.h (remove_node_from_insn_list): New prototype. * builtins.c (expand_builtin): When prepending to nonlocal_goto_handler_

[PATCH 2/3] Convert forced_labels from an EXPR_LIST to an INSN_LIST

2014-08-26 Thread David Malcolm
gcc/ * function.h (struct expr_status): Convert field "x_forced_labels" from rtx_expr_list * to rtx_insn_list *. * cfgbuild.c (make_edges): Convert local "x" from an rtx_expr_list * to an rtx_insn_list *, replacing use of "element" method with "insn" method.

[PATCH 3/3] Use rtx_insn in more places in dwarf2cfi.c

2014-08-26 Thread David Malcolm
gcc/ * dwarf2cfi.c (dw_trace_info): Strengthen field "head" from rtx to rtx_insn *. (get_trace_info): Likewise for param "insn". (save_point_p): Likewise. (maybe_record_trace_start): Likewise for both params. (maybe_record_trace_start_abnormal): Likew

Re: [PATCH 225/236] Work towards NEXT_INSN/PREV_INSN requiring insns as their params

2014-08-26 Thread David Malcolm
On Mon, 2014-08-25 at 08:25 -0600, Jeff Law wrote: > On 08/19/14 15:35, David Malcolm wrote: > > On Tue, 2014-08-19 at 13:57 -0700, Richard Henderson wrote: > >> On 08/06/2014 10:23 AM, David Malcolm wrote: > >>> diff --git a/gcc/cfgrtl.c b/gcc/cfgrtl.c >

Re: [PATCH 003/236] config/mn10300: Fix missing PATTERN in PARALLEL handling

2014-08-27 Thread David Malcolm
On Tue, 2014-08-19 at 11:02 -0700, Richard Henderson wrote: > On 08/06/2014 10:19 AM, David Malcolm wrote: > > @@ -2772,11 +2772,11 @@ mn10300_adjust_sched_cost (rtx insn, rtx link, rtx > > dep, int cost) > >if (!TARGET_AM33) > > return 1; > > >

Re: [PATCH 003/236] config/mn10300: Fix missing PATTERN in PARALLEL handling

2014-08-27 Thread David Malcolm
On Wed, 2014-08-27 at 09:11 -0700, Richard Henderson wrote: > On 08/27/2014 08:48 AM, David Malcolm wrote: > > Alternatively, should this simply use "single_set"? > > Yes. > > > (though I think that's a more invasive change, especially since some of >

Re: [PATCH 225/236] Work towards NEXT_INSN/PREV_INSN requiring insns as their params

2014-08-28 Thread David Malcolm
On Thu, 2014-08-28 at 17:08 -0700, H.J. Lu wrote: > On Tue, Aug 26, 2014 at 10:15 AM, David Malcolm wrote: > > On Mon, 2014-08-25 at 08:25 -0600, Jeff Law wrote: > >> On 08/19/14 15:35, David Malcolm wrote: > >> > On Tue, 2014-08-19 at 13:57 -0700, Richard Henderso

Re: (Still) ICE for cris-elf at r214710

2014-08-29 Thread David Malcolm
On Fri, 2014-08-29 at 06:13 +0200, Hans-Peter Nilsson wrote: > Sorry for the context-less mail but I didn't find a proper > obvious gcc-patches-message to reply to. (Also, I can't log > into bugzilla because to enter a PR as there appears to have > been some SSL changes such that my old firefox an

Re: (Still) ICE for cris-elf at r214710

2014-08-29 Thread David Malcolm
On Fri, 2014-08-29 at 07:26 -0400, David Malcolm wrote: > On Fri, 2014-08-29 at 06:13 +0200, Hans-Peter Nilsson wrote: > > Sorry for the context-less mail but I didn't find a proper > > obvious gcc-patches-message to reply to. (Also, I can't log > > into bugzilla

PR62304 (was Re: (Still) ICE for cris-elf at r214710)

2014-08-29 Thread David Malcolm
On Fri, 2014-08-29 at 16:48 +0200, Hans-Peter Nilsson wrote: > > From: David Malcolm > > Date: Fri, 29 Aug 2014 13:26:59 +0200 > > On Fri, 2014-08-29 at 06:13 +0200, Hans-Peter Nilsson wrote: > > > /tmp/hpautotest-gcc1/cris-elf/gccobj/./gcc/xgcc > > > -B/tmp/h

[PATCH v2] Re: PR62304 (was Re: (Still) ICE for cris-elf at r214710)

2014-08-29 Thread David Malcolm
On Fri, 2014-08-29 at 18:15 +0200, Hans-Peter Nilsson wrote: > > From: David Malcolm > > Date: Fri, 29 Aug 2014 17:33:54 +0200 > > > On Fri, 2014-08-29 at 16:48 +0200, Hans-Peter Nilsson wrote: > > > Sorry, but that didn't help. I still get the exact same

[PATCH rtl, gdbinit.in]: Skip various inline functions in rtl.h when stepping in gdb

2014-08-29 Thread David Malcolm
unction instead. Tested manually within gdb (gdb-7.6.50.20130731-19.fc20.x86_64) stepping through final. OK for trunk? gcc/ * gdbinit.in: Skip various inline functions in rtl.h when stepping. commit dbcda52e0a92723a844e177fbc40ceac8dae739b Author: David Malcolm Date: Wed Aug

Re: [PATCH v2] Re: PR62304 (was Re: (Still) ICE for cris-elf at r214710)

2014-08-30 Thread David Malcolm
On Fri, 2014-08-29 at 23:41 -0600, Jeff Law wrote: > On 08/29/14 12:07, David Malcolm wrote: > > > > > Yes: I made various mistakes in reorg.c and resource.c where I assumed > > that a JUMP_LABEL(insn) was an insn, whereas the existing code is set up > > to handle

Re: [PATCH] Force rtl templates to be inlined

2014-09-02 Thread David Malcolm
On Tue, 2014-09-02 at 00:03 -0700, Andi Kleen wrote: > From: Andi Kleen > > I noticed that with the trunk compiler a range of the new rtl > inlines show up as hot in a profiler during stage1. I think > that happens because stage1 is not using optimization > and does not inline plain "inline". An

[PATCH] Add XINSN macro and use it within NEXT_INSN/PREV_INSN (was Re: [PATCH] Force rtl templates to be inlined)

2014-09-04 Thread David Malcolm
ia64/ia64.c (ia64_init_dfa_pre_cycle_insn): Likewise. (ia64_reorg): Likewise. >From 6e60e29211314b5865bc7b5b05d586777d96815f Mon Sep 17 00:00:00 2001 From: David Malcolm Date: Wed, 3 Sep 2014 11:01:37 -0400 Subject: [PATCH 01/32] Add XINSN macro and use it within NEXT_INSN/PREV_INSN gcc/ * rt

[PATCH][committed] eh_returnjump_p takes an rtx_insn

2014-09-04 Thread David Malcolm
-09-04 David Malcolm + + * jump.c (eh_returnjump_p): Strengthen param "insn" from rtx to + rtx_insn *. + + * rtl.h (eh_returnjump_p): Likewise. + 2014-09-04 Aldy Hernandez * Makefile.in (TAGS): Handle constructs in timevar.def. Index:

[PATCH][committed] insn_latency takes a pair of rtx_insn *

2014-09-04 Thread David Malcolm
uation (INSN2_PARAMETER_NAME, Index: gcc/ChangeLog === --- gcc/ChangeLog (revision 214920) +++ gcc/ChangeLog (revision 214921) @@ -1,5 +1,14 @@ 2014-09-04 David Malcolm + * genattr.c (main): Within the prototype of insn_latency written + out to insn-attr.h, strengthen bot

<    13   14   15   16   17   18   19   20   21   22   >