platform/upstream/linaro-gcc.git
9 years agortl_data.x_stack_slot_list becomes an rtx_expr_list
dmalcolm [Wed, 27 Aug 2014 20:38:06 +0000 (20:38 +0000)]
rtl_data.x_stack_slot_list becomes an rtx_expr_list

gcc/
2014-08-27  David Malcolm  <dmalcolm@redhat.com>

* function.h (struct rtl_data): Strengthen field
"x_stack_slot_list" from rtx to rtx_expr_list *.

* emit-rtl.c (unshare_all_rtl_1): Add a checked cast
when assigning to stack_slot_list.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214604 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agortl_data.x_nonlocal_goto_handler_labels becomes an rtx_expr_list
dmalcolm [Wed, 27 Aug 2014 20:35:53 +0000 (20:35 +0000)]
rtl_data.x_nonlocal_goto_handler_labels becomes an rtx_expr_list

gcc/
2014-08-27  David Malcolm  <dmalcolm@redhat.com>

* function.h (struct rtl_data): Strengthen field
x_nonlocal_goto_handler_labels from rtx to rtx_expr_list *.
* rtl.h (remove_node_from_expr_list): Strengthen second param from
rtx * to rtx_expr_list **.

* cfgbuild.c (make_edges): In loop over
nonlocal_goto_handler_labels, strengthen local "x" from rtx to
rtx_expr_list *, and use methods of the latter class to clarify
the code.
* cfgrtl.c (cfg_layout_initialize): Strengthen local "x" from rtx to
rtx_expr_list *, and use methods of the latter class to clarify
the code.
* dwarf2cfi.c (create_trace_edges): Likewise for local "lab".
* reload1.c (set_initial_label_offsets): Likewise for local "x".
* rtlanal.c (remove_node_from_expr_list): Strengthen param "listp"
from rtx * to rtx_expr_list **.  Strengthen local "temp" from rtx
to rtx_expr_list *.  Use methods of the latter class to clarify
the code.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214603 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoUse rtx_expr_list for expr_status.x_forced_labels
dmalcolm [Wed, 27 Aug 2014 20:33:38 +0000 (20:33 +0000)]
Use rtx_expr_list for expr_status.x_forced_labels

gcc/
2014-08-27  David Malcolm  <dmalcolm@redhat.com>

* function.h (struct expr_status): Strengthen field
"x_forced_labels" from rtx to rtx_expr_list *.

* cfgbuild.c (make_edges): Split local "x" into two locals,
strengthening one from rtx to rtx_expr_list *, and using methods
of said class.
* dwarf2cfi.c (create_trace_edges): Split local "lab" out; within
loop over forced_labels, introduce strengthen it from rtx to
rtx_expr_list *, using methods to clarify the code.
* jump.c (rebuild_jump_labels_1): Strengthen local "insn" from rtx
to rtx_expr_list *, using methods of said class to clarify the
code.
* reload1.c (set_initial_label_offsets): Split local "x" into two
per-loop variables, strengthening the first from rtx to
rtx_expr_list * and using methods.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214602 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoIntroduce rtx_expr_list subclass of rtx_def
dmalcolm [Wed, 27 Aug 2014 20:30:51 +0000 (20:30 +0000)]
Introduce rtx_expr_list subclass of rtx_def

gcc/
2014-08-27  David Malcolm  <dmalcolm@redhat.com>

* coretypes.h (class rtx_expr_list): Add forward declaration.
* emit-rtl.c (gen_rtx_EXPR_LIST): New.
* gengenrtl.c (special_rtx): Add EXPR_LIST.
* rtl.h (class rtx_expr_list): New subclass of rtx_def, adding
invariant: GET_CODE (X) == EXPR_LIST.
(is_a_helper <rtx_expr_list *>::test): New.
(rtx_expr_list::next): New.
(rtx_expr_list::element): New.
(gen_rtx_EXPR_LIST): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214601 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agovarasm.c: Use rtx_sequence
dmalcolm [Wed, 27 Aug 2014 20:28:31 +0000 (20:28 +0000)]
varasm.c: Use rtx_sequence

gcc/
2014-08-27  David Malcolm  <dmalcolm@redhat.com>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214600 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agosched-vis.c: Use rtx_sequence
dmalcolm [Wed, 27 Aug 2014 20:26:27 +0000 (20:26 +0000)]
sched-vis.c: Use rtx_sequence

gcc/
2014-08-27  David Malcolm  <dmalcolm@redhat.com>

* sched-vis.c (print_pattern): Within SEQUENCE case, introduce a
local "seq" via a checked cast, and use methods of rtx_sequence
to simplify the code.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214599 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoresource.c: Use rtx_sequence
dmalcolm [Wed, 27 Aug 2014 20:24:41 +0000 (20:24 +0000)]
resource.c: Use rtx_sequence

gcc/
2014-08-27  David Malcolm  <dmalcolm@redhat.com>

* 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 check to a dyn_cast, introducing local "seq".  Within
the JUMP_P handling, introduce another local "seq", adding a
checked cast to rtx_sequence *.  In both cases, use methods of
rtx_sequence to clarify the code.
(mark_set_resources): Within SEQUENCE case, introduce local "seq"
via a checked cast, and use methods of rtx_sequence to simplify
the code.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214598 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoreorg.c: Use rtx_sequence
dmalcolm [Wed, 27 Aug 2014 20:21:56 +0000 (20:21 +0000)]
reorg.c: Use rtx_sequence

gcc/
2014-08-27  David Malcolm  <dmalcolm@redhat.com>

* reorg.c (redundant_insn): In two places in the function, replace
a check of GET_CODE with a dyn_cast, introducing local "seq", and
usings methods of rtx_sequence to clarify the code.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214597 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agojump.c: Use rtx_sequence
dmalcolm [Wed, 27 Aug 2014 20:08:32 +0000 (20:08 +0000)]
jump.c: Use rtx_sequence

gcc/
2014-08-27  David Malcolm  <dmalcolm@redhat.com>

* jump.c (mark_jump_label_1): Within the SEQUENCE case, introduce
local "seq" with a checked cast, and use methods of rtx_sequence
to clarify the code.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214596 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agofunction.c: Use rtx_sequence
dmalcolm [Wed, 27 Aug 2014 20:06:47 +0000 (20:06 +0000)]
function.c: Use rtx_sequence

gcc/
2014-08-27  David Malcolm  <dmalcolm@redhat.com>

* function.c (contains): Introduce local "seq" for PATTERN (insn),
with a checked cast, in the region for where we know it's a
SEQUENCE.  Use methods of rtx_sequence.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214595 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agofinal.c: Use rtx_sequence
dmalcolm [Wed, 27 Aug 2014 20:04:14 +0000 (20:04 +0000)]
final.c: Use rtx_sequence

gcc/
2014-08-27  David Malcolm  <dmalcolm@redhat.com>

* final.c (get_attr_length_1): Replace GET_CODE check with a
dyn_cast, introducing local "seq" and the use of methods of
rtx_sequence.
(shorten_branches): Likewise, introducing local "body_seq".
Strengthen local "inner_insn" from rtx to rtx_insn *.
(reemit_insn_block_notes): Replace GET_CODE check with a
dyn_cast, strengthening local "body" from rtx to rtx_sequence *.
Use methods of rtx_sequence.
(final_scan_insn): Likewise, introducing local "seq" for when
"body" is known to be a SEQUENCE, using its methods.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214594 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoexcept.c: Use rtx_sequence
dmalcolm [Wed, 27 Aug 2014 20:01:32 +0000 (20:01 +0000)]
except.c: Use rtx_sequence

gcc/
2014-08-27  David Malcolm  <dmalcolm@redhat.com>

* except.c (can_throw_external): Strengthen local "seq" from rtx
to rtx_sequence *.  Use methods of rtx_sequence.
(insn_nothrow_p): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214593 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agodwarf2cfi.c: Use rtx_sequence
dmalcolm [Wed, 27 Aug 2014 19:59:57 +0000 (19:59 +0000)]
dwarf2cfi.c: Use rtx_sequence

gcc/
2014-08-27  David Malcolm  <dmalcolm@redhat.com>

* dwarf2cfi.c (create_trace_edges): Convert GET_CODE check into a
dyn_cast, strengthening local "seq" from rtx to rtx_sequence *.
Use methods of rtx_sequence.
(scan_trace): Likewise for local "pat".

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214592 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoIntroduce rtx_sequence subclass of rtx_def
dmalcolm [Wed, 27 Aug 2014 19:56:45 +0000 (19:56 +0000)]
Introduce rtx_sequence subclass of rtx_def

gcc/
2014-08-27  David Malcolm  <dmalcolm@redhat.com>

* coretypes.h (class rtx_sequence): Add forward declaration.
* rtl.h (class rtx_sequence): New subclass of rtx_def, adding
invariant: GET_CODE (X) == SEQUENCE.
(is_a_helper <rtx_sequence *>::test): New.
(is_a_helper <const rtx_sequence *>::test): New.
(rtx_sequence::len): New.
(rtx_sequence::element): New.
(rtx_sequence::insn): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214591 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoUse rtx_insn_list in various places
dmalcolm [Wed, 27 Aug 2014 19:53:39 +0000 (19:53 +0000)]
Use rtx_insn_list in various places

gcc/
2014-08-27  David Malcolm  <dmalcolm@redhat.com>

* rtl.h (free_INSN_LIST_list): Strengthen param from rtx * to
rtx_insn_list **.
(alloc_INSN_LIST): Strengthen return type from rtx to
rtx_insn_list *.
(copy_INSN_LIST): Likewise for return type and param.
(concat_INSN_LIST): Likewise for both params and return type.
(remove_free_INSN_LIST_elem): Strenghten first param from rtx to
rtx_insn *.  Strengthen second param from rtx * to rtx_insn_list **.
(remove_free_INSN_LIST_node): Strenghten return type from rtx to
rtx_insn *.  Strengthen param from rtx * to rtx_insn_list **.

* sched-int.h (struct deps_reg): Strengthen fields "uses", "sets",
"implicit_sets", "control_uses", "clobbers" from rtx to
rtx_insn_list *.
(struct deps_desc): Likewise for fields "pending_read_insns",
"pending_write_insns", "pending_jump_insns",
"last_pending_memory_flush", "last_function_call",
"last_function_call_may_noreturn", "sched_before_next_call",
"sched_before_next_jump".
(struct _haifa_deps_insn_data): Likewise for field "cond_deps".
(remove_from_deps): Strengthen second param from rtx to rtx_insn *.

* gcse.c (struct ls_expr): Strengthen fields "loads" and "stores"
from rtx to rtx_insn_list *.
(ldst_entry): Replace use of NULL_RTX with NULL when dealing with
rtx_insn_list *.

* haifa-sched.c (insn_queue): Strengthen this variable from rtx *
to rtx_insn_list **.
(dep_cost_1): Strengthen local "dep_cost_rtx_link" from rtx to
rtx_insn_list *.
(queue_insn): Likewise for local "link".
(struct haifa_saved_data): Strengthen field "insn_queue" from
rtx * to rtx_insn_list **.
(save_backtrack_point): Update allocation of save->insn_queue to
reflect the strengthening of elements from rtx to rtx_insn_list *.
(queue_to_ready): Strengthen local "link" from rtx to
rtx_insn_list *; use methods "next" and "insn" when traversing the
list.
(early_queue_to_ready): Likewise for locals "link", "next_link",
"prev_link".
(schedule_block): Update allocation of insn_queue to reflect the
strengthening of elements from rtx to rtx_insn_list *.  Strengthen
local "link" from rtx to rtx_insn_list *, and use methods when
working it.
(add_to_speculative_block): Strengthen locals "twins" and
"next_node" from rtx to rtx_insn_list *, and use methods when
working with them.  Strengthen local "twin" from rtx to
rtx_insn *, eliminating a checked cast.
(fix_recovery_deps): Strengthen locals "ready_list" and "link"
from rtx to rtx_insn_list *, and use methods when working with
them.

* lists.c (alloc_INSN_LIST): Strengthen return type and local "r"
from rtx to rtx_insn_list *, adding a checked cast.
(free_INSN_LIST_list): Strengthen param "listp" from rtx * to
rtx_insn_list **.
(copy_INSN_LIST): Strengthen return type and locals "new_queue",
"newlink" from rtx to rtx_insn_list *.  Strengthen local
"pqueue" from rtx * to rtx_insn_list **.  Strengthen local "x"
from rtx to rtx_insn *.
(concat_INSN_LIST): Strengthen return type and local "new_rtx",
from rtx to rtx_insn_list *.  Use methods of the latter class.
(remove_free_INSN_LIST_elem): Strengthen param "elem" from rtx to
rtx_insn *, and param "listp" from rtx * to rtx_insn_list **.
(remove_free_INSN_LIST_node): Strengthen return type and local
"elem" from rtx to rtx_insn *.  Strenghten param "listp" from
rtx * to rtx_insn_list **.  Strengthen local "node" from rtx to
rtx_insn_list *, using "insn" method.

* sched-deps.c (add_dependence_list):  Strengthen param "list"
from rtx to rtx_insn_list *, and use methods when working with it.
(add_dependence_list_and_free):  Strengthen param "listp" from
rtx * to rtx_insn_list **.
(remove_from_dependence_list): Strenghten param "listp" from rtx *
to rtx_insn_list **, and use methods when working with *listp.
(remove_from_both_dependence_lists): Strengthen param "listp" from
rtx * to rtx_insn_list **
(add_insn_mem_dependence): Strengthen local "insn_list" from rtx *
to rtx_insn_list **.  Eliminate local "link", in favor of two new
locals "insn_node" and "mem_node", an rtx_insn_list * and an rtx
respectively.
(deps_analyze_insn): Split out uses 'f local "t" as an INSN_LIST
by introducing local "cond_deps".
(remove_from_deps): Strengthen param "insn" from rtx to
rtx_insn *.

* sched-rgn.c (concat_insn_mem_list): Strengthen param
"copy_insns" and local "new_insns" from rtx to rtx_insn_list *.
Strengthen param "old_insns_p" from rtx * to rtx_insn_list **.
Use methods of rtx_insn_list.

* store-motion.c (struct st_expr): Strengthen fields
"antic_stores" and "avail_stores" from rtx to rtx_insn_list *.
(st_expr_entry): Replace NULL_RTX with NULL when dealing with
rtx_insn_list *.
(find_moveable_store): Split out "tmp" into multiple more-tightly
scoped locals.  Use methods of rtx_insn_list *.
(compute_store_table): Strengthen local "tmp" from rtx to
rtx_insn *.  Use methods of rtx_insn_list *.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214590 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoIntroduce rtx_insn_list subclass of rtx_def
dmalcolm [Wed, 27 Aug 2014 19:49:43 +0000 (19:49 +0000)]
Introduce rtx_insn_list subclass of rtx_def

gcc/
2014-08-27  David Malcolm  <dmalcolm@redhat.com>

* coretypes.h (class rtx_insn_list): Add forward declaration.
* rtl.h (class rtx_insn_list): New subclass of rtx_def
(is_a_helper <rtx_insn_list *>::test): New.
(rtx_insn_list::next): New.
(rtx_insn_list::insn): New.
(gen_rtx_INSN_LIST): Add prototype.
* emit-rtl.c (gen_rtx_INSN_LIST): New.
* gengenrtl.c (special_rtx): Add INSN_LIST.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214589 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoPHASE 5: Additional rtx subclasses
dmalcolm [Wed, 27 Aug 2014 19:46:46 +0000 (19:46 +0000)]
PHASE 5: Additional rtx subclasses

2014-08-27  David Malcolm  <dmalcolm@redhat.com>

* rtx-classes-status.txt: Phase 4 (removal of "scaffolding") is
done; begin phase 5 (additional rtx_def subclasses).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214588 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoTweak to ira-lives.c
dmalcolm [Wed, 27 Aug 2014 19:43:12 +0000 (19:43 +0000)]
Tweak to ira-lives.c

gcc/
2014-08-27  David Malcolm  <dmalcolm@redhat.com>

* ira-lives.c (find_call_crossed_cheap_reg): Strengthen local
"prev" from rtx to rtx_insn *.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214587 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoConvert various INSN accessors in rtl.h to inline functions
dmalcolm [Wed, 27 Aug 2014 19:40:43 +0000 (19:40 +0000)]
Convert various INSN accessors in rtl.h to inline functions

gcc/
2014-08-27  David Malcolm  <dmalcolm@redhat.com>

* rtl.h (INSN_UID): Convert from a macro to a pair of inline
functions.  Require merely an rtx for now, not an rtx_insn *.
(BLOCK_FOR_INSN): Likewise.
(INSN_LOCATION): Likewise.
(INSN_HAS_LOCATION): Convert from a macro to an inline function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214586 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoConvert PATTERN from a macro to a pair of inline functions
dmalcolm [Wed, 27 Aug 2014 19:38:19 +0000 (19:38 +0000)]
Convert PATTERN from a macro to a pair of inline functions

gcc/
2014-08-27  David Malcolm  <dmalcolm@redhat.com>

* rtl.h (PATTERN): Convert this macro into a pair of inline
functions, for now, requiring const_rtx and rtx.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214585 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoUse rtx_insn for various target.def hooks
dmalcolm [Wed, 27 Aug 2014 19:34:13 +0000 (19:34 +0000)]
Use rtx_insn for various target.def hooks

gcc/
2014-08-27  David Malcolm  <dmalcolm@redhat.com>

* target.def (unwind_emit): Strengthen param "insn" from rtx to
rtx_insn *.
(final_postscan_insn): Likewise.
(adjust_cost): Likewise.
(adjust_priority): Likewise.
(variable_issue): Likewise.
(macro_fusion_pair_p): Likewise.
(dfa_post_cycle_insn): Likewise.
(first_cycle_multipass_dfa_lookahead_guard): Likewise.
(first_cycle_multipass_issue): Likewise.
(dfa_new_cycle): Likewise.
(adjust_cost_2): Likewise for params "insn" and "dep_insn".
(speculate_insn): Likewise for param "insn".
(gen_spec_check): Likewise for params "insn" and "label".
(get_insn_spec_ds): Likewise for param "insn".
(get_insn_checked_ds): Likewise.
(dispatch_do): Likewise.
(dispatch): Likewise.
(cannot_copy_insn_p): Likewise.
(invalid_within_doloop): Likewise.
(legitimate_combined_insn): Likewise.
(needed): Likewise.
(after): Likewise.

* doc/tm.texi: Automatically updated to reflect changes to
target.def.

* haifa-sched.c (choose_ready): Convert NULL_RTX to NULL when
working with insn.
(schedule_block): Likewise.
(sched_init): Likewise.
(sched_speculate_insn): Strengthen param "insn" from rtx to
rtx_insn *.
(ready_remove_first_dispatch): Convert NULL_RTX to NULL when
working with insn.
* hooks.c (hook_bool_rtx_true): Rename to...
hook_bool_rtx_insn_true): ...this, and strengthen first param from
rtx to rtx_insn *.
(hook_constcharptr_const_rtx_null): Rename to...
(hook_constcharptr_const_rtx_insn_null): ...this, and strengthen
first param from const_rtx to const rtx_insn *.
(hook_bool_rtx_int_false): Rename to...
(hook_bool_rtx_insn_int_false): ...this, and strengthen first
param from rtx to rtx_insn *.
(hook_void_rtx_int): Rename to...
(hook_void_rtx_insn_int): ...this, and strengthen first param from
rtx to rtx_insn *.

* hooks.h (hook_bool_rtx_true): Rename to...
(hook_bool_rtx_insn_true): ...this, and strengthen first param from
rtx to rtx_insn *.
(hook_bool_rtx_int_false): Rename to...
(hook_bool_rtx_insn_int_false): ...this, and strengthen first
param from rtx to rtx_insn *.
(hook_void_rtx_int): Rename to...
(hook_void_rtx_insn_int): ...this, and strengthen first param from
rtx to rtx_insn *.
(hook_constcharptr_const_rtx_null): Rename to...
(hook_constcharptr_const_rtx_insn_null): ...this, and strengthen
first param from const_rtx to const rtx_insn *.

* sched-deps.c (sched_macro_fuse_insns): Strengthen param "insn"
and local "prev" from rtx to rtx_insn *.

* sched-int.h (sched_speculate_insn): Strengthen first param from
rtx to rtx_insn *.

* sel-sched.c (create_speculation_check): Likewise for local "label".
* targhooks.c (default_invalid_within_doloop): Strengthen param
"insn" from const_rtx to const rtx_insn *.
* targhooks.h (default_invalid_within_doloop): Strengthen param
from const_rtx to const rtx_insn *.

* config/alpha/alpha.c (alpha_cannot_copy_insn_p): Likewise.
(alpha_adjust_cost): Likewise for params "insn", "dep_insn".

* config/arc/arc.c (arc_sched_adjust_priority): Likewise for param
"insn".
(arc_invalid_within_doloop): Likewise, with const.

* config/arm/arm.c (arm_adjust_cost): Likewise for params "insn", "dep".
(arm_cannot_copy_insn_p): Likewise for param "insn".
(arm_unwind_emit): Likewise.

* config/bfin/bfin.c (bfin_adjust_cost): Likewise for params "insn",
"dep_insn".

* config/c6x/c6x.c (c6x_dfa_new_cycle): Likewise for param "insn".
(c6x_variable_issue): Likewise.  Removed now-redundant checked
cast.
(c6x_adjust_cost): Likewise for params "insn", "dep_insn".

* config/epiphany/epiphany-protos.h (epiphany_mode_needed):
Likewise for param "insn".
(epiphany_mode_after): Likewise.
* config/epiphany/epiphany.c (epiphany_adjust_cost): Likewise for
params "insn", "dep_insn".
(epiphany_mode_needed): Likewise for param "insn".
(epiphany_mode_after): Likewise.

* config/i386/i386-protos.h (i386_pe_seh_unwind_emit): Likewise.
* config/i386/i386.c (ix86_legitimate_combined_insn): Likewise.
(ix86_avx_u128_mode_needed): Likewise.
(ix86_i387_mode_needed): Likewise.
(ix86_mode_needed): Likewise.
(ix86_avx_u128_mode_after): Likewise.
(ix86_mode_after): Likewise.
(ix86_adjust_cost): Likewise for params "insn", "dep_insn".
(ix86_macro_fusion_pair_p): Likewise for params "condgen", "condjmp".
(ix86_adjust_priority): Likewise for param "insn".
(core2i7_first_cycle_multipass_issue): Likewise for param "insn".
(do_dispatch): Likewise.
(has_dispatch): Likewise.
* config/i386/winnt.c (i386_pe_seh_unwind_emit): Likewise.

* config/ia64/ia64.c (TARGET_INVALID_WITHIN_DOLOOP): Update to
reflect renaming of default hook implementation from
hook_constcharptr_const_rtx_null to
hook_constcharptr_const_rtx_insn_null.
(ia64_adjust_cost_2): Strengthen params "insn", "dep_insn" from
rtx to rtx_insn *.
(ia64_variable_issue): Likewise for param "insn".
(ia64_first_cycle_multipass_dfa_lookahead_guard): Likewise.
(ia64_dfa_new_cycle): Likewise.
(ia64_get_insn_spec_ds): Likewise.
(ia64_get_insn_checked_ds): Likewise.
(ia64_speculate_insn): Likewise.
(ia64_gen_spec_check): Likewise for params "insn", "label".
(ia64_asm_unwind_emit): Likewise for param "insn".

* config/m32r/m32r.c (m32r_adjust_priority): Likewise.

* config/m68k/m68k.c (m68k_sched_adjust_cost): Likewise for params
"insn", "def_insn".
(m68k_sched_variable_issue): Likewise for param "insn".

* config/mep/mep.c (mep_adjust_cost): Likewise for params "insn",
"def_insn".

* config/microblaze/microblaze.c (microblaze_adjust_cost):
Likewise for params "insn", "dep".

* config/mips/mips.c (mips_adjust_cost): Likewise.
(mips_variable_issue): Likewise for param "insn".
(mips_final_postscan_insn): Likewise.

* config/mn10300/mn10300.c (mn10300_adjust_sched_cost): Likewise
for params "insn", "dep".

* config/pa/pa.c (pa_adjust_cost): Likewise for params "insn",
"dep_insn".
(pa_adjust_priority): Likewise for param "insn".

* config/picochip/picochip.c (picochip_sched_adjust_cost):
Likewise for params "insn", "dep_insn".

* config/rs6000/rs6000.c (rs6000_variable_issue_1): Likewise for
param "insn".
(rs6000_variable_issue): Likewise.
(rs6000_adjust_cost): Likewise for params "insn", "dep_insn".
(rs6000_debug_adjust_cost): Likewise.
(rs6000_adjust_priority): Likewise for param "insn".
(rs6000_use_sched_lookahead_guard): Likewise.
(get_next_active_insn): Likewise for return type and both params.
(redefine_groups): Likewise for params "prev_head_insn", "tail"
and locals "insn", "next_insn".
(pad_groups): Likewise.

* config/s390/s390.c (s390_adjust_priority): Likewise for param
"insn".
(s390_cannot_copy_insn_p): Likewise.
(s390_sched_variable_issue): Likewise for third param, eliminating
checked cast.
(TARGET_INVALID_WITHIN_DOLOOP): Update to reflect renaming of
default hook implementation from hook_constcharptr_const_rtx_null
to hook_constcharptr_const_rtx_insn_null.

* config/sh/sh.c (sh_cannot_copy_insn_p): Strengthen param "insn"
from rtx to rtx_insn *.
(sh_adjust_cost): Likewise for params "insn", "dep_insn".
(sh_variable_issue): Likewise for param "insn".
(sh_dfa_new_cycle): Likewise.
(sh_mode_needed): Likewise.
(sh_mode_after): Likewise.

* config/sparc/sparc.c (supersparc_adjust_cost): Likewise for
params "insn", "dep_insn".
(hypersparc_adjust_cost): Likewise.
(sparc_adjust_cost): Likewise.

* config/spu/spu.c (spu_sched_variable_issue): Likewise for third
param, eliminated checked cast.
(spu_sched_adjust_cost): Likewise for first and third params.

* config/tilegx/tilegx.c (tilegx_sched_adjust_cost): Strengthen
params "insn" and "dep_insn" from rtx to rtx_insn *.

* config/tilepro/tilepro.c (tilepro_sched_adjust_cost): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214584 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agomn10300: Fixes to PARALLEL handling within mn10300_adjust_sched_cost
dmalcolm [Wed, 27 Aug 2014 19:12:31 +0000 (19:12 +0000)]
mn10300: Fixes to PARALLEL handling within mn10300_adjust_sched_cost

2014-08-27  David Malcolm  <dmalcolm@redhat.com>

* gcc/config/mn10300/mn10300.c (is_load_insn): Rename to...
(set_is_load_p): ...this, updating to work on a SET pattern rather
than an insn.
(is_store_insn): Rename to...
(set_is_store_p): ...this, updating to work on a SET pattern
rather than an insn.
(mn10300_adjust_sched_cost): Move call to get_attr_timings from
top of function to where it is needed.  Rewrite the bogus
condition that checks for "insn" and "dep" being PARALLEL to
instead use single_set, introducing locals "insn_set" and
"dep_set".  Given that we only ever returned "cost" for a non-pair
of SETs, bail out early if we don't have a pair of SET.
Rewrite all uses of PATTERN (dep) and PATTERN (insn) to instead
use the new locals "insn_set" and "dep_set", and update calls to
is_load_insn and is_store_insn to be calls to set_is_load_p and
set_is_store_p.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214582 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR libstdc++/62159
redi [Wed, 27 Aug 2014 17:33:42 +0000 (17:33 +0000)]
PR libstdc++/62159
* include/Makefile.am (install-freestanding-headers): Add missing
C++11 headers.
* include/Makefile.in: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214580 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago/cp
paolo [Wed, 27 Aug 2014 17:03:34 +0000 (17:03 +0000)]
/cp
2014-08-27  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/52892
* semantics.c (cxx_eval_call_expression): Use STRIP_NOPS on the
result of cxx_eval_constant_expression.

/testsuite
2014-08-27  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/52892
* g++.dg/cpp0x/constexpr-52892-1.C: New.
* g++.dg/cpp0x/constexpr-52892-2.C: Likewise.
* g++.dg/cpp0x/constexpr-52282-1.C: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214579 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR target/62262
carrot [Wed, 27 Aug 2014 16:48:09 +0000 (16:48 +0000)]
PR target/62262
* config/aarch64/aarch64.md (*andim_ashift<mode>_bfiz): Check the shift
amount before using it.

* gcc.target/aarch64/pr62262.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214578 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-08-27 Richard Biener <rguenther@suse.de>
rguenth [Wed, 27 Aug 2014 12:48:23 +0000 (12:48 +0000)]
2014-08-27  Richard Biener  <rguenther@suse.de>

* gimple-fold.c (get_maxval_strlen): Add overload wrapping
get_maxval_strlen inside a more useful API.
(gimple_fold_builtin_with_strlen): Remove and fold into ...
(gimple_fold_builtin): ... caller.
(gimple_fold_builtin_strlen, gimple_fold_builtin_strcpy,
gimple_fold_builtin_strncpy, gimple_fold_builtin_strcat,
gimple_fold_builtin_fputs, gimple_fold_builtin_memory_chk,
gimple_fold_builtin_stxcpy_chk, gimple_fold_builtin_stxncpy_chk,
gimple_fold_builtin_snprintf_chk, gimple_fold_builtin_snprintf,
gimple_fold_builtin_sprintf): Adjust to compute maxval
themselves.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214574 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-08-27 Yvan Roux <yvan.roux@linaro.org>
yroux [Wed, 27 Aug 2014 12:35:28 +0000 (12:35 +0000)]
2014-08-27  Yvan Roux  <yvan.roux@linaro.org>

        PR other/62248
        * config.gcc (arm*-*-*): Check --with-fpu against arm-fpus.def.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214573 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/
kyukhin [Wed, 27 Aug 2014 11:35:12 +0000 (11:35 +0000)]
gcc/
* config/i386/sse.md
(define_insn "<mask_codefor>avx512dq_broadcast<mode><mask_name>_1"):
Use `concat_tg_mode' attribute to determine asm register size.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214571 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/
kyukhin [Wed, 27 Aug 2014 11:31:51 +0000 (11:31 +0000)]
gcc/
        * config/i386/sse.md
(define_mode_iterator VI48_AVX512VL): New.
(define_mode_iterator VI_UNALIGNED_LOADSTORE): Delete.
(define_mode_iterator VI_ULOADSTORE_BW_AVX512VL): New.
(define_mode_iterator VI_ULOADSTORE_F_AVX512VL): Ditto.
(define_expand "<sse2_avx_avx512f>_loaddqu<mode><mask_name>"
with VI1): Change mode iterator.
(define_expand "<sse2_avx_avx512f>_loaddqu<mode><mask_name>"
with VI_ULOADSTORE_BW_AVX512VL): New.
(define_expand "<sse2_avx_avx512f>_loaddqu<mode><mask_name>"
with VI_ULOADSTORE_F_AVX512VL): Ditto.
(define_insn "*<sse2_avx_avx512f>_loaddqu<mode><mask_name>"
with VI1): Change mode iterator.
(define_insn "*<sse2_avx_avx512f>_loaddqu<mode><mask_name>"
with VI_ULOADSTORE_BW_AVX512VL): New.
(define_insn "*<sse2_avx_avx512f>_loaddqu<mode><mask_name>"
with VI_ULOADSTORE_F_AVX512VL): Ditto.
(define_insn "<sse2_avx_avx512f>_storedqu<mode>
with VI1): Change mode iterator.
(define_insn "<sse2_avx_avx512f>_storedqu<mode>
with VI_ULOADSTORE_BW_AVX512VL): New.
(define_insn "<sse2_avx_avx512f>_storedqu<mode>
with VI_ULOADSTORE_BW_AVX512VL): Ditto.
(define_insn "avx512f_storedqu<mode>_mask"): Delete.
(define_insn "<avx512>_storedqu<mode>_mask" with
VI48_AVX512VL): New.
(define_insn "<avx512>_storedqu<mode>_mask" with
VI12_AVX512VL): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214570 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/
kyukhin [Wed, 27 Aug 2014 11:14:16 +0000 (11:14 +0000)]
gcc/
        * config/i386/sse.md
(define_mode_iterator VI48_AVX2_48_AVX512F): Delete.
(define_mode_iterator VI48_AVX512BW): New.
(define_insn "<avx2_avx512f>_<shift_insn>v<mode><mask_name>"): Delete.
(define_insn "<avx2_avx512bw>_<shift_insn>v<mode><mask_name>"
with VI48_AVX2_48_AVX512F): New.
(define_insn "<avx2_avx512bw>_<shift_insn>v<mode><mask_name>"
with VI2_AVX512VL): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214569 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-08-27 Richard Biener <rguenther@suse.de>
rguenth [Wed, 27 Aug 2014 08:01:25 +0000 (08:01 +0000)]
2014-08-27  Richard Biener  <rguenther@suse.de>

PR middle-end/62239
* builtins.c (fold_builtin_strcat_chk): Move to gimple-fold.c.
(fold_builtin_3): Do not fold strcat_chk here.
* gimple-fold.c (gimple_fold_builtin_strcat_chk): Move here
from builtins.c.
(gimple_fold_builtin): Fold strcat_chk here.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214564 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agocompiler: Disallow call of *T method using **T variable.
ian [Wed, 27 Aug 2014 04:12:50 +0000 (04:12 +0000)]
compiler: Disallow call of *T method using **T variable.

Fixes https://code.google.com/p/go/issues/detail?id=8583.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214560 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Wed, 27 Aug 2014 00:17:00 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214559 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * dwarf2out.h (dwarf2out_decl): Remove prototype.
aldyh [Tue, 26 Aug 2014 22:57:45 +0000 (22:57 +0000)]
* dwarf2out.h (dwarf2out_decl): Remove prototype.
* dwarf2out.c (dwarf2out_decl): Make static.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214554 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-08-26 Joel Sherrill <joel.sherrill@oarcorp.com>
joel [Tue, 26 Aug 2014 22:25:50 +0000 (22:25 +0000)]
2014-08-26  Joel Sherrill <joel.sherrill@oarcorp.com>

* doc/invoke.texi: -fno-cxa-atexit should be -fno-use-cxa-atexit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214551 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agocselib (also touches sched-deps.c)
dmalcolm [Tue, 26 Aug 2014 20:45:09 +0000 (20:45 +0000)]
cselib (also touches sched-deps.c)

gcc/
2014-08-26  David Malcolm  <dmalcolm@redhat.com>

* cselib.h (struct elt_loc_list): Strengthen field "setting_insn"
from rtx to rtx_insn *.
(cselib_lookup_from_insn): Likewise for final param.
(cselib_subst_to_values_from_insn): Likewise.
(cselib_add_permanent_equiv): Likewise.

* cselib.c (cselib_current_insn): Likewise for this variable.
(cselib_subst_to_values_from_insn): Likewise for param "insn".
(cselib_lookup_from_insn): Likewise.
(cselib_add_permanent_equiv): Likewise for param "insn" and local
"save_cselib_current_insn".
(cselib_process_insn): Replace use of NULL_RTX with NULL.

* sched-deps.c (add_insn_mem_dependence): Strengthen param "insn"
from rtx to rtx_insn *.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214550 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoTweak to dse.c
dmalcolm [Tue, 26 Aug 2014 20:43:14 +0000 (20:43 +0000)]
Tweak to dse.c

gcc/
2014-08-26  David Malcolm  <dmalcolm@redhat.com>

* dse.c (dse_step6): Strengthen local "rinsn" from rtx to
rtx_insn *.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214549 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoRemove DF_REF_INSN scaffolding
dmalcolm [Tue, 26 Aug 2014 20:39:42 +0000 (20:39 +0000)]
Remove DF_REF_INSN scaffolding

gcc/
2014-08-26  David Malcolm  <dmalcolm@redhat.com>

* df.h (df_dump_insn_problem_function): Strengthen first param of
this callback from const_rtx to const rtx_insn *.
(struct df_insn_info): Strengthen field "insn" from rtx to
rtx_insn *.
(DF_REF_INSN): Eliminate this function, reinstating the older
macro definition.
(df_find_def): Strengthen param 1 from rtx to rtx_insn *.
(df_reg_defined): Likewise.
(df_find_use): Likewise.
(df_reg_used): Likewise.
(df_dump_insn_top): Strengthen param 1 from const_rtx to
const rtx_insn *.
(df_dump_insn_bottom): Likewise.
(df_insn_debug): Strengthen param 1 from rtx to rtx_insn *.
(df_insn_debug_regno): Likewise.
(debug_df_insn): Likewise.
(df_rd_simulate_one_insn): Likewise for param 2.
(df_word_lr_simulate_defs): Likewise for param 1.
(df_word_lr_simulate_uses): Likewise.
(df_md_simulate_one_insn): Likewise for param 2.
(df_simulate_find_noclobber_defs): Likewise for param 1.
(df_simulate_find_defs): Likewise.
(df_simulate_defs): Likewise.
(df_simulate_uses): Likewise.
(df_simulate_one_insn_backwards): Likewise for param 2.
(df_simulate_one_insn_forwards): Likewise.
(df_uses_create): Likewise for param 2.
(df_insn_create_insn_record): Likewise for param 1.
(df_insn_delete): Likewise.
(df_insn_rescan): Likewise.
(df_insn_rescan_debug_internal): Likewise.
(df_insn_change_bb): Likewise.
(df_notes_rescan): Likewise.
* rtl.h (remove_death): Likewise for param 2.
(print_rtl_with_bb): Strengthen param 2 from const_rtx to
const rtx_insn *.
* sched-int.h (reemit_notes): Strengthen param from rtx to
rtx_insn *.
* valtrack.h (propagate_for_debug): Likewise for param 1.

* cfgrtl.c (print_rtl_with_bb): Strengthen param "rtx_first" and
local "tmp_rtx" from const_rtx to const rtx_insn *.
* combine.c (remove_death): Strengthen param "insn" from rtx to
rtx_insn *.
(move_deaths): Likewise for local "where_dead".
* cse.c (delete_trivially_dead_insns): Introduce local
"bind_var_loc" so that "bind" can be strengthened to an rtx_insn *.
* df-core.c (df_find_def): Strengthen param "insn" from rtx to
rtx_insn *.
(df_reg_defined): Likewise.
(df_find_use): Likewise.
(df_reg_used): Likewise.
(df_dump_insn_problem_data): Strengthen param "insn" from
const_rtx to const rtx_insn *.
(df_dump_insn_top): Likewise.
(df_dump_insn_bottom): Likewise.
(df_insn_debug): Strengthen param "insn" from rtx to rtx_insn *.
(df_insn_debug_regno): Likewise.
(debug_df_insn): Likewise.
(DF_REF_INSN): Delete.
* df-problems.c (df_rd_simulate_one_insn): Strengthen param "insn"
from rtx to rtx_insn *.
(df_chain_insn_top_dump): Strengthen param "insn" from
const_rtx to const rtx_insn *.
(df_chain_insn_bottom_dump): Likewise.
(df_word_lr_simulate_defs): Strengthen param "insn" from rtx to
rtx_insn *.
(df_word_lr_simulate_uses): Likewise.
(df_print_note): Likewise.
(df_remove_dead_and_unused_notes): Likewise.
(df_set_unused_notes_for_mw): Likewise.
(df_set_dead_notes_for_mw): Likewise.
(df_create_unused_note): Likewise.
(df_simulate_find_defs): Likewise.
(df_simulate_find_uses): Likewise.
(df_simulate_find_noclobber_defs): Likewise.
(df_simulate_defs): Likewise.
(df_simulate_uses): Likewise.
(df_simulate_one_insn_backwards): Likewise.
(df_simulate_one_insn_forwards): Likewise.
(df_md_simulate_one_insn): Likewise.
* df-scan.c (df_uses_create): Likewise.
(df_insn_create_insn_record): Likewise.
(df_insn_delete): Likewise.
(df_insn_rescan): Likewise.
(df_insn_rescan_debug_internal): Likewise.
(df_insn_change_bb): Likewise.
(df_notes_rescan): Likewise.
(df_refs_add_to_chains): Likewise.
(df_insn_refs_verify): Likewise.
* emit-rtl.c (set_insn_deleted): Add checked cast to rtx_insn *
when invoking df_insn_delete.
(reorder_insns): Strengthen local "x" from rtx to rtx_insn *.
(set_unique_reg_note): Add checked cast.
* final.c (cleanup_subreg_operands): Likewise.
* gcse.c (update_ld_motion_stores): Likewise, strengthening local
"insn" from rtx to rtx_insn *.
* haifa-sched.c (reemit_notes): Strengthen param "insn" and local
"last" from rtx to rtx_insn *.
* ira-emit.c (change_regs_in_insn): New function.
(change_loop): Strengthen local "insn" from rtx to rtx_insn *.
Invoke change_regs_in_insn rather than change_regs.
* ira.c (update_equiv_regs): Strengthen locals "insn",
"init_insn", "new_insn" from rtx to rtx_insn *.  Invoke
for_each_rtx_in_insn rather than for_each_rtx.
* recog.c (confirm_change_group): Add checked casts.
(peep2_update_life): Strengthen local "x" from rtx to rtx_insn *.
Add checked cast.
(peep2_fill_buffer): Add checked cast.
* rtlanal.c (remove_note): Likewise.
* valtrack.c (propagate_for_debug): Strengthen param "insn" and
locals "next" "end" from rtx to rtx_insn *.

/
2014-08-26  David Malcolm  <dmalcolm@redhat.com>

* rtx-classes-status.txt (TODO): DF_REF_INSN is done.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214548 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoVarious scheduling strengthenings
dmalcolm [Tue, 26 Aug 2014 20:32:42 +0000 (20:32 +0000)]
Various scheduling strengthenings

gcc/
2014-08-26  David Malcolm  <dmalcolm@redhat.com>

* sched-int.h (sched_init_insn_luid): Strengthen param 1 from rtx
to rtx_insn *.
(struct reg_use_data): Likewise for field "insn".
(insn_cost): Likewise for param.
(real_insn_for_shadow): Likewise for return type and param.
(increase_insn_priority): Likewise for param 1.
(debug_dependencies): Likewise for both params.

* haifa-sched.c (insn_delay): Likewise for param "insn".
(real_insn_for_shadow): Likewise for return type and param "insn".
(update_insn_after_change): Likewise for param "insn".
(recompute_todo_spec): Likewise for param "next" and locals "pro",
"other".
(insn_cost): Likewise for param "insn".
(increase_insn_priority): Likewise.
(calculate_reg_deaths): Likewise.
(setup_insn_reg_pressure_info): Likewise.
(model_schedule): Strengthen from vec<rtx> to vec<rtx_insn *>.
(model_index): Strengthen param "insn" from rtx to rtx_insn *.
(model_recompute): Likewise.
(must_restore_pattern_p): Likewise for param "next".
(model_excess_cost): Likewise for param "insn".
(queue_remove): Likewise.
(adjust_priority): Likewise for param "prev".
(update_register_pressure): Likewise for param "insn".
(setup_insn_max_reg_pressure): Likewise for local "insn".
(update_reg_and_insn_max_reg_pressure): Likewise for param "insn".
(model_add_to_schedule): Likewise.
(model_reset_queue_indices): Likewise for local "insn".
(unschedule_insns_until): Strengthen local "recompute_vec" from
auto_vec<rtx> to auto_vec<rtx_insn *>.  Strengthen locals "last",
"con" from rtx to rtx_insn *.
(restore_last_backtrack_point): Likewise for both locals "x". Add
checked casts.
(estimate_insn_tick): Likewise for param "insn".
(commit_schedule): Likewise for params "prev_head", "tail" and
local "x".
(verify_shadows): Likewise for locals "i1", "i2".
(dump_insn_stream): Likewise for params "head", "tail" and locals
"next_tail", "insn".
(schedule_block): Likewise for locals "insn", "x".  Add a checked
cast.
(fix_inter_tick): Likewise for params "head", "tail".
(create_check_block_twin): Likewise for local "jump".
(haifa_change_pattern): Likewise for param "insn".
(haifa_speculate_insn): Likewise.
(dump_new_block_header): Likewise for params "head", "tail".
(fix_jump_move): Likewise for param "jump".
(move_block_after_check): Likewise.
(sched_init_insn_luid): Likewise for param "insn".
(sched_init_luids): Likewise for local "insn".
(insn_luid): Likewise for param "insn".
(init_h_i_d): Likewise.
(haifa_init_h_i_d): Likewise for local "insn".
(haifa_init_insn): Likewise for param "insn".
* sched-deps.c (add_dependence): Likewise for local "real_pro",
"other".
(create_insn_reg_use): Likewise for param "insn".
(setup_insn_reg_uses): Likewise.  Add a checked cast.
* sched-ebb.c (debug_ebb_dependencies): Strengthen params "head",
"tail" from rtx to rtx_insn *.
* sched-rgn.c (void debug_dependencies): Likewise, also for locals
"insn", "next_tail".

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214547 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoUse rtx_insn in more places in haifa-sched.c
dmalcolm [Tue, 26 Aug 2014 19:52:49 +0000 (19:52 +0000)]
Use rtx_insn in more places in haifa-sched.c

gcc/
2014-08-26  David Malcolm  <dmalcolm@redhat.com>

* 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".

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214545 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoduplicate_insn_chain accepts rtx_insn
dmalcolm [Tue, 26 Aug 2014 19:51:02 +0000 (19:51 +0000)]
duplicate_insn_chain accepts rtx_insn

gcc/
2014-08-26  David Malcolm  <dmalcolm@redhat.com>

* rtl.h (duplicate_insn_chain): Strengthen both params from rtx to
rtx_insn *.
* cfgrtl.c (duplicate_insn_chain): Likewise for  params "from",
"to" and locals "insn", "next", "copy".  Remove now-redundant
checked cast.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214544 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/58624
jason [Tue, 26 Aug 2014 19:39:36 +0000 (19:39 +0000)]
PR c++/58624
* pt.c (tsubst_decl) [VAR_DECL]: Copy TLS model.
(tsubst_copy_and_build) [VAR_DECL]: Use TLS wrapper.
* semantics.c (finish_id_expression): Don't call TLS wrapper in a
template.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214543 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoVarious condition-handling calls
dmalcolm [Tue, 26 Aug 2014 19:38:42 +0000 (19:38 +0000)]
Various condition-handling calls

gcc/
2014-08-26  David Malcolm  <dmalcolm@redhat.com>

* rtl.h (canonicalize_condition): Strengthen param 1 from rtx to
rtx_insn * and param 4 from rtx * to rtx_insn **.
(get_condition): Strengthen param 1 from rtx to rtx_insn * and
param 2 from rtx * to rtx_insn **.

* df.h (can_move_insns_across): Strengthen params 1-4 from rtx to
rtx_insn * and final param from rtx * to rtx_insn **.

* cfgcleanup.c (try_head_merge_bb): Strengthen local "move_before"
from rtx to rtx_insn *.
(try_head_merge_bb): Likewise for both locals named "move_upto".
* df-problems.c (can_move_insns_across): Likewise for params
"from", "to", "across_from", "across_to" and locals "insn",
"next", "max_to".  Strengthen param "pmove_upto" from rtx * to
rtx_insn **.
* ifcvt.c (struct noce_if_info): Strengthen field "cond_earliest"
from rtx to rtx_insn *.
(noce_get_alt_condition): Strengthen param "earliest" from rtx *
to rtx_insn **.  Strengthen local "insn" from rtx to rtx_insn *.
(noce_try_minmax): Strengthen locals "earliest", "seq" from rtx to
rtx_insn *.
(noce_try_abs): Likewise.
(noce_get_condition): Likewise for param "jump".  Strengthen param
"earliest" from rtx * to rtx_insn **.
(noce_find_if_block): Strengthen local "cond_earliest" from rtx to
rtx_insn *.
(find_cond_trap): Likewise.
(dead_or_predicable): Likewise for local "earliest".
* loop-iv.c (check_simple_exit): Likewise for local "at".  Add
checked cast.
* rtlanal.c (canonicalize_condition): Likewise for param "insn"
and local "prev".  Strengthen param "earliest" from rtx * to
rtx_insn **.
(get_condition): Strengthen param "jump" from rtx to rtx_insn *
Strengthen param "earliest" from rtx * to rtx_insn **.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214542 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoUse rtx_insn in more places in fwprop.c
dmalcolm [Tue, 26 Aug 2014 19:35:51 +0000 (19:35 +0000)]
Use rtx_insn in more places in fwprop.c

gcc/
2014-08-26  David Malcolm  <dmalcolm@redhat.com>

* fwprop.c (local_ref_killed_between_p): Strengthen params "from",
"to" and local "insn" from rtx to rtx_insn *.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214541 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoUse rtx_insn in more places in sel-sched.c
dmalcolm [Tue, 26 Aug 2014 19:33:56 +0000 (19:33 +0000)]
Use rtx_insn in more places in sel-sched.c

gcc/
2014-08-26  David Malcolm  <dmalcolm@redhat.com>

* sel-sched.c (find_place_for_bookkeeping): Strengthen local "insn"
from rtx to rtx_insn *.
(need_nop_to_preserve_insn_bb): Likewise for param "insn".
(code_motion_path_driver): Likewise for local "last_insn".
(simplify_changed_insns): Likewise for local "insn".

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214540 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoStrengthen various insn emission functions
dmalcolm [Tue, 26 Aug 2014 19:31:29 +0000 (19:31 +0000)]
Strengthen various insn emission functions

gcc/
2014-08-26  David Malcolm  <dmalcolm@redhat.com>

* 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): Likewise for both params.

* emit-rtl.h (set_first_insn): Strengthen param "insn" from rtx to
rtx_insn *.  Remove now-redundant cast.
(set_last_insn): Likewise.

* builtins.c (expand_builtin_return): Strengthen local
"call_fusage" from rtx to rtx_insn *.
* cfgrtl.c (create_basic_block_structure): Likewise for local
"after".
* emit-rtl.c (set_new_first_and_last_insn): Likewise for params
"first", "last" and local "insn".
(delete_insns_since): Likewise for param "from".
(reorder_insns_nobb): Likewise for params "from", "to", "after"
and local "x".
(push_to_sequence): Likewise for param "first" and local "last".
(push_to_sequence2): Likewise for params "first" and "last".
* lra.c (emit_add3_insn): Likewise for local "last".
(lra_emit_add): Likewise.
* lra-constraints.c (base_to_reg): Likewise for locals "insn",
"last_insn".
(process_address_1): Likewise for locals "insn", last".
* modulo-sched.c (ps_first_note): Likewise for return type.
* optabs.c (expand_binop_directly): Likewise for param "last".

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214539 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoget_last_insn_anywhere returns an rtx_insn
dmalcolm [Tue, 26 Aug 2014 19:25:31 +0000 (19:25 +0000)]
get_last_insn_anywhere returns an rtx_insn

gcc/
2014-08-26  David Malcolm  <dmalcolm@redhat.com>

* rtl.h (get_last_insn_anywhere): Strengthen return type from rtx
to rtx_insn*.
* emit-rtl.c (get_last_insn_anywhere): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214538 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoStrengthen fields in struct sequence_stack and struct emit_status
dmalcolm [Tue, 26 Aug 2014 19:20:16 +0000 (19:20 +0000)]
Strengthen fields in struct sequence_stack and struct emit_status

gcc/
2014-08-26  David Malcolm  <dmalcolm@redhat.com>

* function.h (struct sequence_stack): Strengthen fields "first"
and "last" from rtx to rtx_insn *.
(struct emit_status): Likewise for fields "x_first_insn" and
"x_last_insn".

* emit-rtl.h (get_insns): Remove now-redundant checked cast.
(set_first_insn): Add checked cast.
(get_last_insn): Remove now-redundant checked cast.
(set_last_insn): Add checked cast.

* config/m32c/m32c.c (m32c_leaf_function_p): Strengthen locals
"saved_first" and "saved_last" from rtx to rtx_insn *.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214537 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoParams of add_insn and unlink_insn_chain
dmalcolm [Tue, 26 Aug 2014 19:12:49 +0000 (19:12 +0000)]
Params of add_insn and unlink_insn_chain

gcc/
2014-08-26  David Malcolm  <dmalcolm@redhat.com>

* 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" and "last".
Remove now-redundant checked cast.
(record_effective_endpoints): Replace use of NULL_RTX with NULL.
(fixup_reorder_chain): Strengthen local "insn" from rtx to
rtx_insn *.
* emit-rtl.c (link_insn_into_chain): Likewise for all three
params.
(add_insn): Likewise for param "insn" and local "prev".
(add_insn_after_nobb): Likewise for both params and local "next".
(add_insn_before_nobb): Likewise for both params and local "prev".
(add_insn_after): Rename param "after" to "uncast_after",
introducing local "after" with another checked cast.
(add_insn_before): Rename params "insn" and "before", giving them
"uncast_" prefixes, adding the old names back using checked casts.
(emit_note_after): Likewise for param "after".
(emit_note_before): Likewise for param "before".
(emit_label): Add a checked cast.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214536 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agocselib_record_sets_hook takes an rtx_insn
dmalcolm [Tue, 26 Aug 2014 19:03:10 +0000 (19:03 +0000)]
cselib_record_sets_hook takes an rtx_insn

gcc/
* cselib.h (cselib_record_sets_hook):  Strengthen initial param
"insn" from rtx to rtx_insn *.

* cselib.c (cselib_record_sets_hook): Likewise.

* var-tracking.c (add_with_sets): Likewise, renaming back from
"uncast_insn" to "insn" and eliminating the checked cast from rtx
to rtx_insn *.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214535 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoRemove BB_HEAD, BB_END, BB_HEADER scaffolding
dmalcolm [Tue, 26 Aug 2014 18:56:58 +0000 (18:56 +0000)]
Remove BB_HEAD, BB_END, BB_HEADER scaffolding

gcc/
* basic-block.h (struct rtl_bb_info): Strengthen fields "end_"
and "header_" from rtx to rtx_insn *.
(struct basic_block_d): Likewise for field "head_" within "x"
field of union basic_block_il_dependent.
(BB_HEAD): Drop function...
(SET_BB_HEAD): ...and this function in favor of...
(BB_HEAD): ...reinstate macro.
(BB_END): Drop function...
(SET_BB_END): ...and this function in favor of...
(BB_END): ...reinstate macro.
(BB_HEADER): Drop function...
(SET_BB_HEADER): ...and this function in favor of...
(BB_HEADER): ...reinstate macro.

* bb-reorder.c (add_labels_and_missing_jumps): Drop use of BB_END.
(fix_crossing_unconditional_branches): Likewise.
* caller-save.c (save_call_clobbered_regs): Likewise.
(insert_one_insn): Drop use of SET_BB_HEAD and SET_BB_END.
* cfgbuild.c (find_bb_boundaries): Drop use of SET_BB_END.
* cfgcleanup.c (merge_blocks_move_successor_nojumps): Likewise.
(merge_blocks_move_successor_nojumps): Likewise.
(outgoing_edges_match): Update use of for_each_rtx to
for_each_rtx_in_insn.
* cfgexpand.c (expand_gimple_cond): Drop use of SET_BB_END.
(expand_gimple_cond): Likewise.
(expand_gimple_tailcall): Likewise.
(expand_gimple_basic_block): Drop use of SET_BB_HEAD and
SET_BB_END.
(construct_exit_block): Drop use of SET_BB_END.
* cfgrtl.c (cfg_layout_function_footer): Strengthen from rtx to
rtx_insn *.
(delete_insn): Rename param "insn" to "uncast_insn", introducing
a new local "insn" with a checked cast to rtx_insn *.  Drop use of
SET_BB_HEAD and SET_BB_END.
(create_basic_block_structure): Drop use of SET_BB_HEAD and
SET_BB_END.
(rtl_delete_block): Drop use of SET_BB_HEAD.
(rtl_split_block): Drop use of SET_BB_END.
(emit_nop_for_unique_locus_between): Likewise.
(rtl_merge_blocks): Drop use of SET_BB_END and SET_BB_HEAD.
(block_label): Drop use of SET_BB_HEAD.
(fixup_abnormal_edges): Drop use of SET_BB_END.
(record_effective_endpoints): Drop use of SET_BB_HEADER.
(relink_block_chain): Likewise.
(fixup_reorder_chain): Drop use of SET_BB_END.
(cfg_layout_duplicate_bb): Drop use of SET_BB_HEADER.
(cfg_layout_delete_block): Strengthen local "to" from rtx * to
rtx_insn **.  Drop use of SET_BB_HEADER.
(cfg_layout_merge_blocks): Drop use of SET_BB_HEADER, SET_BB_END,
SET_BB_HEAD.
(BB_HEAD): Delete this function.
(SET_BB_HEAD): Likewise.
(BB_END): Likewise.
(SET_BB_END): Likewise.
(BB_HEADER): Likewise.
(SET_BB_HEADER): Likewise.
* emit-rtl.c (add_insn_after):  Rename param "insn" to
"uncast_insn", adding a new local "insn" and a checked cast to
rtx_insn *.  Drop use of SET_BB_END.
(remove_insn): Strengthen locals "next" and "prev" from rtx to
rtx_insn *.  Drop use of SET_BB_HEAD and SET_BB_END.
(reorder_insns): Drop use of SET_BB_END.
(emit_insn_after_1): Strengthen param "first" and locals "last",
"after_after" from rtx to rtx_insn *.  Drop use of SET_BB_END.
(emit_pattern_after_noloc): Add checked cast.
* haifa-sched.c (get_ebb_head_tail): Drop use of SET_BB_END.
(restore_other_notes): Likewise.
(move_insn): Likewise.
(sched_extend_bb): Likewise.
(fix_jump_move): Likewise.
* ifcvt.c (noce_process_if_block): Likewise.
(dead_or_predicable): Likewise.
* ira.c (update_equiv_regs): Drop use of SET_BB_HEAD.
* reg-stack.c (change_stack): Drop use of SET_BB_END.
* sel-sched-ir.c (sel_move_insn): Likewise.
* sel-sched.c (move_nop_to_previous_block): Likewise.

* config/c6x/c6x.c (hwloop_optimize): Drop use of SET_BB_HEAD and
SET_BB_END.
* config/ia64/ia64.c (emit_predicate_relation_info): Likewise.

/
* rtx-classes-status.txt (TODO): SET_BB_HEAD, SET_BB_END,
SET_BB_HEADER are done.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214534 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoTighten up params of create_basic_block_structure
dmalcolm [Tue, 26 Aug 2014 18:34:34 +0000 (18:34 +0000)]
Tighten up params of create_basic_block_structure

gcc/
* basic-block.h (create_basic_block_structure): Strengthen params
1 "head" and 2 "end" from rtx to rtx_insn *.
* cfgrtl.c (create_basic_block_structure): Likewise.
(rtl_create_basic_block): Update casts from void * to rtx to
rtx_insn *, so that we can pass them as rtx_insn * to
create_basic_block_structure.
* sel-sched-ir.c (sel_create_basic_block): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214533 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-08-26 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Tue, 26 Aug 2014 18:25:49 +0000 (18:25 +0000)]
2014-08-26  Thomas Koenig  <tkoenig@gcc.gnu.org>

* frontend_passes (expr_array):  Replace by vec template.
(expr_size):  Remove.
(expr_count):  Remove.
(doloop_list):  Replace by vec template.
(doloop_size):  Remove.
(gfc_run_passes):  Adjust to use of vec template.
(cfe_register_funcs):  Likewise.
(cfe_expr_0):  Likewise.
(doloop_code):  Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214532 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agocselib and incdec
dmalcolm [Tue, 26 Aug 2014 18:03:09 +0000 (18:03 +0000)]
cselib and incdec

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.
(cselib_process_insn): Likewise.

* dse.c (struct insn_info): Likewise for field "insn".
(check_for_inc_dec_1): Likewise for local "insn".
(check_for_inc_dec): Likewise for param "insn".
(scan_insn): Likewise.
(dse_step1): Likewise for local "insn".

* rtlanal.c (for_each_inc_dec): Strengthen param 1 from rtx * to
rtx_insn **.  Use for_each_rtx_in_insn rather than for_each_rtx.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214531 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoRemove DEP_PRO/CON scaffolding
dmalcolm [Tue, 26 Aug 2014 17:55:26 +0000 (17:55 +0000)]
Remove DEP_PRO/CON scaffolding

gcc/
* sched-int.h (struct _dep): Strengthen fields "pro" and "con"
from rtx to rtx_insn *.
(DEP_PRO): Delete this function and...
(SET_DEP_PRO): ...this function in favor of...
(DEP_PRO): ...reinstate this macro.
(DEP_CON): Delete this function and...
(SET_DEP_CON): ...this function in favor of...
(DEP_CON): ...reinstate this old macro.
(init_dep_1): Strengthen params 2 and 3 from rtx to rtx_insn *.
(init_dep): Likewise.
(set_priorities): Likewise for both params.
(sd_copy_back_deps): Likewise for params 1 and 2.

* haifa-sched.c (priority): Likewise for param "insn" and local
"next".
(set_priorities): Likewise for params "head" and "tail" and local
"insn".
(process_insn_forw_deps_be_in_spec): Likewise for param "twin" and
local "consumer".
(add_to_speculative_block): Add a checked cast.
(create_check_block_twin): Drop use of SET_DEP_CON.
(add_jump_dependencies): Strengthen params "insn" and "jump" from
rtx to rtx_insn *.

* sched-deps.c (init_dep_1): Likewise for params "pro" and "con".
Drop use of SET_DEP_PRO
(init_dep): Strengthen params "pro" and "con" from rtx to
rtx_insn *.
(sd_copy_back_deps): Likewise for params "to" and "from".  Drop
use of SET_DEP_CON.
(DEP_PRO): Delete.
(DEP_CON): Delete.
(SET_DEP_PRO): Delete.
(SET_DEP_CON): Delete.

/
* rtx-classes-status.txt (TODO): SET_DEP_PRO and SET_DEP_CON are
done.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214530 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoRemove VINSN_INSN_RTX scaffolding
dmalcolm [Tue, 26 Aug 2014 17:45:50 +0000 (17:45 +0000)]
Remove VINSN_INSN_RTX scaffolding

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-sched-ir.c (vinsn_init): Eliminate use of SET_VINSN_INSN_RTX
in favor of VINSN_INSN_RTX.
(VINSN_INSN_RTX): Delete this function.
(SET_VINSN_INSN_RTX): Likewise.

/
* rtx-classes-status.txt (TODO): Remove SET_VINSN_INSN_RTX.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214529 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoinsn_t becomes an rtx_insn *
dmalcolm [Tue, 26 Aug 2014 17:42:13 +0000 (17:42 +0000)]
insn_t becomes an rtx_insn *

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<rtx, va_gc> * to vec<rtx_insn *, va_gc> *.  Strengthen fields
"last_scheduled_insn" and "sched_next" from rtx to rtx_insn *.
(_succ_iter_cond): Update param "succp" from rtx * to insn_t *
and param "insn" from rtx to insn_t.
(create_vinsn_from_insn_rtx): Strengthen first param from rtx to
rtx_insn *.

* sched-int.h (insn_vec_t): Strengthen from vec<rtx> to
vec<rtx_insn *> .
(rtx_vec_t): Likewise.
(struct sched_deps_info_def): Strengthen param of "start_insn"
callback from rtx to rtx_insn *.  Likewise for param "insn2" of
"note_mem_dep" callback and first param of "note_dep" callback.

* haifa-sched.c (add_to_speculative_block): Strengthen param
"insn" from rtx to rtx_insn *.
(clear_priorities): Likewise.
(calc_priorities): Likewise for local "insn".

* sched-deps.c (haifa_start_insn): Likewise for param "insn".
Remove redundant checked cast.
(haifa_note_mem_dep): Likewise for param "pending_insn".
(haifa_note_dep): Likewise for param "elem".
(note_mem_dep): Likewise for param "e".
(sched_analyze_1): Add checked casts.
(sched_analyze_2): Likewise.

* sel-sched-dump.c (dump_insn_vector): Strengthen local "succ"
from rtx to rtx_insn *.
(debug): Update param from vec<rtx> & to vec<rtx_insn *>, and
from vec<rtx> * to vec<rtx_insn *> *.

* sel-sched-ir.c (blist_add): Remove use of SET_BND_TO
scaffolding.
(flist_add): Strengthen param "executing_insns" from
vec<rtx, va_gc> * to vec<rtx_insn *, va_gc> *.
(advance_deps_context): Remove now-redundant checked cast.
(init_fences): Replace uses of NULL_RTX with NULL.
(merge_fences): Strengthen params "last_scheduled_insn" and
"sched_next" from rtx to rtx_insn * and "executing_insns" from
vec<rtx, va_gc> * to vec<rtx_insn *, va_gc> *.
(add_clean_fence_to_fences): Replace uses of NULL_RTX with NULL.
(get_nop_from_pool): Add local "nop_pat" so that "nop" can be
an instruction, rather than doing double-duty as a pattern.
(return_nop_to_pool): Update for change of insn_t.
(deps_init_id): Remove now-redundant checked cast.
(struct sched_scan_info_def): Strengthen param of "init_insn"
callback from rtx to insn_t.
(sched_scan): Strengthen local "insn" from rtx to rtx_insn *.
(init_global_and_expr_for_insn): Replace uses of NULL_RTX with
NULL.
(get_seqno_by_succs): Strengthen param "insn" and locals "tmp",
"end" from rtx to rtx_insn *.
(create_vinsn_from_insn_rtx): Likewise for param "insn_rtx".
(rtx insn_rtx, bool force_unique_p)
(BND_TO): Delete function.
(SET_BND_TO): Delete function.

* sel-sched.c (advance_one_cycle): Strengthen local "insn" from
rtx to rtx_insn *.
(extract_new_fences_from): Replace uses of NULL_RTX with NULL.
(replace_dest_with_reg_in_expr): Strengthen local "insn_rtx" from
rtx to rtx_insn *.
(undo_transformations): Likewise for param "insn".
(update_liveness_on_insn): Likewise.
(compute_live_below_insn): Likewise for param "insn" and local
"succ".
(update_data_sets): Likewise for param "insn".
(fill_vec_av_set): Replace uses of NULL_RTX with NULL.
(convert_vec_av_set_to_ready): Drop now-redundant checked cast.
(invoke_aftermath_hooks): Strengthen param "best_insn" from rtx to
rtx_insn *.
(move_cond_jump): Likewise for param "insn".
(move_cond_jump): Drop use of SET_BND_TO.
(compute_av_set_on_boundaries): Likewise.
(update_fence_and_insn): Replace uses of NULL_RTX with NULL.
(update_and_record_unavailable_insns): Strengthen local "bb_end"
from rtx to rtx_insn *.
(maybe_emit_renaming_copy): Likewise for param "insn".
(maybe_emit_speculative_check): Likewise.
(handle_emitting_transformations): Likewise.
(remove_insn_from_stream): Likewise.
(code_motion_process_successors): Strengthen local "succ" from rtx
to insn_t.

/
* rtx-classes-status.txt (TODO): Remove SET_BND_TO.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214528 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agosel-sched-ir.h: Make ilist_t work on insn_t rather than rtx
dmalcolm [Tue, 26 Aug 2014 17:38:23 +0000 (17:38 +0000)]
sel-sched-ir.h: Make ilist_t work on insn_t rather than rtx

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 "insn" to the union, of type
insn_t.
(ilist_add): Replace macro with an inline function, requiring an
insn_t.
(ilist_remove): Define this macro directly in terms of
_list_remove, rather than indirectly via _xlist_remove.
(ilist_clear): Likewise, in terms of _list_clear rather than
_xlist_clear.
(ilist_is_in_p): Replace macro with an inline function, requiring
an insn_t.
(_list_iter_cond_insn): New function.
(ilist_iter_remove): Define this macro directly in terms of
_list_iter_remove, rather than indirectly via _xlist_iter_remove.
(ilist_iterator): Define directly in terms of _list_iterator
rather than indirectly through _xlist_iterator.
(FOR_EACH_INSN): Define in terms of _list_iter_cond_insn rather
than in terms of _FOR_EACH_X.
(FOR_EACH_INSN_1): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214527 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoFix ARM ICE for register var asm ("pc") (PR target/60606).
jsm28 [Tue, 26 Aug 2014 17:06:31 +0000 (17:06 +0000)]
Fix ARM ICE for register var asm ("pc") (PR target/60606).

PR target/60606
PR target/61330
* varasm.c (make_decl_rtl): Clear DECL_ASSEMBLER_NAME and
DECL_HARD_REGISTER and return for invalid register specifications.
* cfgexpand.c (expand_one_var): If expand_one_hard_reg_var clears
DECL_HARD_REGISTER, call expand_one_error_var.
* config/arm/arm.c (arm_hard_regno_mode_ok): Do not allow
CC_REGNUM with non-MODE_CC modes.
(arm_regno_class): Return NO_REGS for PC_REGNUM.

testsuite:
* gcc.dg/torture/pr60606-1.c, gcc.target/arm/pr60606-2.c,
gcc.target/arm/pr60606-3.c, gcc.target/arm/pr60606-4.c: New tests.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214526 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoProperly set gcc_build_dir for in-tree build
hjl [Tue, 26 Aug 2014 14:47:15 +0000 (14:47 +0000)]
Properly set gcc_build_dir for in-tree build

PR bootstrap/62260
* Makefile.am (gcc_build_dir): Set to @gcc_build_dir@.
* configure.ac (gcc_build_dir): Set and AC_SUBST according to
$host_subdir.
* Makefile.in: Regenerated.
* configure: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214524 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c/61271
mpolacek [Tue, 26 Aug 2014 14:24:15 +0000 (14:24 +0000)]
PR c/61271
* sel-sched-ir.c (make_regions_from_the_rest): Fix condition.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214523 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-08-26 Dominik Vogt <vogt@linux.vnet.ibm.com>
uweigand [Tue, 26 Aug 2014 14:09:14 +0000 (14:09 +0000)]
2014-08-26  Dominik Vogt  <vogt@linux.vnet.ibm.com>

* gfortran.dg/bessel_7.f90: Bump allowed precision to avoid
failure on s390*-*-linux-gnu.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214520 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-08-26 Evandro Menezes <e.menezes@samsung.com>
rearnsha [Tue, 26 Aug 2014 12:10:09 +0000 (12:10 +0000)]
2014-08-26  Evandro Menezes <e.menezes@samsung.com>

* config/arm/aarch64/aarch64.c (generic_addrcost_table): Delete
qi cost; add di cost.
(cortexa57_addrcost_table): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214503 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoWhitespace fixes in libstdc++-v3/ChangeLog
redi [Tue, 26 Aug 2014 11:44:39 +0000 (11:44 +0000)]
Whitespace fixes in libstdc++-v3/ChangeLog

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214501 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c/61271
mpolacek [Tue, 26 Aug 2014 09:35:10 +0000 (09:35 +0000)]
PR c/61271
* expr.c (is_aligning_offset): Remove logical not.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214496 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c/61271
mpolacek [Tue, 26 Aug 2014 09:21:18 +0000 (09:21 +0000)]
PR c/61271
* tree-vectorizer.h (LOOP_REQUIRES_VERSIONING_FOR_ALIGNMENT,
LOOP_REQUIRES_VERSIONING_FOR_ALIAS): Wrap in parens.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214493 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-08-26 Richard Biener <rguenther@suse.de>
rguenth [Tue, 26 Aug 2014 08:03:32 +0000 (08:03 +0000)]
2014-08-26  Richard Biener  <rguenther@suse.de>

PR tree-optimization/62175
* tree-ssa-loop-niter.c (expand_simple_operations): Do not
expand possibly trapping operations.

* g++.dg/torture/pr62175.C: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214492 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoUpdate rs6000.c's pass_analyze_swaps to use rtx_insn
dmalcolm [Tue, 26 Aug 2014 06:47:53 +0000 (06:47 +0000)]
Update rs6000.c's pass_analyze_swaps to use rtx_insn

gcc/
* config/rs6000/rs6000.c (class swap_web_entry): Strengthen field
"insn" from rtx to rtx_insn *.
(permute_load): Likewise for param "insn".
(permute_store): Likewise.
(handle_special_swappables): Likewise for local "insn".
(replace_swap_with_copy): Likewise for locals "insn" and
"new_insn".
(rs6000_analyze_swaps): Likewise for local "insn".

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214489 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoAdd missing entry
ebotcazou [Tue, 26 Aug 2014 06:37:51 +0000 (06:37 +0000)]
Add missing entry

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214488 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * pt.c (check_explicit_specialization): Don't complain about
jason [Tue, 26 Aug 2014 02:47:42 +0000 (02:47 +0000)]
* pt.c (check_explicit_specialization): Don't complain about
non-template variable.
(template_for_substitution): Allow variable templates.
(check_template_variable): Fix logic for member var template.
* decl.c (start_decl): Don't complain about extra template header
here.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214487 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Tue, 26 Aug 2014 00:16:42 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214486 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agodu_chain.insn is an rtx_insn
dmalcolm [Mon, 25 Aug 2014 21:24:13 +0000 (21:24 +0000)]
du_chain.insn is an rtx_insn

gcc/
* regrename.h (struct du_chain): Strengthen field "insn" from rtx
to rtx_insn *.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214483 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoEliminate BB_NOTE_LIST scaffolding
dmalcolm [Mon, 25 Aug 2014 21:22:02 +0000 (21:22 +0000)]
Eliminate BB_NOTE_LIST scaffolding

gcc/
* sel-sched-ir.h (struct sel_region_bb_info_def): Strengthen field
"note_list" from rtx to rtx_insn *.
(BB_NOTE_LIST): Replace this function and...
(SET_BB_NOTE_LIST): ...this function with...
(BB_NOTE_LIST): ...the former macro implementation.

* sched-int.h (concat_note_lists): Strengthen param "from_end" and
local "from_start" from rtx to rtx_insn *.  Strengthen param
"to_endp" from rtx * to rtx_insn **.

* haifa-sched.c (concat_note_lists): Likewise.
* sel-sched-ir.c (init_bb): Eliminate SET_BB_NOTE_LIST in favor of
BB_NOTE_LIST.
(sel_restore_notes): Likewise.
(move_bb_info): Likewise.
(BB_NOTE_LIST): Delete this function.
(SET_BB_NOTE_LIST): Delete this function.
* sel-sched.c (create_block_for_bookkeeping): Eliminate
SET_BB_NOTE_LIST in favor of BB_NOTE_LIST.

/
* rtx-classes-status.txt (TODO): Remove SET_BB_NOTE_LIST.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214482 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoStrengthen haifa_sched_info callbacks and 3 scheduler hooks
dmalcolm [Mon, 25 Aug 2014 21:19:23 +0000 (21:19 +0000)]
Strengthen haifa_sched_info callbacks and 3 scheduler hooks

gcc/
* target.def (reorder): Strengthen param "ready" of this DEFHOOK
from rtx * to rtx_insn **.
(reorder2): Likewise.
(dependencies_evaluation_hook): Strengthen params "head", "tail"
from rtx to rtx_insn *.

* doc/tm.texi: Update mechanically for above change to target.def.

* sched-int.h (note_list): Strengthen this variable from rtx to
rtx_insn *.
(remove_notes): Likewise for both params.
(restore_other_notes): Likewise for return type and first param.
(struct ready_list): Strengthen field "vec" from rtx * to
rtx_insn **.
(struct dep_replacement): Strenghten field "insn" from rtx to
rtx_insn *.
(struct deps_desc): Likewise for fields "last_debug_insn",
"last_args_size".
(struct haifa_sched_info): Likewise for callback field
"can_schedule_ready_p"'s param, for first param of "new_ready"
callback field, for both params of "rank" callback field, for
first field of "print_insn" callback field (with a const), for
both params of "contributes_to_priority" callback, for param
of "insn_finishes_block_p" callback, for fields "prev_head",
"next_tail", "head", "tail", for first param of "add_remove_insn"
callback, for first param of "begin_schedule_ready" callback, for
both params of "begin_move_insn" callback, and for second param
of "advance_target_bb" callback.
(add_dependence): Likewise for params 1 and 2.
(sched_analyze): Likewise for params 2 and 3.
(deps_analyze_insn): Likewise for param 2.
(ready_element): Likewise for return type.
(ready_lastpos): Strengthen return type from rtx * to rtx_insn **.
(try_ready): Strenghten param from rtx to rtx_insn *.
(sched_emit_insn): Likewise for return type.
(record_delay_slot_pair): Likewise for params 1 and 2.
(add_delay_dependencies): Likewise for param.
(contributes_to_priority): Likewise for both params.
(find_modifiable_mems): Likewise.

* config/arm/arm.c (cortexa7_sched_reorder):  Strengthen param
"ready" from rtx * to rtx_insn **.  Strengthen locals "insn",
"first_older_only_insn" from rtx to rtx_insn *.
(arm_sched_reorder):  Strengthen param "ready"  from rtx * to
rtx_insn **.

* config/c6x/c6x.c (struct c6x_sched_context): Strengthen field
"last_scheduled_iter0" from rtx to rtx_insn *.
(init_sched_state): Replace use of NULL_RTX with NULL for insn.
(c6x_sched_reorder_1): Strengthen param "ready" and locals
"e_ready", "insnp" from rtx * to rtx_insn **.  Strengthen local
"insn" from rtx to rtx_insn *.
(c6x_sched_reorder): Strengthen param "ready" from rtx * to
rtx_insn **.
(c6x_sched_reorder2): Strengthen param "ready" and locals
"e_ready", "insnp" from rtx * to rtx_insn **. Strengthen local
"insn" from rtx to rtx_insn *.
(c6x_variable_issue):  Add a checked cast when assigning from insn
to ss.last_scheduled_iter0.
(split_delayed_branch): Strengthen param "insn" and local "i1"
from rtx to rtx_insn *.
(split_delayed_nonbranch): Likewise.
(undo_split_delayed_nonbranch): Likewise for local "insn".
(hwloop_optimize): Likewise for locals "seq", "insn", "prev",
"entry_after", "end_packet", "head_insn", "tail_insn",
"new_insns", "last_insn", "this_iter", "prev_stage_insn".
Strengthen locals "orig_vec", "copies", "insn_copies" from rtx *
to rtx_insn **.  Remove now-redundant checked cast on last_insn,
but add a checked cast on loop->start_label.  Consolidate calls to
avoid assigning result of gen_spkernel to "insn", now an
rtx_insn *.

* config/i386/i386.c (do_reorder_for_imul): Strengthen param
"ready" from rtx * to rtx_insn **.  Strengthen local "insn" from
rtx to rtx_insn *.
(swap_top_of_ready_list): Strengthen param "ready" from rtx * to
rtx_insn **.  Strengthen locals "top", "next" from rtx to
rtx_insn *.
(ix86_sched_reorder): Strengthen param "ready" from rtx * to
rtx_insn **.  Strengthen local "insn" from rtx to rtx_insn *.
(add_parameter_dependencies): Strengthen params "call", "head" and
locals "insn", "last", "first_arg" from rtx to rtx_insn *.
(avoid_func_arg_motion): Likewise for params "first_arg", "insn".
(add_dependee_for_func_arg): Likewise for param "arg" and local
"insn".
(ix86_dependencies_evaluation_hook): Likewise for params "head",
"tail" and locals "insn", "first_arg".

* config/ia64/ia64.c (ia64_dependencies_evaluation_hook): Likewise
for params "head", "tail" and locals "insn", "next", "next_tail".
(ia64_dfa_sched_reorder): Strengthen param "ready" and locals
"e_ready", "insnp" from rtx * to rtx_insn **. Strengthen locals
"insn", "lowest", "highest" from rtx to rtx_insn *.
(ia64_sched_reorder): Strengthen param "ready" from rtx * to
rtx_insn **.
(ia64_sched_reorder2): Likewise.

* config/mep/mep.c (mep_find_ready_insn): Strengthen return type
and local "insn" from rtx to rtx_insn *.  Strengthen param "ready"
from rtx * to rtx_insn **.
(mep_move_ready_insn): Strengthen param "ready" from rtx * to
rtx_insn **.
(mep_print_sched_insn): Strengthen param "insn" from rtx to
rtx_insn *.
(mep_sched_reorder): Strengthen param "ready" from rtx * to
rtx_insn **.  Strengthen locals "core_insn", "cop_insn" from rtx
to rtx_insn *.

* config/mips/mips.c (mips_promote_ready): Strengthen param "ready"
from rtx * to rtx_insn **.  Strengthen local "new_head" from rtx
to rtx_insn *.
(mips_maybe_swap_ready): Strengthen param "ready" from rtx * to
rtx_insn **.  Strengthen local "temp" from rtx to rtx_insn *.
(mips_macc_chains_reorder): Strengthen param "ready" from rtx * to
rtx_insn **.
(vr4130_reorder): Likewise.
(mips_74k_agen_reorder): Likewise.  Strengthen local "insn" from
rtx to rtx_insn *.
(mips_sched_reorder_1): Strengthen param "ready" from rtx * to
rtx_insn **.
(mips_sched_reorder): Likewise.
(mips_sched_reorder2): Likewise.

* config/picochip/picochip.c (picochip_sched_reorder): Likewise.

* config/rs6000/rs6000.c (rs6000_sched_reorder): Likewise.
Strengthen local "tmp" from rtx to rtx_insn *.
(rs6000_sched_reorder2): Likewise.

* config/s390/s390.c (s390_z10_prevent_earlyload_conflicts):
Likewise.  Update sizeof(rtx) to sizeof(rtx_insn *) in memmove.
(s390_sched_reorder): Strengthen param "ready" from rtx * to
rtx_insn **.  Strengthen local "tmp" from rtx to rtx_insn *.

* config/sh/sh.c (rank_for_reorder): Strengthen locals "tmp",
"tmp2" from rtx to rtx_insn *.
(swap_reorder): Strengthen param "a" from rtx * to rtx_insn **.
Strengthen local "insn" from rtx to rtx_insn *.
(ready_reorder): Strengthen param "ready" from rtx * to
rtx_insn **.  Update sizeof(rtx) to sizeof(rtx_insn *) in qsort.
(sh_reorder):  Strengthen param "ready" from rtx * to rtx_insn **.
(sh_reorder2): Likewise.

* config/spu/spu.c (spu_sched_reorder): Likewise.  Strengthen
local "insn" from rtx to rtx_insn *.

* haifa-sched.c (note_list): Strengthen this variable from rtx to
rtx_insn *.
(scheduled_insns): Strengthen this variable from vec<rtx> to
vec<rtx_insn *>.
(set_modulo_params): Likewise for locals "i1", "i2".
(record_delay_slot_pair): Likewise for params "i1", "i2".
(add_delay_dependencies): Likewise for param "insn".
(cond_clobbered_p): Likewise.
(recompute_todo_spec): Likewise for local "prev".
(last_scheduled_insn): Likewise for this variable.
(nonscheduled_insns_begin): Likewise.
(model_set_excess_costs): Strengthen param "insns" from rtx * to
rtx_insn **.
(rank_for_schedule): Strengthen locals "tmp", "tmp2" from rtx to
rtx_insn *.
(swap_sort): Strengthen param "a" from rtx * to rtx_insn **.
Strengthen local "insn" from rtx to rtx_insn *.
(queue_insn): Strengthen param "insn" from rtx to rtx_insn *.
(ready_lastpos): Strengthen return type from rtx * to rtx_insn **.
(ready_add): Strengthen param "insn" from rtx to rtx_insn *.
(ready_remove_first): Likewise for return type and local "t".
(ready_element): Likewise for return type.
(ready_remove): Likewise for return type and local "t".
(ready_sort): Strengthen local "first" from rtx * to rtx_insn **.
(check_clobbered_conditions): Strengthen local "x" from rtx to
rtx_insn *, adding a checked cast.
(schedule_insn): Likewise for param "insn".
(remove_notes): Likewise for params "head", "tail" and locals
"next_tail", "insn", "next".
(struct haifa_saved_data): Likewise for fields
"last_scheduled_insn", "nonscheduled_insns_begin".
(save_backtrack_point): Update for change to field "vec" of
struct ready_list.
(toggle_cancelled_flags): Strengthen local "first" from rtx * to
rtx_insn **.
(restore_last_backtrack_point): Likewise.  Strengthen local "insn"
from rtx to rtx_insn *
(resolve_dependencies): Strengthen param "insn" from rtx to
rtx_insn *
(restore_other_notes): Likewise for return type, for param "head"
and local "note_head".
(undo_all_replacements): Likewise for local "insn".
(first_nonscheduled_insn): Likewise for return type and local "insn".
(queue_to_ready): Likewise for local "insn", adding checked casts.
(early_queue_to_ready): Likewise for local "insn".
(debug_ready_list_1): Strengthen local "p" from rtx * to
rtx_insn **.
(move_insn): Strengthen param "insn" and local "note" from rtx to
rtx_insn *
(insn_finishes_cycle_p): Likewise for param "insn".
(max_issue): Likewise for local "insn".
(choose_ready): Likewise.  Strengthen param "insn_ptr" from rtx *
to rtx_insn **.
(commit_schedule): Strengthen param "prev_head" and local "insn"
from rtx to rtx_insn *
(prune_ready_list): Likewise for local "insn".
(schedule_block): Likewise for locals "prev_head", "head", "tail",
"skip_insn", "insn", "failed_insn", "x", adding a checked cast.
(set_priorities): Likewise for local "prev_head".
(try_ready): Likewise for param "next".
(fix_tick_ready): Likewise.
(change_queue_index): Likewise.
(sched_extend_ready_list): Update for change to field "vec" of
struct ready_list.
(generate_recovery_code): Strengthen param "insn" from rtx to
rtx_insn *.
(begin_speculative_block): Likewise.
(create_check_block_twin): Likewise for param "insn" and locals
"label", "check", "twin".  Introduce local "check_pat" to avoid
"check" being used as a plain rtx before being used as an insn.
(fix_recovery_deps): Add a checked cast to rtx_insn * when
extracting elements from ready_list.
(sched_remove_insn): Strengthen param "insn" from rtx to
rtx_insn *.
(sched_emit_insn): Likewise for return type.
(ready_remove_first_dispatch): Likewise for return type and local
"insn".

* hw-doloop.c (discover_loop): Add a checked cast to rtx_insn *.

* modulo-sched.c (sms_print_insn): Strengthen from const_rtx to
const rtx_insn *.

* sched-deps.c (add_dependence): Strengthen params "con", "pro"
from rtx to rtx_insn *.
(add_dependence_list): Likewise for param "insn".  Add a checked
cast.
(add_dependence_list_and_free): Strengthen param "insn" from rtx
to rtx_insn *.  Strengthen param "list_p" from rtx * to
rtx_insn **.
(chain_to_prev_insn): Strengthen param "insn" and locals
"prec_nonnote", "i" from rtx to rtx_insn *.
(flush_pending_lists): Likewise for param "insn".
(cur_insn): Likewise for this variable.
(haifa_start_insn): Add a checked cast.
(note_dep): Strengthen param "e" from rtx to rtx_insn *.
(sched_analyze_reg): Likewise for param "insn".
(sched_analyze_1): Likewise.
(sched_analyze_2): Likewise.  Add checked casts.
(sched_analyze_insn): Likewise.  Also for local "prev".
(deps_analyze_insn): Likewise for param "insn".
(sched_analyze): Likewise for params "head", "tail" and local "insn".
(add_dependence_1): Likewise for params "insn", "elem".
(struct mem_inc_info): Likewise for fields "inc_insn", "mem_insn".
(parse_add_or_inc): Likewise for param "insn".
(find_inc): Likewise for local "inc_cand".
(find_modifiable_mems): Likewise for params "head", "tail" and
locals "insn", "next_tail".

* sched-ebb.c (init_ready_list): Likewise for local "insn".
(begin_schedule_ready): Likewise for param "insn".
(begin_move_insn): Likewise for params "insn" and "last".
(ebb_print_insn): Strengthen param "insn" from const_rtx to
const rtx_insn *.
(rank): Strengthen params "insn1", "insn2" from rtx to rtx_insn *.
(ebb_contributes_to_priority): Likewise for params "next", "insn".
(ebb_add_remove_insn): Likewise for param "insn".
(advance_target_bb): Likewise.

* sched-rgn.c (rgn_estimate_number_of_insns): Likewise for local
"insn".
(check_live): Likewise for param "insn".
(init_ready_list): Likewise for local "insn".
(can_schedule_ready_p): Likewise for param "insn".
(begin_schedule_ready): Likewise.
(new_ready): Likewise for param "next".
(rgn_print_insn): Likewise for param "insn".
(rgn_rank): Likewise for params "insn1", "insn2".
(contributes_to_priority): Likewise for params "next", "insn".
(rgn_insn_finishes_block_p): Likewise for param "insn".
(add_branch_dependences): Likewise for params "head", "tail" and
locals "insn", "last".
(rgn_add_remove_insn): Likewise for param "insn".
(advance_target_bb): Likewise.

* sel-sched-dump.c (sel_print_insn): Strengthen param "insn" from
const_rtx to const rtx_insn *.

* sel-sched-dump.h (sel_print_insn): Likewise.

* sel-sched-ir.c (advance_deps_context): Add a checked cast.
(deps_init_id): Likewise.

* sel-sched.c (convert_vec_av_set_to_ready): Likewise.
(invoke_reorder_hooks): Strengthen local "arr" from rtx * to
rtx_insn **.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214481 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agofinal_start_function takes an rtx_insn
dmalcolm [Mon, 25 Aug 2014 21:00:03 +0000 (21:00 +0000)]
final_start_function takes an rtx_insn

gcc/
* output.h (final_start_function): Strengthen param 1 from rtx to
rtx_insn *.

* final.c (final_start_function): Likewise, renaming back from
"uncast_first" to "first", and dropping the checked cast from rtx
to rtx_insn *.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214480 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agofinal accepts an rtx_insn
dmalcolm [Mon, 25 Aug 2014 20:56:14 +0000 (20:56 +0000)]
final accepts an rtx_insn

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 rtx_insn *.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214479 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoshorten_branches takes an rtx_insn
dmalcolm [Mon, 25 Aug 2014 20:53:38 +0000 (20:53 +0000)]
shorten_branches takes an rtx_insn

gcc/
* output.h (shorten_branches): Strengthen param from rtx to
rtx_insn *.

* final.c (shorten_branches): Likewise, renaming param back from
"uncast_first" to "first", and dropping the checked cast from rtx
to rtx_insn *.

* genattr.c (gen_attr): Likewise when writing out the prototype of
shorten_branches.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214478 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agostruct haifa_sched_info: prev_head and next_tail
dmalcolm [Mon, 25 Aug 2014 20:49:19 +0000 (20:49 +0000)]
struct haifa_sched_info: prev_head and next_tail

gcc/
* sched-int.h (struct haifa_sched_info): Strengthen fields
"prev_head" and "next_tail" from rtx to rtx_insn *.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214477 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoAdd rtx_jump_table_data::get_labels method
dmalcolm [Mon, 25 Aug 2014 20:45:08 +0000 (20:45 +0000)]
Add rtx_jump_table_data::get_labels method

gcc/
* rtl.h (rtx_jump_table_data::get_labels): New method.
* cfgbuild.c (make_edges): Replace hand-coded lookup of labels
with use of the new rtx_jump_table_data::get_labels method.
(purge_dead_tablejump_edges): Strengthen param "table" from rtx
to rtx_jump_table_data *.  Simplify by using get_labels method.
* cfgrtl.c (delete_insn): Replace use of JUMP_TABLE_DATA_P with
a dyn_cast, introducing local "table", using it to replace
label-lookup logic with a get_labels method call.
(patch_jump_insn): Simplify using get_labels method.
* dwarf2cfi.c (create_trace_edges): Likewise.
* rtlanal.c (label_is_jump_target_p): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214476 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agounshare_all_rtl_again takes an rtx_insn *
dmalcolm [Mon, 25 Aug 2014 20:40:19 +0000 (20:40 +0000)]
unshare_all_rtl_again takes 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".

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214475 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agodelete_insn_and_edges takes an rtx_insn *
dmalcolm [Mon, 25 Aug 2014 20:36:57 +0000 (20:36 +0000)]
delete_insn_and_edges takes an rtx_insn *

gcc/
* rtl.h (delete_insn_and_edges): Strengthen param "insn" from rtx
to rtx_insn *.
* cfgrtl.c (delete_insn_and_edges): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214474 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoreorder_insns requires rtx_insn *
dmalcolm [Mon, 25 Aug 2014 20:31:34 +0000 (20:31 +0000)]
reorder_insns requires rtx_insn *

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214473 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agofunction.c and shrink-wrap.*: more rtx_insn
dmalcolm [Mon, 25 Aug 2014 20:27:46 +0000 (20:27 +0000)]
function.c and shrink-wrap.*: more rtx_insn

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_unconverted_simple_return): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214472 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoConvert edge_def.insns.r to rtx_insn *
dmalcolm [Mon, 25 Aug 2014 20:15:36 +0000 (20:15 +0000)]
Convert edge_def.insns.r to rtx_insn *

gcc/
* basic-block.h (struct edge_def). Strengthen "r" within
union edge_def_insns from rtx to rtx_insn *.

* cfgexpand.c (pass_expand::execute): Remove now-redundant cast
from rtx to rtx_insn *.  Strengthen local "insns" from rtx to
rtx_insn *.
* cfgrtl.c (commit_one_edge_insertion): Remove now-redundant cast
from rtx to rtx_insn *.
* cprop.c (find_bypass_set): Strengthen local "insn" from rtx to
rtx_insn *.
* postreload-gcse.c (reg_killed_on_edge): Likewise.
(reg_used_on_edge): Likewise.
* tree-cfg.c (gt_ggc_mx): New overload for rtx_insn *&.
(gt_pch_nx): New overload for rtx_insn *&.
* tree-outof-ssa.c (expand_phi_nodes): Strengthen local "insns"
from rtx to rtx_insn *.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214471 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoRemove BB_FOOTER scaffolding
dmalcolm [Mon, 25 Aug 2014 20:13:26 +0000 (20:13 +0000)]
Remove BB_FOOTER scaffolding

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.
* cfgrtl.c (try_redirect_by_replacing_jump): Likewise.
(emit_barrier_after_bb): Likewise.
(record_effective_endpoints): Likewise.
(relink_block_chain): Likewise.
(fixup_fallthru_exit_predecessor): Likewise.
(cfg_layout_duplicate_bb): Likewise.
(cfg_layout_split_block): Likewise.
(cfg_layout_delete_block): Likewise.
(cfg_layout_merge_blocks): Likewise.
(BB_FOOTER): Delete function.
(SET_BB_FOOTER): Delete function.
* combine.c (update_cfg_for_uncondjump): Replace uses of
SET_BB_FOOTER with BB_FOOTER.

/
* rtx-classes-status.txt (TODO): Remove SET_BB_FOOTER.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214470 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agostruct eh_landing_pad_d: field "landing_pad" is an rtx_code_label
dmalcolm [Mon, 25 Aug 2014 20:07:26 +0000 (20:07 +0000)]
struct eh_landing_pad_d: field "landing_pad" is an rtx_code_label

gcc/
* except.h (struct eh_landing_pad_d): Strengthen field
"landing_pad" from rtx to rtx_code_label *.

* except.c (sjlj_emit_dispatch_table): Likewise for param
"dispatch_label"
(sjlj_build_landing_pads): Likewise for local "dispatch_label".

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214469 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoPHASE 4: Removal of scaffolding
dmalcolm [Mon, 25 Aug 2014 20:04:07 +0000 (20:04 +0000)]
PHASE 4: Removal of scaffolding

/
2014-08-25  David Malcolm  <dmalcolm@redhat.com>

* rtx-classes-status.txt: Phase 3 (per-file commits within
"config" subdirs) is done; begin phase 4 (removal of
"scaffolding").

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214468 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoconfig/xtensa: Use rtx_insn and rtx_code_label
dmalcolm [Mon, 25 Aug 2014 20:00:46 +0000 (20:00 +0000)]
config/xtensa: Use rtx_insn and rtx_code_label

gcc/
* config/xtensa/xtensa-protos.h (xtensa_emit_loop_end): Strengthen
first param from rtx to rtx_insn *.
* config/xtensa/xtensa.c (struct machine_function): Likewise for
field "set_frame_ptr_insn".
(xtensa_expand_compare_and_swap): Strengthen locals "csloop" and
"csend" from rtx to rtx_code_label *.
(xtensa_expand_atomic): Likewise for local "csloop".
(xtensa_emit_loop_end): Strengthen param "insn" from rtx to
rtx_insn *.
(xtensa_call_tls_desc): Likewise for return type and locals
"call_insn", "insns".
(xtensa_legitimize_tls_address): Likewise for local "insns".
(xtensa_expand_prologue): Likewise for locals "insn", "first".

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214467 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoconfig/v850: Use rtx_insn
dmalcolm [Mon, 25 Aug 2014 19:54:37 +0000 (19:54 +0000)]
config/v850: Use rtx_insn

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214466 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoconfig/tilepro: Use rtx_insn
dmalcolm [Mon, 25 Aug 2014 19:43:06 +0000 (19:43 +0000)]
config/tilepro: Use rtx_insn

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.

* config/tilepro/tilepro.c (tilepro_legitimize_tls_address):
Likewise for local "last".
(cbranch_predicted_p): Likewise for param "insn".
(tilepro_output_simple_cbranch_with_opcode): Likewise.
(tilepro_output_cbranch_with_opcode): Likewise.
(tilepro_output_cbranch): Likewise.
(frame_emit_load): Likewise for return type and locals "seq",
"insn".
(emit_sp_adjust): Likewise for return type and local "insn".
(tilepro_expand_epilogue): Likewise for locals "last_insn",
"insn".
(tilepro_adjust_insn_length): Likewise for param "insn".
(next_insn_to_bundle): Likewise for return type and params
"r", "end".
(tilepro_gen_bundles): Likewise for locals "insn", "next", "end".
(replace_pc_relative_symbol_ref): Likewise for param "insn" and
local "new_insns".
(match_addli_pcrel): Likewise for param "insn".
(replace_addli_pcrel): Likewise.
(match_auli_pcrel): Likewise.
(replace_auli_pcrel): Likewise.
(tilepro_fixup_pcrel_references): Likewise for locals "insn",
"next_insn".
(reorder_var_tracking_notes): Likewise for locals "insn", "next",
"queue", "next_queue", "prev".
(tilepro_asm_output_mi_thunk): Likewise for local "insn".
(tilepro_final_prescan_insn): Likewise for param "insn".

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214465 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoconfig/tilegx: Use rtx_insn
dmalcolm [Mon, 25 Aug 2014 19:38:41 +0000 (19:38 +0000)]
config/tilegx: Use rtx_insn

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.

* config/tilegx/tilegx.c (tilegx_legitimize_tls_address): Likewise
or local "last".
(cbranch_predicted_p): Likewise for param "insn".
(tilegx_output_simple_cbranch_with_opcode): Likewise.
(tilegx_output_cbranch_with_opcode): Likewise.
(tilegx_output_cbranch): Likewise.
(frame_emit_load): Likewise for return type.
(set_frame_related_p): Likewise for locals "seq", "insn".
(emit_sp_adjust): Likewise for return type, and for local "insn".
Introduce local "pat" for use in place of "insn" where the latter
isn't an instruction.
(tilegx_expand_epilogue): Strengthen locals "last_insn", "insn"
from rtx to rtx_insn *.
(tilegx_adjust_insn_length): Likewise for param "insn".
(next_insn_to_bundle): Likewise for return type and params "r" and
"end".
(tilegx_gen_bundles): Likewise for locals "insn", "next", "prev",
"end".
(replace_insns): Likewise for params "old_insn", "new_insns".
(replace_mov_pcrel_step1): Likewise for param "insn" and local
"new_insns".
(replace_mov_pcrel_step2): Likewise.
(replace_mov_pcrel_step3): Likewise.
(tilegx_fixup_pcrel_references): Likewise for locals "insn",
"next_insn".
(reorder_var_tracking_notes): Likewise for locals "insn", "next",
"queue", "next_queue", "prev".
(tilegx_output_mi_thunk): Likewise for local "insn".
(tilegx_final_prescan_insn): Likewise for param "insn".

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214464 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoconfig/spu/spu.c: Use rtx_insn
dmalcolm [Mon, 25 Aug 2014 19:32:54 +0000 (19:32 +0000)]
config/spu/spu.c: Use rtx_insn

gcc/
* config/spu/spu.c (frame_emit_store): Strengthen return type from
rtx to rtx_insn *.
(frame_emit_load): Likewise.
(frame_emit_add_imm): Likewise, also for local "insn".
(spu_expand_prologue): Likewise for local "insn".
(struct spu_bb_info): Likewise for field "prop_jump".
(emit_nop_for_insn): Likewise for param "insn" and local
"new_insn".
(pad_bb): Likewise for locals "insn", "next_insn", "prev_insn",
"hbr_insn".
(spu_emit_branch_hint): Likewise for params "before", "branch" and
locals "hint", "insn".
(get_branch_target): Likewise for param "branch".
(insn_clobbers_hbr): Likewise for param "insn".
(insert_hbrp_for_ilb_runout): Likewise for param "first" and
locals "insn", "before_4", "before_16".
(insert_hbrp): Likewise for local "insn".
(spu_machine_dependent_reorg): Likewise for locals "branch",
"insn", "next", "bbend".
(uses_ls_unit): Likewise for param "insn".
(get_pipe): Likewise.
(spu_sched_variable_issue): Rename param "insn" to "uncast_insn",
introducing a checked cast.
(spu_sched_adjust_cost): Likewise for params "insn" and
"dep_insn".
(ea_load_store_inline): Strengthen local "insn" from rtx to rtx_insn *.
(spu_sms_res_mii): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214463 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoconfig/sparc: Use rtx_insn
dmalcolm [Mon, 25 Aug 2014 19:27:55 +0000 (19:27 +0000)]
config/sparc: Use rtx_insn

gcc/
* config/sparc/sparc-protos.h (output_ubranch): Strengthen param 2
from rtx to rtx_insn *.
(output_cbranch): Likewise for param 6.
(output_return): Likewise for param 1.
(output_sibcall): Likewise.
(output_v8plus_shift): Likewise.
(output_v8plus_mult): Likewise.
(output_v9branch): Likewise for param 7.
(output_cbcond):  Likewise for param 3.

* config/sparc/sparc.c (sparc_legitimize_tls_address): Likewise
for local "insn".
(sparc_legitimize_pic_address): Likewise.
(sparc_emit_call_insn): Likewise.
(emit_save_or_restore_regs): Likewise.
(emit_window_save): Likewise for return type and local "insn".
(sparc_expand_prologue): Likewise for local "insn".
(sparc_flat_expand_prologue): Likewise.
(output_return): Likewise for param "insn".
(output_sibcall): Likewise for param "insn" and local "delay".
(output_ubranch): Likewise for param "insn".
(output_cbranch): Likewise.
(output_cbcond): Likewise.
(output_v9branch): Likewise.
(output_v8plus_shift): Likewise.
(sparc_output_mi_thunk): Likewise for local "insn".
(get_some_local_dynamic_name): Likewise.
(output_v8plus_mult): Likewise for param "insn".

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214462 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoconfig/sh: Use rtx_insn and rtx_code_label
dmalcolm [Mon, 25 Aug 2014 19:22:04 +0000 (19:22 +0000)]
config/sh: Use rtx_insn and rtx_code_label

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): Likewise.
(sh_insn_length_adjustment): Likewise for sole param.

* config/sh/sh.c (expand_cbranchsi4): Likewise for local "jump".
(expand_cbranchdi4): Strengthen local "skip_label" from rtx to
rtx_code_label *.
(sh_emit_compare_and_set): Likewise for local "lab".
(output_far_jump): Strengthen param "insn" and local "prev" from
rtx to rtx_insn *.
(output_branchy_insn): Likewise for param "insn" and local
"next_insn".
(output_ieee_ccmpeq): Likewise for param "insn".
(struct label_ref_list_d): Strengthen field "label" from rtx to
rtx_code_label *.
(pool_node): Likewise.
(pool_window_label): Likewise for this global.
(add_constant): Likewise for return type and locals "lab", "new_rtx".
(dump_table): Strengthen params "start", "barrier" and local
"scan" from rtx to rtx_insn *.
(broken_move): Likewise for param "insn".
(untangle_mova): Likewise for params "first_mova" and "new_mova".
Strengthen param "first_mova" from rtx * to rtx_insn **.
(mova_p): Likewise for param "insn".
(fixup_mova): Likewise for param "mova".
(find_barrier): Likewise for return type, params "mova" and
"from", and locals "barrier_before_mova", "found_barrier",
"good_barrier", "orig", "last_symoff", "next".  Strengthen local
"label" from rtx to rtx_code_label *.
(sh_loop_align): Strengthen locals "first", "insn", "mova" from
rtx to rtx_insn *.
(sh_reorg): Likewise for locals "link", "scan", "barrier".
(split_branches): Likewise for param "first" and local "insn".
(final_prescan_insn): Likewise for param "insn".
(sequence_insn_p): Likewise for locals "prev", "next".
(sh_insn_length_adjustment): Likewise for param "insn".
(sh_can_redirect_branch): Likewise for local "insn".
(find_r0_life_regions): Likewise for locals "end", "insn".
(sh_output_mi_thunk): Likewise for local "insns".

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214459 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoconfig/score/score.c: Use rtx_insn
dmalcolm [Mon, 25 Aug 2014 19:17:13 +0000 (19:17 +0000)]
config/score/score.c: Use rtx_insn

gcc/
* config/score/score.c (score_output_mi_thunk): Strengthen local
"insn" from rtx to rtx_insn *.
(score_prologue): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214457 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoconfig/s390: Use rtx_insn and rtx_code_label
dmalcolm [Mon, 25 Aug 2014 19:06:00 +0000 (19:06 +0000)]
config/s390: Use rtx_insn and rtx_code_label

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 for this
variable.
(s390_match_ccmode): Likewise for param "insn".
(s390_emit_jump): Likewise for return type.
(s390_split_branches): Likewise for local "label".
(struct constant): Strengthen field "label" from rtx to
rtx_code_label *.
(struct constant_pool): Likewise for field "label".  Strengthen
fields "first_insn", "pool_insn", "emit_pool_after" from rtx to
rtx_insn *.
(s390_alloc_pool): Replace NULL_RTX with NULL when dealing with
insns.
(s390_start_pool): Strengthen param "insn" from rtx to rtx_insn *.
(s390_end_pool): Likewise.
(s390_dump_pool): Likewise for local "insn".
(s390_mainpool_start): Likewise.
(s390_chunkify_start): Likewise.
(s390_chunkify_start): Replace NULL_RTX with NULL when dealing
with insns.  Strengthen locals "label", "jump", "barrier", "next",
"prev", "vec_insn", "insn" from rtx to rtx_insn *.
(s390_chunkify_finish): Strengthen local "insn" from rtx to
rtx_insn *.
(s390_chunkify_cancel): Likewise for locals "insn", "barrier",
"jump", "label", "next_insn".
(s390_regs_ever_clobbered): Likewise for local "cur_insn".
(s390_optimize_nonescaping_tx): Likewise for locals "insn",
"tbegin_insn".
(s390_load_got): Likewise for return type and local "insns".
(s390_save_gprs_to_fprs): Likewise for local "insn".
(s390_restore_gprs_from_fprs): Likewise.
(pass_s390_early_mach::execute): Likewise.
(s390_emit_prologue): Likewise for local "insns".
(s390_expand_tbegin): Strengthen local "leave_label" from rtx to
rtx_code_label *.
(s390_emit_call): Strengthen return type and local "insn" from
rtx to rtx_insn *.
(s390_emit_tpf_eh_return): Likewise for local "insn".
(s390_optimize_prologue): Likewise for locals "insn", "new_insn",
"next_insn", introducing locals "s_pat", "rpat" to allow this.
(s390_fix_long_loop_prediction): Likewise for param "insn" and
local "cur_insn".
(s390_non_addr_reg_read_p): Likewise for param "insn".
(find_cond_jump): Likewise for return type and param "insn".
(s390_swap_cmp): Likewise for param "insn".
(s390_z10_optimize_cmp): Likewise for param "insn" and locals
"prev_insn", "next_insn".
(s390_reorg): Likewise for locals "insn", "target".
(s390_z10_prevent_earlyload_conflicts): Likewise for local "insn".
(s390_sched_variable_issue): For now, rename param "insn" to
"uncast_insn", introducing a checked cast.
(s390_sched_init): Replace NULL_RTX with NULL when dealing with
insn.
(s390_loop_unroll_adjust): Strengthen local "insn" from rtx to
rtx_insn *.  Use for_each_rtx_in_insn rather than for_each_rtx.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214456 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoconfig/rx: Use rtx_insn
dmalcolm [Mon, 25 Aug 2014 18:56:29 +0000 (18:56 +0000)]
config/rx: Use rtx_insn

gcc/
* config/rx/rx-protos.h (rx_adjust_insn_length): Strengthen first
param from rtx to rtx_insn *.
* config/rx/rx.c (rx_adjust_insn_length): Likewise for param "insn".

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214455 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoconfig/rs6000: Use rtx_insn
dmalcolm [Mon, 25 Aug 2014 18:49:28 +0000 (18:49 +0000)]
config/rs6000: Use rtx_insn

gcc/
* config/rs6000/rs6000-protos.h (output_cbranch): Strengthen param
4 from rtx to rtx_insn *.
(rs6000_final_prescan_insn): Likewise for first param.
* config/rs6000/rs6000.c (rs6000_emit_set_const): Likewise for
local "insn".
(rs6000_get_some_local_dynamic_name): Likewise.
(output_cbranch): Likewise for param "insn".
(spe_func_has_64bit_regs_p): Likewise for locals "insns", "insn".
(rs6000_function_ok_for_sibcall): Likewise for locals "top", "insn".
(rs6000_emit_allocate_stack): Likewise for local "insn".
(load_cr_save): Likewise.
(restore_saved_cr): Likewise.
(restore_saved_lr): Likewise.
(emit_cfa_restores): Likewise.
(rs6000_output_function_epilogue): Likewise for locals "insn" and
"deleted_debug_label".
(rs6000_output_mi_thunk): Likewise for local "insn".
(rs6000_final_prescan_insn): Likewise for param "insn".

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214454 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoconfig/picochip: Use rtx_insn
dmalcolm [Mon, 25 Aug 2014 18:43:33 +0000 (18:43 +0000)]
config/picochip: Use rtx_insn

gcc/
* config/picochip/picochip-protos.h (picochip_final_prescan_insn):
Strengthen param "insn" from rtx to rtx_insn *.
* config/picochip/picochip.c (picochip_current_prescan_insn):
Likewise for this variable.
(picochip_final_prescan_insn): Likewise for param "insn".

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214453 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoconfig/pa: Use rtx_insn
dmalcolm [Mon, 25 Aug 2014 18:35:56 +0000 (18:35 +0000)]
config/pa: Use rtx_insn

gcc/
* config/pa/pa-protos.h (pa_output_call): Strengthen first param
from rtx to rtx_insn *.
(pa_output_indirect_call): Likewise.
(pa_adjust_insn_length): Likewise.
(pa_attr_length_millicode_call): Likewise.
(pa_attr_length_call): Likewise.
(pa_attr_length_indirect_call): Likewise.

* config/pa/pa.c (pa_adjust_insn_length): Likewise for param
"insn".
(pa_attr_length_millicode_call): Likewise.
(pa_attr_length_call): Likewise.
(pa_output_call): Likewise.
(pa_attr_length_indirect_call): Likewise.
(pa_output_indirect_call): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214452 138bc75d-0d04-0410-961f-82ee72b054a4