platform/upstream/linaro-gcc.git
9 years agonext_cc0_user and prev_cc0_setter scaffolding
dmalcolm [Tue, 19 Aug 2014 21:08:18 +0000 (21:08 +0000)]
next_cc0_user and prev_cc0_setter scaffolding

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

* rtl.h (next_cc0_user): Strengthen return type from rtx to
rtx_insn *.
(prev_cc0_setter): Likewise.

* emit-rtl.c (next_cc0_user): Strengthen return type from rtx to
rtx_insn *, adding checked casts for now as necessary.
(prev_cc0_setter): Likewise.

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

9 years agoemit_move et al return rtx_insn *
dmalcolm [Tue, 19 Aug 2014 20:51:09 +0000 (20:51 +0000)]
emit_move et al return rtx_insn *

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

* expr.h (emit_move_insn): Strengthen return type from rtx to
rtx_insn *.
(emit_move_insn_1): Likewise.
(emit_move_complex_push): Likewise.
(emit_move_complex_parts): Likewise.

* expr.c (emit_move_via_integer): Strengthen return type from rtx
to rtx_insn *.  Replace use of NULL_RTX with NULL when working
with insns.
(emit_move_complex_push): Strengthen return type from rtx to
rtx_insn *.
(emit_move_complex): Likewise, also for local "ret".
(emit_move_ccmode): Likewise.
(emit_move_multi_word): Likewise for return type and locals
"last_insn", "seq".
(emit_move_insn_1): Likewise for return type and locals "result",
"ret".
(emit_move_insn): Likewise for return type and local "last_insn".
(compress_float_constant): Likewise.

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

9 years agoemit_* functions return rtx_insn
dmalcolm [Tue, 19 Aug 2014 20:36:20 +0000 (20:36 +0000)]
emit_* functions return rtx_insn

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

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

* rtl.h (emit_insn_before): Likewise.
(emit_insn_before_noloc): Likewise.
(emit_insn_before_setloc): Likewise.
(emit_jump_insn_before): Likewise.
(emit_jump_insn_before_noloc): Likewise.
(emit_jump_insn_before_setloc): Likewise.
(emit_call_insn_before): Likewise.
(emit_call_insn_before_noloc): Likewise.
(emit_call_insn_before_setloc): Likewise.
(emit_debug_insn_before): Likewise.
(emit_debug_insn_before_noloc): Likewise.
(emit_debug_insn_before_setloc): Likewise.
(emit_label_before): Likewise.
(emit_insn_after): Likewise.
(emit_insn_after_noloc): Likewise.
(emit_insn_after_setloc): Likewise.
(emit_jump_insn_after): Likewise.
(emit_jump_insn_after_noloc): Likewise.
(emit_jump_insn_after_setloc): Likewise.
(emit_call_insn_after): Likewise.
(emit_call_insn_after_noloc): Likewise.
(emit_call_insn_after_setloc): Likewise.
(emit_debug_insn_after): Likewise.
(emit_debug_insn_after_noloc): Likewise.
(emit_debug_insn_after_setloc): Likewise.
(emit_label_after): Likewise.
(emit_insn): Likewise.
(emit_debug_insn): Likewise.
(emit_jump_insn): Likewise.
(emit_call_insn): Likewise.
(emit_label): Likewise.
(gen_clobber): Likewise.
(emit_clobber): Likewise.
(gen_use): Likewise.
(emit_use): Likewise.
(emit): Likewise.

(emit_barrier_before): Strengthen return type from rtx to
rtx_barrier *.
(emit_barrier_after): Likewise.
(emit_barrier): Likewise.

* emit-rtl.c (emit_pattern_before_noloc):  Strengthen return type
from rtx to rtx_insn *.  Add checked casts for now when converting
"last" from rtx to rtx_insn *.
(emit_insn_before_noloc): Likewise for return type.
(emit_jump_insn_before_noloc): Likewise.
(emit_call_insn_before_noloc): Likewise.
(emit_debug_insn_before_noloc): Likewise.
(emit_barrier_before): Strengthen return type and local "insn"
from rtx to rtx_barrier *.
(emit_label_before): Strengthen return type from rtx to
rtx_insn *.  Add checked cast for now when returning param
(emit_pattern_after_noloc): Strengthen return type from rtx to
rtx_insn *.  Add checked casts for now when converting "last" from
rtx to rtx_insn *.
(emit_insn_after_noloc): Strengthen return type from rtx to
rtx_insn *.
(emit_jump_insn_after_noloc): Likewise.
(emit_call_insn_after_noloc): Likewise.
(emit_debug_insn_after_noloc): Likewise.
(emit_barrier_after): Strengthen return type from rtx to
rtx_barrier *.
(emit_label_after): Strengthen return type from rtx to rtx_insn *.
Add checked cast for now when converting "label" from rtx to
rtx_insn *.
(emit_pattern_after_setloc): Strengthen return type from rtx to
rtx_insn *.  Add checked casts for now when converting "last" from
rtx to rtx_insn *.
(emit_pattern_after): Strengthen return type from rtx to
rtx_insn *.
(emit_insn_after_setloc): Likewise.
(emit_insn_after): Likewise.
(emit_jump_insn_after_setloc): Likewise.
(emit_jump_insn_after): Likewise.
(emit_call_insn_after_setloc): Likewise.
(emit_call_insn_after): Likewise.
(emit_debug_insn_after_setloc): Likewise.
(emit_debug_insn_after): Likewise.
(emit_pattern_before_setloc): Likewise.  Add checked casts for now
when converting "last" from rtx to rtx_insn *.
(emit_pattern_before): Strengthen return type from rtx to
rtx_insn *.
(emit_insn_before_setloc): Likewise.
(emit_insn_before): Likewise.
(emit_jump_insn_before_setloc): Likewise.
(emit_jump_insn_before): Likewise.
(emit_call_insn_before_setloc): Likewise.
(emit_call_insn_before): Likewise.
(emit_debug_insn_before_setloc): Likewise.
(emit_debug_insn_before): Likewise.
(emit_insn): Strengthen return type and locals "last", "insn",
"next" from rtx to rtx_insn *.  Add checked cast to rtx_insn
within cases where we know we have an insn.
(emit_debug_insn): Likewise.
(emit_jump_insn): Likewise.
(emit_call_insn): Strengthen return type and local "insn" from rtx
to rtx_insn *.
(emit_label): Strengthen return type from rtx to rtx_insn *.  Add
a checked cast to rtx_insn * for now on "label".
(emit_barrier): Strengthen return type from rtx to rtx_barrier *.
(emit_clobber): Strengthen return type from rtx to rtx_insn *.
(emit_use): Likewise.
(gen_use): Likewise, also for local "seq".
(emit): Likewise for return type and local "insn".
(rtx_insn): Likewise for return type and local "new_rtx".

* cfgrtl.c (emit_barrier_after_bb): Strengthen local "barrier"
from rtx to rtx_barrier *.

* config/sh/sh.c (output_stack_adjust): Since emit_insn has
changed return type from rtx to rtx_insn *, we must update
"emit_fn" type, and this in turn means updating...
(frame_insn): ...this.  Strengthen return type from rtx to
rtx_insn *.  Introduce a new local "insn" of the appropriate type.

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

9 years agoemit_jump_table_data returns an rtx_jump_table_data *
dmalcolm [Tue, 19 Aug 2014 20:22:09 +0000 (20:22 +0000)]
emit_jump_table_data returns an rtx_jump_table_data *

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

* emit-rtl.c (emit_jump_table_data): Strengthen return type from
rtx to rtx_jump_table_data *.  Also for local.
* rtl.h (emit_jump_table_data): Likewise.

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

9 years agoConvert various rtx to rtx_note *
dmalcolm [Tue, 19 Aug 2014 20:08:20 +0000 (20:08 +0000)]
Convert various rtx to rtx_note *

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

* basic-block.h (create_basic_block_structure): Strengthen third
param "bb_note" from rtx to rtx_note *.
* rtl.h (emit_note_before): Strengthen return type from rtx to
rtx_note *.
(emit_note_after): Likewise.
(emit_note): Likewise.
(emit_note_copy): Likewise.  Also, strengthen param similarly.
* function.h (struct rtl_data): Strengthen field
"x_stack_check_probe_note" from rtx to rtx_note *.

* cfgexpand.c (expand_gimple_basic_block): Strengthen local "note"
from rtx to rtx_note *.
* cfgrtl.c (create_basic_block_structure): Strengthen third param
"bb_note" from rtx to rtx_note *.
(duplicate_insn_chain): Likewise for local "last".  Add a checked cast
when calling emit_note_copy.
* emit-rtl.c (make_note_raw): Strengthen return type from rtx to
rtx_note *.
(emit_note_after): Likewise.
(emit_note_before): Likewise.
(emit_note_copy): Likewise.  Also, strengthen param similarly.
(emit_note): Likewise.
* except.c (emit_note_eh_region_end): Likewise for return type.
Strengthen local "next" from rtx to rtx_insn *.
(convert_to_eh_region_ranges): Strengthen local "note"
from rtx to rtx_note *.
* final.c (change_scope): Likewise.
(reemit_insn_block_notes): Likewise, for both locals named "note".
Also, strengthen local "insn" from rtx to rtx_insn *.
* haifa-sched.c (sched_extend_bb): Strengthen local "note" from
rtx to rtx_note *.
* reg-stack.c (compensate_edge): Likewise for local "after". Also,
strengthen local "seq" from rtx to rtx_insn *.
* reload1.c (reload_as_needed): Strengthen local "marker" from rtx
to rtx_note *.
* sel-sched-ir.c (bb_note_pool): Strengthen from rtx_vec_t to
vec<rtx_note *>.
(get_bb_note_from_pool): Strengthen return type from rtx to
rtx_note *.
(sel_create_basic_block): Strengthen local "new_bb_note" from
insn_t to rtx_note *.
* var-tracking.c (emit_note_insn_var_location): Strengthen local
"note" from rtx to rtx_note *.
(emit_notes_in_bb): Likewise.

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

9 years agortl_data.x_parm_birth_insn is an insn
dmalcolm [Tue, 19 Aug 2014 19:57:18 +0000 (19:57 +0000)]
rtl_data.x_parm_birth_insn is an insn

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

* function.h (struct rtl_data): Strengthen field
"x_parm_birth_insn" from rtx to rtx_insn *.
* function.c (struct assign_parm_data_all): Strengthen fields
"first_conversion_insn" and "last_conversion_insn" from rtx to
rtx_insn *.

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

9 years agocfgexpand.c: Use rtx_insn
dmalcolm [Tue, 19 Aug 2014 19:52:55 +0000 (19:52 +0000)]
cfgexpand.c: Use rtx_insn

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

* cfgexpand.c (expand_used_vars): Strengthen return type from rtx
to rtx_insn *; also for local "var_end_seq".
(maybe_dump_rtl_for_gimple_stmt): Likewise for param "since".
(maybe_cleanup_end_of_block): Likewise for param "last" and local
"insn".
(expand_gimple_cond): Likewise for locals "last2" and "last".
(mark_transaction_restart_calls): Likewise for local "insn".
(expand_gimple_stmt): Likewise for return type and locals "last"
and "insn".
(expand_gimple_tailcall): Likewise for locals "last2" and "last".
(avoid_complex_debug_insns): Likewise for param "insn".
(expand_debug_locations): Likewise for locals "insn", "last",
"prev_insn" and "insn2".
(expand_gimple_basic_block): Likewise for local "last".
(construct_exit_block): Likewise for locals "head", "end",
"orig_end".
(pass_expand::execute): Likewise for locals "var_seq",
"var_ret_seq", "next".

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

9 years agoasan_emit_stack_protection returns an insn
dmalcolm [Tue, 19 Aug 2014 19:48:08 +0000 (19:48 +0000)]
asan_emit_stack_protection returns an insn

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

* asan.h (asan_emit_stack_protection): Strengthen return type from
rtx to rtx_insn *.
* asan.c (asan_emit_stack_protection): Likewise.  Add local
"insns" to hold the return value.

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

9 years agobb_note returns a rtx_note *
dmalcolm [Tue, 19 Aug 2014 19:43:08 +0000 (19:43 +0000)]
bb_note returns a rtx_note *

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

* basic-block.h (bb_note): Strengthen return type from rtx to
rtx_note *.
* sched-int.h (bb_note): Likewise.
* cfgrtl.c (bb_note): Likewise.  Add a checked cast to rtx_note *.

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

9 years agomake_insn_raw returns an rtx_insn
dmalcolm [Tue, 19 Aug 2014 19:38:12 +0000 (19:38 +0000)]
make_insn_raw returns an rtx_insn

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

* rtl.h (make_insn_raw): Strengthen return type from rtx to
rtx_insn *.

* emit-rtl.c (make_insn_raw): Strengthen return type and local
"insn" from rtx to rtx_insn *.
(make_debug_insn_raw): Strengthen return type from rtx to
rtx_insn *; strengthen local "insn" from rtx to rtx_debug_insn *.
(make_jump_insn_raw):  Strengthen return type from rtx to
rtx_insn *; strengthen local "insn" from rtx to rtx_jump_insn *.
(make_call_insn_raw):  Strengthen return type from rtx to
rtx_insn *; strengthen local "insn" from rtx to rtx_call_insn *.
(emit_pattern_before_noloc): Strengthen return type of "make_raw"
callback from rtx to rtx_insn *; likewise for local "insn" and
"next", adding a checked cast to rtx_insn in the relevant cases of
the switch statement.
(emit_pattern_after_noloc): Strengthen return type of "make_raw"
callback from rtx to rtx_insn *.
(emit_pattern_after_setloc): Likewise.
(emit_pattern_after): Likewise.
(emit_pattern_before_setloc): Likewise.
(emit_pattern_before): Likewise.

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

9 years agolast_call_insn returns an rtx_call_insn *
dmalcolm [Tue, 19 Aug 2014 19:33:21 +0000 (19:33 +0000)]
last_call_insn returns an rtx_call_insn *

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

* emit-rtl.c (last_call_insn): Strengthen return type from rtx to
rtx_call_insn *.
* rtl.h (is_a_helper <rtx_call_insn *>::test): New overload,
accepting an rtx_insn *.
(last_call_insn): Strengthen return type from rtx to
rtx_call_insn *.

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

9 years agodelete_trivially_dead_insns works on insns
dmalcolm [Tue, 19 Aug 2014 19:27:29 +0000 (19:27 +0000)]
delete_trivially_dead_insns works on insns

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

* rtl.h (delete_trivially_dead_insns): Strengthen initial param
"insns" from rtx to rtx_insn *.
* cse.c (delete_trivially_dead_insns): Likewise, also do it for
locals "insn" and "prev".

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

9 years agoMake tablejump_p accept a rtx_jump_table_data **
dmalcolm [Tue, 19 Aug 2014 19:19:13 +0000 (19:19 +0000)]
Make tablejump_p accept a rtx_jump_table_data **

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

* rtl.h (tablejump_p): Strengthen third param from rtx * to
rtx_jump_table_data **.

* cfgbuild.c (make_edges): Introduce local "table", using it in
place of "tmp" for jump table data.
(find_bb_boundaries): Strengthen local "table" from rtx to
rtx_jump_table_data *.
* cfgcleanup.c (merge_blocks_move_successor_nojumps): Likewise.
(outgoing_edges_match): Likewise for locals "table1" and "table2".
(try_crossjump_to_edge): Likewise.
* cfgrtl.c (try_redirect_by_replacing_jump): Likewise for local
"table".
(patch_jump_insn): Introduce local "table", using it in place of
"tmp" for jump table data.
(force_nonfallthru_and_redirect): Introduce local "table", so that
call to tablejump_p can receive an rtx_jump_table_data **.  Update
logic around the call to overwrite "note" appropriately if
tablejump_p returns non-zero.
(get_last_bb_insn): Introduce local "table", using it in place of
"tmp" for jump table data.
* dwarf2cfi.c (create_trace_edges): Likewise.

* config/arm/arm.c (get_jump_table_size): Strengthen param "insn"
from rtx to rtx_jump_table_data *.
(create_fix_barrier): Strengthen local "tmp" from rtx to
rtx_jump_table_data *.
(arm_reorg): Likewise for local "table".

* config/s390/s390.c (s390_chunkify_start): Likewise.

* config/spu/spu.c (spu_emit_branch_hint): Likewise.

* jump.c (delete_related_insns): Strengthen local "lab_next" from
rtx to rtx_jump_table_data *.

* rtlanal.c (tablejump_p): Strengthen param "tablep" from rtx * to
rtx_jump_table_data **.  Add a checked cast when writing through
the pointer: we know there that local "table" is non-NULL and that
JUMP_TABLE_DATA_P (table) holds.
(label_is_jump_target_p): Introduce local "table", using it in
place of "tmp" for jump table data.

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

9 years ago PR c++/62153
mpolacek [Tue, 19 Aug 2014 18:50:00 +0000 (18:50 +0000)]
PR c++/62153
* doc/invoke.texi: Document -Wbool-compare.
c-family/
* c-common.c (maybe_warn_bool_compare): New function.
* c-common.h (maybe_warn_bool_compare): Declare.
* c.opt (Wbool-compare): New option.
c/
* c-typeck.c (build_binary_op): If either operand of a comparison
is a boolean expression, call maybe_warn_bool_compare.
cp/
* call.c (build_new_op_1): Remember the type of arguments for
a comparison.  If either operand of a comparison is a boolean
expression, call maybe_warn_bool_compare.
testsuite/
* c-c++-common/Wbool-compare-1.c: New test.

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

9 years agoentry_of_function returns an insn
dmalcolm [Tue, 19 Aug 2014 18:44:41 +0000 (18:44 +0000)]
entry_of_function returns an insn

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

* rtl.h (entry_of_function): Strengthen return type from rtx to
rtx_insn *.
* cfgrtl.c (entry_of_function): Likewise.

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

9 years ago PR tree-optimization/62091
jason [Tue, 19 Aug 2014 18:25:45 +0000 (18:25 +0000)]
PR tree-optimization/62091
* decl2.c (decl_needed_p): Return true for virtual functions when
devirtualizing.

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

9 years agoReturn rtx_insn from get_insns/get_last_insn
dmalcolm [Tue, 19 Aug 2014 18:24:21 +0000 (18:24 +0000)]
Return rtx_insn from get_insns/get_last_insn

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

* emit-rtl.h (get_insns): Strengthen return type from rtx to
rtx_insn *, adding a checked cast for now.
(get_last_insn): Likewise.

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

9 years agoStrengthen return type of gen_label_rtx
dmalcolm [Tue, 19 Aug 2014 18:12:51 +0000 (18:12 +0000)]
Strengthen return type of gen_label_rtx

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

* rtl.h (gen_label_rtx): Strengthen return type from rtx to
rtx_code_label *.

* emit-rtl.c (gen_label_rtx): Likewise.

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

9 years agoStrengthen return types of various {next|prev}_*insn from rtx to rtx_insn *
dmalcolm [Tue, 19 Aug 2014 17:39:08 +0000 (17:39 +0000)]
Strengthen return types of various {next|prev}_*insn from rtx to rtx_insn *

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

* rtl.h (previous_insn): Strengthen return type from rtx to
rtx_insn *.
(next_insn): Likewise.
(prev_nonnote_insn): Likewise.
(prev_nonnote_insn_bb): Likewise.
(next_nonnote_insn): Likewise.
(next_nonnote_insn_bb): Likewise.
(prev_nondebug_insn): Likewise.
(next_nondebug_insn): Likewise.
(prev_nonnote_nondebug_insn): Likewise.
(next_nonnote_nondebug_insn): Likewise.
(prev_real_insn): Likewise.
(next_real_insn): Likewise.
(prev_active_insn): Likewise.
(next_active_insn): Likewise.

* emit-rtl.c (next_insn): Strengthen return type from rtx to
rtx_insn *, adding a checked cast.
(previous_insn): Likewise.
(next_nonnote_insn): Likewise.
(next_nonnote_insn_bb): Likewise.
(prev_nonnote_insn): Likewise.
(prev_nonnote_insn_bb): Likewise.
(next_nondebug_insn): Likewise.
(prev_nondebug_insn): Likewise.
(next_nonnote_nondebug_insn): Likewise.
(prev_nonnote_nondebug_insn): Likewise.
(next_real_insn): Likewise.
(prev_real_insn): Likewise.
(next_active_insn): Likewise.
(prev_active_insn): Likewise.

* config/sh/sh-protos.h (sh_find_set_of_reg): Convert function ptr
param "stepfunc" so that it returns an rtx_insn * rather than an
rtx, to track the change to prev_nonnote_insn_bb, which is the
only function this is called with.
* config/sh/sh.c (sh_find_set_of_reg): Likewise.

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

9 years ago PR lto/53808
jason [Tue, 19 Aug 2014 17:29:41 +0000 (17:29 +0000)]
PR lto/53808
PR c++/61659
* decl.c (maybe_commonize_var): Don't use DECL_COMDAT to trigger
comdat_linkage.

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

9 years ago * ipa-visibility.c (update_visibility_by_resolution_info): Fix
hubicka [Tue, 19 Aug 2014 17:11:57 +0000 (17:11 +0000)]
* ipa-visibility.c (update_visibility_by_resolution_info): Fix
assert.

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

9 years agoAdd subclasses for the various kinds of instruction
dmalcolm [Tue, 19 Aug 2014 16:57:10 +0000 (16:57 +0000)]
Add subclasses for the various kinds of instruction

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

* coretypes.h (class rtx_debug_insn): Add forward declaration.
(class rtx_nonjump_insn): Likewise.
(class rtx_jump_insn): Likewise.
(class rtx_call_insn): Likewise.
(class rtx_jump_table_data): Likewise.
(class rtx_barrier): Likewise.
(class rtx_code_label): Likewise.
(class rtx_note): Likewise.

* rtl.h (class rtx_debug_insn): New, a subclass of rtx_insn,
adding the invariant DEBUG_INSN_P (X).
(class rtx_nonjump_insn): New, a subclass of rtx_insn, adding
the invariant NONJUMP_INSN_P (X).
(class rtx_jump_insn): New, a subclass of rtx_insn, adding
the invariant JUMP_P (X).
(class rtx_call_insn): New, a subclass of rtx_insn, adding
the invariant CALL_P (X).
(class rtx_jump_table): New, a subclass of rtx_insn, adding the
invariant JUMP_TABLE_DATA_P (X).
(class rtx_barrier): New, a subclass of rtx_insn, adding the
invariant BARRIER_P (X).
(class rtx_code_label): New, a subclass of rtx_insn, adding
the invariant LABEL_P (X).
(class rtx_note): New, a subclass of rtx_insn, adding
the invariant NOTE_P(X).
(is_a_helper <rtx_debug_insn *>::test): New.
(is_a_helper <rtx_nonjump_insn *>::test): New.
(is_a_helper <rtx_jump_insn *>::test): New.
(is_a_helper <rtx_call_insn *>::test): New.
(is_a_helper <rtx_jump_table_data *>::test): New functions,
overloaded for both rtx and rtx_insn *.
(is_a_helper <rtx_barrier *>::test): New.
(is_a_helper <rtx_code_label *>::test): New functions, overloaded
for both rtx and rtx_insn *.
(is_a_helper <rtx_note *>::test): New.

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

9 years ago * config/alpha/alpha.h (CLZ_DEFINED_VALUE_AT_ZERO,
mpolacek [Tue, 19 Aug 2014 16:45:07 +0000 (16:45 +0000)]
* config/alpha/alpha.h (CLZ_DEFINED_VALUE_AT_ZERO,
CTZ_DEFINED_VALUE_AT_ZERO): Return 0/1 rather than bool.
* config/i386/i386.h (CLZ_DEFINED_VALUE_AT_ZERO,
CTZ_DEFINED_VALUE_AT_ZERO): Return 0/1 rather than bool.

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

9 years agoBND_TO scaffolding
dmalcolm [Tue, 19 Aug 2014 16:39:52 +0000 (16:39 +0000)]
BND_TO scaffolding

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

* sel-sched-ir.h (BND_TO): insn_t will eventually be an
rtx_insn *.  To help with transition, for now, convert from an
access macro into a pair of functions: BND_TO, returning an
rtx_insn *, and...
(SET_BND_TO): New function, for use where BND_TO is used as an
lvalue.

* sel-sched-ir.c (blist_add): Update lvalue usage of BND_TO to
SET_BND_TO.
(BND_TO): New function, adding a checked cast.
(SET_BND_TO): New function.

* sel-sched.c (move_cond_jump): Update lvalue usage of BND_TO to
SET_BND_TO.
(compute_av_set_on_boundaries): Likewise.

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

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

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

9 years agoDon't clear destination if it is used in source
hjl [Tue, 19 Aug 2014 16:26:35 +0000 (16:26 +0000)]
Don't clear destination if it is used in source

* config/i386/i386.md (*ctz<mode>2_falsedep_1): Don't clear
destination if it is used in source.
(*clz<mode>2_lzcnt_falsedep_1): Likewise.
(*popcount<mode>2_falsedep_1): Likewise.

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

9 years agoSet install_gold_as_default to no first
hjl [Tue, 19 Aug 2014 16:23:36 +0000 (16:23 +0000)]
Set install_gold_as_default to no first

PR other/62168
* configure.ac: Set install_gold_as_default to no first.
 * configure: Regenerated.

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

9 years agoBB_NOTE_LIST scaffolding
dmalcolm [Tue, 19 Aug 2014 16:00:59 +0000 (16:00 +0000)]
BB_NOTE_LIST scaffolding

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

* sel-sched-ir.h (BB_NOTE_LIST): struct sel_region_bb_info_def's
"note_list" field will eventually be an rtx_insn *.  To help with
transition, for now, convert from an access macro into a pair of
functions: BB_NOTE_LIST, returning an rtx_insn *, and...
(SET_BB_NOTE_LIST): New function, for use where BB_NOTE_LIST is
used as an lvalue.

* sel-sched.c (create_block_for_bookkeeping): Update lvalue usage
of BB_NOTE_LIST to SET_BB_NOTE_LIST.

* sel-sched-ir.c (init_bb): Likewise.
(sel_restore_notes): Likewise.
(move_bb_info): Likewise.
(BB_NOTE_LIST): New function, adding a checked cast to rtx_insn *.
(SET_BB_NOTE_LIST): New function.

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

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

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

9 years ago * lex.c (_cpp_lex_direct): Fix a typo.
mpolacek [Tue, 19 Aug 2014 15:52:02 +0000 (15:52 +0000)]
* lex.c (_cpp_lex_direct): Fix a typo.

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

9 years agoVINSN_INSN_RTX scaffolding
dmalcolm [Tue, 19 Aug 2014 15:42:24 +0000 (15:42 +0000)]
VINSN_INSN_RTX scaffolding

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

* sel-sched-ir.h (VINSN_INSN_RTX): struct vinsn_def's "insn_rtx"
field will eventually be an rtx_insn *.  To help with transition,
for now, convert from an access macro into a pair of functions:
VINSN_INSN_RTX, returning an rtx_insn *, and...
(SET_VINSN_INSN_RTX): New function, for use where VINSN_INSN_RTX
is used as an lvalue.

* sel-sched-ir.c (vinsn_init): Replace VINSN_INSN_RTX with
SET_VINSN_INSN_RTX where it's used as an lvalue.
(VINSN_INSN_RTX): New function.
(SET_VINSN_INSN_RTX): New function.

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

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

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

9 years agoDEP_PRO/DEP_CON scaffolding
dmalcolm [Tue, 19 Aug 2014 15:31:23 +0000 (15:31 +0000)]
DEP_PRO/DEP_CON scaffolding

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

* sched-int.h (DEP_PRO): struct _dep's "pro" and "con" fields will
eventually be rtx_insn *, but to help with transition, for now,
convert from an access macro into a pair of functions: DEP_PRO
returning an rtx_insn * and...
(SET_DEP_PRO): New function, for use where DEP_PRO is used as an
lvalue, returning an rtx&.
(DEP_CON): Analogous changes to DEP_PRO above.
(SET_DEP_CON): Likewise.

* haifa-sched.c (create_check_block_twin): Replace DEP_CON used as
an lvalue to SET_DEP_CON.
* sched-deps.c (init_dep_1): Likewise for DEP_PRO and DEP_CON.
(sd_copy_back_deps): Likewise for DEP_CON.
(DEP_PRO): New function, adding a checked cast for now.
(DEP_CON): Likewise.
(SET_DEP_PRO): New function.
(SET_DEP_CON): Likewise.

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

* rtx-classes-status.txt (TODO): Add SET_DEP_PRO, SET_DEP_CON.

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

9 years ago2014-08-19 Yaakov Selkowitz <yselkowi@redhat.com>
ktietz [Tue, 19 Aug 2014 15:25:12 +0000 (15:25 +0000)]
2014-08-19  Yaakov Selkowitz  <yselkowi@redhat.com>
Kai Tietz  <ktietz@redhat.com>

* config/os/mingw32-w64/os_defines.h (_GLIBCXX_THREAD_ATEXIT_WIN32):
Define.
* config/os/newlib/os_defines.h (_GLIBCXX_THREAD_ATEXIT_WIN32):
Ditto.
* libsupc++/atexit_thread.cc [_GLIBCXX_THREAD_ATEXIT_WIN32]:
#include <windows.h>.
(struct elt): Add dll member.
(run): Decrement dll refcount.
(__cxxabiv1::__cxa_thread_atexit): Increment dll refcount.

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

9 years ago2014-08-19 Yaakov Selkowitz <yselkowi@redhat.com>
ktietz [Tue, 19 Aug 2014 15:22:59 +0000 (15:22 +0000)]
2014-08-19  Yaakov Selkowitz  <yselkowi@redhat.com>

* config/i386/cygming-crtend.c (register_frame_ctor): Move atexit
call from here...
* config/i386/cygming-crtbegin.c (__gcc_register_frame): to here.
(__dso_handle): Define on Cygwin.
* config/i386/t-cygming (crtbeginS.o): New rule.
* config.host (*-*-cygwin*): Add crtbeginS.o to extra_parts.

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

9 years ago2014-08-19 Yaakov Selkowitz <yselkowi@redhat.com>
ktietz [Tue, 19 Aug 2014 15:21:22 +0000 (15:21 +0000)]
2014-08-19  Yaakov Selkowitz  <yselkowi@redhat.com>

* config.gcc (*-*-cygwin*): Use __cxa_atexit by default.
(extra_options): Add i386/cygwin.opt.
* config/i386/cygwin.h (STARTFILE_SPEC): Use crtbeginS.o if shared.
(CPP_SPEC): Accept -pthread.
(LINK_SPEC): Ditto.
(GOMP_SELF_SPECS): Update comment.
* config/i386/cygwin.opt: New file for -pthread flag.

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

9 years agoConvert DF_REF_INSN to a function for now
dmalcolm [Tue, 19 Aug 2014 15:18:42 +0000 (15:18 +0000)]
Convert DF_REF_INSN to a function for now

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

* df-core.c (DF_REF_INSN): New, using a checked cast for now.
* df.h (DF_REF_INSN): Convert from a macro to a function, so
that we can return an rtx_insn *.

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

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

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

9 years ago2014-08-19 Joost VandeVondele <vondele@gcc.gnu.org>
vondele [Tue, 19 Aug 2014 15:15:33 +0000 (15:15 +0000)]
2014-08-19  Joost VandeVondele <vondele@gcc.gnu.org>

* MAINTAINERS (Write After Approval): Add myself.

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

9 years ago2014-08-19 Yaakov Selkowitz <yselkowi@redhat.com>
ktietz [Tue, 19 Aug 2014 15:03:42 +0000 (15:03 +0000)]
2014-08-19  Yaakov Selkowitz  <yselkowi@redhat.com>

        * config/i386/cygwin.h (LINK_SPEC): Pass --tsaware flag only
        when building executables, not DLLs.  Add --large-address-aware
        under the same conditions.
        * config/i386/cygwin-w64.h (LINK_SPEC): Pass --tsaware flag only
        when building executables, not DLLs.  Add --large-address-aware
        under the same conditions when using -m32.

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

9 years ago2014-08-19 Christopher Faylor <me.gnu@cgf.cx>
cgf [Tue, 19 Aug 2014 15:00:56 +0000 (15:00 +0000)]
2014-08-19  Christopher Faylor  <me.gnu@cgf.cx>

* MAINTAINERS: Remove myself

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

9 years ago2014-08-19 Yaakov Selkowitz <yselkowi@redhat.com>
ktietz [Tue, 19 Aug 2014 14:59:19 +0000 (14:59 +0000)]
2014-08-19  Yaakov Selkowitz  <yselkowi@redhat.com>

        * config/i386/cygwin-stdint.h: Throughout, make type
        definitions dependent on target architecture, not host.

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

9 years ago2014-08-19 Yaakov Selkowitz <yselkowi@redhat.com>
ktietz [Tue, 19 Aug 2014 14:55:37 +0000 (14:55 +0000)]
2014-08-19  Yaakov Selkowitz  <yselkowi@redhat.com>

        * configure.tgt: Add cygwin to supported targets.

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

9 years ago2014-08-19 Yaakov Selkowitz <yselkowi@redhat.com>
ktietz [Tue, 19 Aug 2014 14:52:17 +0000 (14:52 +0000)]
2014-08-19  Yaakov Selkowitz  <yselkowi@redhat.com>

        * config/i386/cygming-crtbegin.c (deregister_frame_fn): Fix
        declaration syntax.

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

9 years agoReplace PREV_INSN et al macros with functions
dmalcolm [Tue, 19 Aug 2014 14:47:55 +0000 (14:47 +0000)]
Replace PREV_INSN et al macros with functions

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

* rtl.h (PREV_INSN): Convert to an inline function.  Strengthen
the return type from rtx to rtx_insn *,  which will enable various
conversions in followup patches.  For now this is is done by a
checked cast.
(NEXT_INSN): Likewise.
(SET_PREV_INSN): Convert to an inline function.  This is intended
for use as an lvalue, and so returns an rtx& to allow in-place
modification.
(SET_NEXT_INSN): Likewise.

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

9 years ago2014-08-19 Patrick Palka <ppalka@gcc.gnu.org>
ppalka [Tue, 19 Aug 2014 14:14:15 +0000 (14:14 +0000)]
2014-08-19  Patrick Palka  <ppalka@gcc.gnu.org>

PR c/45584
* c-typeck.c (build_c_cast): Do a conversion even when the
TYPE_MAIN_VARIANTs are the same.

2014-08-19  Patrick Palka  <ppalka@gcc.gnu.org>

PR c/45584
* gcc.dg/pr13519-1.c: Adjust.

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

9 years agogcc.dg/guality/const-volatile.c: Add `used' attribute to pi.
mark [Tue, 19 Aug 2014 11:56:44 +0000 (11:56 +0000)]
gcc.dg/guality/const-volatile.c: Add `used' attribute to pi.

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

9 years agoEmit DW_tag_restrict_type for restrict-qualified pointers.
mark [Tue, 19 Aug 2014 11:50:55 +0000 (11:50 +0000)]
Emit DW_tag_restrict_type for restrict-qualified pointers.

gcc/ChangeLog

PR debug/59051
* dwarf2out.c (modified_type_die): Handle TYPE_QUAL_RESTRICT.

gcc/testsuite/ChangeLog

PR debug/59051
* gcc.dg/guality/restrict.c: New test.

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

9 years ago PR c/61271
mpolacek [Tue, 19 Aug 2014 11:35:39 +0000 (11:35 +0000)]
PR c/61271
* cgraphunit.c (handle_alias_pairs): Fix condition.

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

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

* gimple-fold.c (fold_gimple_assign): Properly build a
null-pointer constant when devirtualizing addresses.

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

9 years agodwarf2out.c: Pass one cv_quals argument instead of two for const and volatile.
mark [Tue, 19 Aug 2014 11:00:37 +0000 (11:00 +0000)]
dwarf2out.c: Pass one cv_quals argument instead of two for const and volatile.

modified_type_die and add_type_attribute take two separate arguments
for whether the type should be const and/or volatile. To help add
more type modifiers pass the requested modifiers as one cv_quals argument
to these functions. And introduce helper function decl_quals to extract
additional cv_quals from declaration trees.

DWARFv3 added restrict_type [PR debug/59051] and DWARFv5 has proposals
for atomic_type and aligned_type. Which will be easier to implement based
on this change.

gcc/ChangeLog

* dwarf2out.c (decl_quals): New function.
(modified_type_die): Take one cv_quals argument instead of two,
one for const and one for volatile.
(add_type_attribute): Likewise.
(generic_parameter_die): Call add_type_attribute with one modifier
argument.
(base_type_for_mode): Likewise.
(add_bounds_info): Likewise.
(add_subscript_info): Likewise.
(gen_array_type_die): Likewise.
(gen_descr_array_type_die): Likewise.
(gen_entry_point_die): Likewise.
(gen_enumeration_type_die): Likewise.
(gen_formal_parameter_die): Likewise.
(gen_subprogram_die): Likewise.
(gen_variable_die): Likewise.
(gen_const_die): Likewise.
(gen_field_die): Likewise.
(gen_pointer_type_die): Likewise.
(gen_reference_type_die): Likewise.
(gen_ptr_to_mbr_type_die): Likewise.
(gen_inheritance_die): Likewise.
(gen_subroutine_type_die): Likewise.
(gen_typedef_die): Likewise.
(force_type_die): Likewise.

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

9 years agoAdd guality [p]type test.
mark [Tue, 19 Aug 2014 10:30:07 +0000 (10:30 +0000)]
Add guality [p]type test.

Add a new type:var variant to the guality.exp testsuite to check that
gdb gets the correct type for a variable or function. To use it in a
guality test add something like:

/* { dg-final { gdb-test 50 "type:main" "int (int, char **)" } } */

Which will put a breakpoint at line 50 and check that the type of "main"
equals "int (int, char **)" according to gdb. The test harness will make
sure to squash all extra whitespace/newlines that gdb might use to make
comparisons of large structs easy.

gcc/testsuite/ChangeLog

* lib/gcc-gdb-test.exp (gdb-test): Handle type:var for gdb ptype
matching. Catch '<unknown type in ' to recognize older gdb versions.
* gcc.dg/guality/const-volatile.c: New test.

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

9 years agoXFAIL g++.dg/debug/dwarf2/nested-4.C on Solaris with Sun as
ro [Tue, 19 Aug 2014 10:13:34 +0000 (10:13 +0000)]
XFAIL g++.dg/debug/dwarf2/nested-4.C on Solaris with Sun as

* g++.dg/debug/dwarf2/nested-4.C: XFAIL on *-*-solaris2.1[1-9]* &&
!gas.

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

9 years agoRestore Sun as COMDAT group support
ro [Tue, 19 Aug 2014 10:13:24 +0000 (10:13 +0000)]
Restore Sun as COMDAT group support

* configure.ac (gcc_cv_as_comdat_group_group): Only default to no
if unset.
* configure: Regenerate.

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

9 years ago2014-08-19 Richard Biener <rguenther@suse.de>
rguenth [Tue, 19 Aug 2014 07:57:44 +0000 (07:57 +0000)]
2014-08-19  Richard Biener  <rguenther@suse.de>

* lto-streamer-out.c (DFS::DFS_write_tree_body): Stream
DECL_EXTERNALs in BLOCKs as non-references.
* tree-streamer-out.c (streamer_write_chain): Likewise.

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

9 years agogcc/
kyukhin [Tue, 19 Aug 2014 07:32:22 +0000 (07:32 +0000)]
gcc/
* config/i386/sse.md
(define_mode_iterator VI48_AVX512F): Delete.
(define_mode_iterator VI48_AVX512F_AVX512VL): New.
(define_mode_iterator VI2_AVX512VL): Ditto.
(define_insn "<mask_codefor>avx512f_ufix_notruncv16sfv16si<mask_name><round_name>"):
Delete.
(define_insn
("<mask_codefor><avx512>_ufix_notrunc<sf2simodelower><mode><mask_name><round_name>"):
New.
(define_insn "avx512cd_maskw_vec_dup<mode>"): Macroize.
(define_insn "<avx2_avx512f>_ashrv<mode><mask_name>"): Delete.
(define_insn "<avx2_avx512bw>_ashrv<mode><mask_name>",
with VI48_AVX512F_AVX512VL): New.
(define_insn "<avx2_avx512bw>_ashrv<mode><mask_name>",
with VI2_AVX512VL): Ditto.

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

9 years ago * doc/invoke.texi: Document -Wc99-c11-compat.
mpolacek [Tue, 19 Aug 2014 06:04:38 +0000 (06:04 +0000)]
* doc/invoke.texi: Document -Wc99-c11-compat.
c-family/
* c.opt (Wc99-c11-compat): New option.
c/
* c-decl.c (diagnose_mismatched_decls): Unconditionally call
pedwarn_c99 instead of pedwarn.
(grokfield): Likewise.
(warn_defaults_to): New function.
(grokdeclarator): Call warn_defaults_to instead of pedwarn_c99.
Unconditionally call pedwarn_c99 instead of pedwarn.
(start_function): Call warn_defaults_to instead of pedwarn_c99.
(declspecs_add_scspec): Call pedwarn_c99 instead of pedwarn, don't
check flag_isoc11 before.
* c-errors.c (pedwarn_c99): Change the return type to bool.
Handle -Wc99-c11-compat.
* c-parser.c (disable_extension_diagnostics): Handle
warn_c99_c11_compat.
(restore_extension_diagnostics): Likewise.
(c_parser_static_assert_declaration_no_semi): Call pedwarn_c99
instead of pedwarn, don't check flag_isoc11 before.
(c_parser_declspecs): Likewise.
(c_parser_alignas_specifier): Likewise.
(c_parser_alignof_expression): Likewise.
(c_parser_generic_selection): Likewise.
* c-tree.h (pedwarn_c99): Update declaration.
* c-typeck.c (c_finish_return): Call pedwarn or warning_at instead
of pedwarn_c99.
testsuite/
* gcc.dg/Wc99-c11-compat-1.c: New test.
* gcc.dg/Wc99-c11-compat-2.c: New test.
* gcc.dg/Wc99-c11-compat-3.c: New test.
* gcc.dg/Wc99-c11-compat-4.c: New test.
* gcc.dg/Wc99-c11-compat-5.c: New test.
* gcc.dg/Wc99-c11-compat-6.c: New test.
* gcc.dg/Wc99-c11-compat-7.c: New test.

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

9 years agoAdd forgotten test.
mpolacek [Tue, 19 Aug 2014 05:39:40 +0000 (05:39 +0000)]
Add forgotten test.

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

9 years agogcc/c-family/
mpolacek [Tue, 19 Aug 2014 05:34:31 +0000 (05:34 +0000)]
gcc/c-family/
* c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
to warn_c90_c99_compat.
* c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
to -1.
gcc/c/
* c-decl.c (warn_variable_length_array): Pass OPT_Wvla unconditionally
to pedwarn_c90.
* c-errors.c: Include "opts.h".
(pedwarn_c90): Rewrite to handle -Wno-c90-c99-compat better.
* c-parser.c (disable_extension_diagnostics): Handle negative value
of warn_c90_c99_compat, too.
(restore_extension_diagnostics): Likewise.
(c_parser_compound_statement_nostart): Pass
OPT_Wdeclaration_after_statement unconditionally to pedwarn_c90.
gcc/testsuite/
* gcc.dg/Wc90-c99-compat-4.c: Remove all dg-warnings.
* gcc.dg/Wc90-c99-compat-5.c: Remove all dg-errors.
* gcc.dg/Wc90-c99-compat-7.c: New test.
* gcc.dg/Wc90-c99-compat-8.c: New test.
* gcc.dg/Wdeclaration-after-statement-4.c: New test.
libcpp/
* charset.c (_cpp_valid_ucn): Warn only if -Wc90-c99-compat.
* lex.c (_cpp_lex_direct): Likewise.
* macro.c (replace_args): Likewise.
(parse_params): Likewise.
* include/cpplib.h (cpp_options): Change cpp_warn_c90_c99_compat
to char.

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

9 years ago * class.c (contains_empty_class_p): Remove.
gerald [Tue, 19 Aug 2014 05:13:38 +0000 (05:13 +0000)]
* class.c (contains_empty_class_p): Remove.

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

9 years agogcc/c-family/ChangeLog:
manu [Tue, 19 Aug 2014 02:02:09 +0000 (02:02 +0000)]
gcc/c-family/ChangeLog:

2014-08-19  Manuel López-Ibáñez  <manu@gcc.gnu.org>
    Steven Bosscher  <steven@gcc.gnu.org>

PR c/52952
* c-format.c: Add extra_arg_loc and format_string_loc to struct
format_check_results.
(check_function_format): Use true and add comment for boolean
argument.
(finish_dollar_format_checking): Use explicit location when warning.
(check_format_info): Likewise.
(check_format_arg): Set extra_arg_loc and format_string_loc.
(check_format_info_main): Use explicit location when warning.
(check_format_types): Pass explicit location.
(format_type_warning): Likewise.

gcc/testsuite/ChangeLog:

2014-08-19  Manuel López-Ibáñez  <manu@gcc.gnu.org>
    Steven Bosscher  <steven@gcc.gnu.org>

PR c/52952
* gcc.dg/redecl-4.c: Add column markers.
* gcc.dg/format/bitfld-1.c: Likewise.
* gcc.dg/format/attr-2.c: Likewise.
* gcc.dg/format/attr-6.c: Likewise.
* gcc.dg/format/array-1.c: Likewise.
* gcc.dg/format/attr-7.c: Likewise.
* gcc.dg/format/asm_fprintf-1.c: Likewise.
* gcc.dg/format/attr-4.c: Likewise.
* gcc.dg/format/branch-1.c: Likewise.
* gcc.dg/format/c90-printf-1.c: Likewise.

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

9 years agoSplit NEXT_INSN/PREV_INSN into lvalue and rvalue forms
dmalcolm [Tue, 19 Aug 2014 00:54:22 +0000 (00:54 +0000)]
Split NEXT_INSN/PREV_INSN into lvalue and rvalue forms

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

* rtx-classes-status.txt: Add SET_NEXT_INSN, SET_PREV_INSN.

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

* rtl.h (PREV_INSN): Split macro in two: the existing one,
for rvalues, and...
(SET_PREV_INSN): New macro, for use as an lvalue.
(NEXT_INSN, SET_NEXT_INSN): Likewise.

* caller-save.c (save_call_clobbered_regs): Convert lvalue use of
PREV_INSN/NEXT_INSN into SET_PREV_INSN/SET_NEXT_INSN.
* cfgrtl.c (try_redirect_by_replacing_jump): Likewise.
(fixup_abnormal_edges): Likewise.
(unlink_insn_chain): Likewise.
(fixup_reorder_chain): Likewise.
(cfg_layout_delete_block): Likewise.
(cfg_layout_merge_blocks): Likewise.
* combine.c (update_cfg_for_uncondjump): Likewise.
* emit-rtl.c (link_insn_into_chain): Likewise.
(remove_insn): Likewise.
(delete_insns_since): Likewise.
(reorder_insns_nobb): Likewise.
(emit_insn_after_1): Likewise.
* final.c (rest_of_clean_state): Likewise.
(final_scan_insn): Likewise.
* gcse.c (can_assign_to_reg_without_clobbers_p): Likewise.
* haifa-sched.c (concat_note_lists): Likewise.
(remove_notes): Likewise.
(restore_other_notes): Likewise.
(move_insn): Likewise.
(unlink_bb_notes): Likewise.
(restore_bb_notes): Likewise.
* jump.c (delete_for_peephole): Likewise.
* optabs.c (emit_libcall_block_1): Likewise.
* reorg.c (emit_delay_sequence): Likewise.
(fill_simple_delay_slots): Likewise.
* sel-sched-ir.c (sel_move_insn): Likewise.
(sel_remove_insn): Likewise.
(get_bb_note_from_pool): Likewise.
* sel-sched.c (move_nop_to_previous_block): Likewise.

* config/bfin/bfin.c (reorder_var_tracking_notes): Likewise.
* config/c6x/c6x.c (gen_one_bundle): Likewise.
(c6x_gen_bundles): Likewise.
(hwloop_optimize): Likewise.
* config/frv/frv.c (frv_function_prologue): Likewise.
(frv_register_nop): Likewise.
* config/ia64/ia64.c (ia64_init_dfa_pre_cycle_insn): Likewise.
(ia64_reorg): Likewise.
* config/mep/mep.c (mep_reorg_addcombine): Likewise.
(mep_make_bundle): Likewise.
(mep_bundle_insns): Likewise.
* config/picochip/picochip.c (reorder_var_tracking_notes): Likewise.
* config/tilegx/tilegx.c (reorder_var_tracking_notes): Likewise.
* config/tilepro/tilepro.c (reorder_var_tracking_notes): Likewise.

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

9 years ago2014-08-18 Patrick Palka <ppalka@gcc.gnu.org>
ppalka [Tue, 19 Aug 2014 00:45:38 +0000 (00:45 +0000)]
2014-08-18  Patrick Palka  <ppalka@gcc.gnu.org>

* MAINTAINERS (Write After Approval): Add myself.

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

9 years agoReplace BB_HEAD et al macros with functions
dmalcolm [Tue, 19 Aug 2014 00:26:56 +0000 (00:26 +0000)]
Replace BB_HEAD et al macros with functions

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

* basic-block.h (BB_HEAD): Convert to a function.  Strengthen the
return type from rtx to rtx_insn *.
(BB_END): Likewise.
(BB_HEADER): Likewise.
(BB_FOOTER): Likewise.
(SET_BB_HEAD): Convert to a function.
(SET_BB_END): Likewise.
(SET_BB_HEADER): Likewise.
(SET_BB_FOOTER): Likewise.

* cfgrtl.c (BB_HEAD): New function, from macro of same name.
Strengthen the return type from rtx to rtx_insn *.  For now, this
is done by adding a checked cast, but this will eventually
become a field lookup.
(BB_END): Likewise.
(BB_HEADER): Likewise.
(BB_FOOTER): Likewise.
(SET_BB_HEAD): New function, from macro of same name.  This is
intended for use as an lvalue, and so returns an rtx& to allow
in-place modification.
(SET_BB_END): Likewise.
(SET_BB_HEADER): Likewise.
(SET_BB_FOOTER): Likewise.

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

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

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

9 years ago2014-08-18 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Mon, 18 Aug 2014 22:26:03 +0000 (22:26 +0000)]
2014-08-18  Paolo Carlini  <paolo.carlini@oracle.com>

* parser.c (cp_parser_expression): Add default arguments.
(cp_parser_primary_expression, cp_parser_postfix_expression,
cp_parser_array_notation, cp_parser_postfix_open_square_expression,
cp_parser_unary_expression, cp_parser_direct_new_declarator,
cp_parser_question_colon_clause, cp_parser_assignment_operator_opt,
cp_parser_lambda_body, cp_parser_expression_statement,
cp_parser_condition, cp_parser_c_for, cp_parser_range_for,
cp_parser_iteration_statement, cp_parser_jump_statement,
cp_parser_decltype_expr, cp_parser_noexcept_specification_opt,
cp_parser_asm_operand_list, cp_parser_objc_message_receiver,
cp_parser_objc_synchronized_statement, cp_parser_objc_throw_statement,
cp_parser_omp_var_list_no_open, cp_parser_omp_clause_num_threads,
cp_parser_omp_clause_num_teams, cp_parser_omp_clause_thread_limit,
cp_parser_omp_clause_linear, cp_parser_omp_clause_device,
cp_parser_omp_atomic, cp_parser_omp_for_loop_init,
cp_parser_omp_for_loop, cp_parser_omp_declare_reduction_exprs,
cp_parser_transaction_expression): Adjust.

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

9 years agoSplit BB_HEAD et al into BB_HEAD/SET_BB_HEAD variants
dmalcolm [Mon, 18 Aug 2014 20:48:17 +0000 (20:48 +0000)]
Split BB_HEAD et al into BB_HEAD/SET_BB_HEAD variants

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

* basic-block.h (BB_HEAD): Split macro in two: the existing one,
for rvalues, and...
(SET_BB_HEAD): New macro, for use as a lvalue.
(BB_END, SET_BB_END): Likewise.
(BB_HEADER, SET_BB_HEADER): Likewise.
(BB_FOOTER, SET_BB_FOOTER): Likewise.

* bb-reorder.c (add_labels_and_missing_jumps): Convert lvalue use
of BB_* macros into SET_BB_* macros.
(fix_crossing_unconditional_branches): Likewise.
* caller-save.c (save_call_clobbered_regs): Likewise.
(insert_one_insn): Likewise.
* cfgbuild.c (find_bb_boundaries): Likewise.
* cfgcleanup.c (merge_blocks_move_successor_nojumps): Likewise.
(outgoing_edges_match): Likewise.
(try_optimize_cfg): Likewise.
* cfgexpand.c (expand_gimple_cond): Likewise.
(expand_gimple_tailcall): Likewise.
(expand_gimple_basic_block): Likewise.
(construct_exit_block): Likewise.
* cfgrtl.c (delete_insn): Likewise.
(create_basic_block_structure): Likewise.
(rtl_delete_block): Likewise.
(rtl_split_block): Likewise.
(emit_nop_for_unique_locus_between): Likewise.
(rtl_merge_blocks): Likewise.
(block_label): Likewise.
(try_redirect_by_replacing_jump): Likewise.
(emit_barrier_after_bb): Likewise.
(fixup_abnormal_edges): Likewise.
(record_effective_endpoints): Likewise.
(relink_block_chain): Likewise.
(fixup_reorder_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.
* combine.c (update_cfg_for_uncondjump): Likewise.
* emit-rtl.c (add_insn_after): Likewise.
(remove_insn): Likewise.
(reorder_insns): Likewise.
(emit_insn_after_1): Likewise.
* haifa-sched.c (get_ebb_head_tail): Likewise.
(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): Likewise.
* reg-stack.c (change_stack): Likewise.
* sel-sched-ir.c (sel_move_insn): Likewise.
* sel-sched.c (move_nop_to_previous_block): Likewise.

* config/c6x/c6x.c (hwloop_optimize): Likewise.
* config/ia64/ia64.c (emit_predicate_relation_info): Likewise.

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

* rtx-classes-status.txt (TODO): Add SET_BB_HEAD, SET_BB_END,
SET_BB_HEADER, SET_BB_FOOTER

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

9 years agoFix whitespace in ChangeLog entry
dmalcolm [Mon, 18 Aug 2014 20:32:36 +0000 (20:32 +0000)]
Fix whitespace in ChangeLog entry

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

9 years agoNew function: for_each_rtx_in_insn
dmalcolm [Mon, 18 Aug 2014 20:25:45 +0000 (20:25 +0000)]
New function: for_each_rtx_in_insn

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

* rtl.h (for_each_rtx_in_insn): New function.
* rtlanal.c (for_each_rtx_in_insn): Likewise.

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

9 years agoIntroduce rtx_insn subclass of rtx_def
dmalcolm [Mon, 18 Aug 2014 20:02:17 +0000 (20:02 +0000)]
Introduce rtx_insn subclass of rtx_def

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

* coretypes.h (class rtx_insn): Add forward declaration.

* rtl.h: Include is-a.h.
(struct rtx_def): Add dummy "desc" and "tag" GTY options as a
workaround to ensure gengtype knows inheritance is occurring,
whilst continuing to use the pre-existing special-casing for
rtx_def.
(class rtx_insn): New subclass of rtx_def, adding the
invariant that we're dealing with something we can sanely use
INSN_UID, NEXT_INSN, PREV_INSN on.
(is_a_helper <rtx_insn *>::test): New.
(is_a_helper <const rtx_insn *>::test): New.

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

9 years agoIntroduce safe_as_a
dmalcolm [Mon, 18 Aug 2014 19:50:38 +0000 (19:50 +0000)]
Introduce safe_as_a

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

* is-a.h (template<T, U> safe_as_a <U *p>) New function.

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

9 years agoAdd rtx-classes-status.txt
dmalcolm [Mon, 18 Aug 2014 19:37:45 +0000 (19:37 +0000)]
Add rtx-classes-status.txt

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

        * rtx-classes-status.txt: New file

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

9 years ago * ipa-visibility.c (update_visibility_by_resolution_info): Do no turn UNDEF
hubicka [Mon, 18 Aug 2014 19:21:58 +0000 (19:21 +0000)]
* ipa-visibility.c (update_visibility_by_resolution_info): Do no turn UNDEF
comdats as extern.

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

9 years ago * gimple-fold.c (fold_gimple_assign): Do not intorudce referneces
hubicka [Mon, 18 Aug 2014 19:21:12 +0000 (19:21 +0000)]
* gimple-fold.c (fold_gimple_assign): Do not intorudce referneces
to BUILT_IN_UNREACHABLE.

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

9 years ago PR target/62011
uros [Mon, 18 Aug 2014 18:00:52 +0000 (18:00 +0000)]
PR target/62011
* config/i386/x86-tune.def (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI):
New tune flag.
* config/i386/i386.h (TARGET_AVOID_FALSE_DEP_FOR_BMI): New define.
* config/i386/i386.md (unspec) <UNSPEC_INSN_FALSE_DEP>: New unspec.
(ffs<mode>2): Do not expand with tzcnt for
TARGET_AVOID_FALSE_DEP_FOR_BMI.
(ffssi2_no_cmove): Ditto.
(*tzcnt<mode>_1): Disable for TARGET_AVOID_FALSE_DEP_FOR_BMI.
(ctz<mode>2): New expander.
(*ctz<mode>2_falsedep_1): New insn_and_split pattern.
(*ctz<mode>2_falsedep): New insn.
(*ctz<mode>2): Rename from ctz<mode>2.
(clz<mode>2_lzcnt): New expander.
(*clz<mode>2_lzcnt_falsedep_1): New insn_and_split pattern.
(*clz<mode>2_lzcnt_falsedep): New insn.
(*clz<mode>2): Rename from ctz<mode>2.
(popcount<mode>2): New expander.
(*popcount<mode>2_falsedep_1): New insn_and_split pattern.
(*popcount<mode>2_falsedep): New insn.
(*popcount<mode>2): Rename from ctz<mode>2.
(*popcount<mode>2_cmp): Remove.
(*popcountsi2_cmp_zext): Ditto.

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

9 years ago * guality/nrv-1.c: Add `used' attribute to a1.
aldyh [Mon, 18 Aug 2014 17:38:50 +0000 (17:38 +0000)]
* guality/nrv-1.c: Add `used' attribute to a1.

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

9 years agoAdd Init_priority support.
eager [Mon, 18 Aug 2014 17:04:41 +0000 (17:04 +0000)]
Add Init_priority support.

Added TARGET_ASM_CONSTRUCTOR and TARGET_ASM_DESTRUCTOR macros. These
macros allows users to control the order of initialization of objects
defined at namespace scope with the init_priority attribute by
specifying a relative priority.

ChangeLog:
2014-07-28  Ajit Agarwal  <ajitkum@xilinx.com>

* config/microblaze/microblaze.c (microblaze_elf_asm_cdtor): New.
(microblaze_elf_asm_constructor,microblaze_elf_asm_destructor): New.
* config/microblaze/microblaze.h
(TARGET_ASM_CONSTRUCTOR,TARGET_ASM_DESTRUCTOR): New Macros.

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

9 years agoSet install_gold_as_default to no for --enable-gold=no
hjl [Mon, 18 Aug 2014 15:49:16 +0000 (15:49 +0000)]
Set install_gold_as_default to no for --enable-gold=no

PR other/62168
* configure.ac: Set install_gold_as_default to no for
 --enable-gold=no.
 * configure: Regenerated.

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

9 years ago * configure.ac: Eliminate ClooG installation dependency.
romangareev [Mon, 18 Aug 2014 15:42:11 +0000 (15:42 +0000)]
* configure.ac: Eliminate ClooG installation dependency.
* configure: Regenerate.
* Makefile.tpl: Add definition of ISLLIBS and HOST_ISLLIBS.
* Makefile.in: Regenerate.

[config/]

* cloog.m4: Remove the path to isllibs from clooglibs.
* isl.m4: Add paths to islinc, isllibs.

[gcc/]

* Makefile.in: Add definition of ISLLIBS, HOST_ISLLIBS.
* config.in: Add undef of HAVE_isl.
* configure: Regenerate.
* configure.ac: Add definition of HAVE_isl.
* graphite-blocking.c: Add checking of HAVE_isl.
* graphite-dependences.c: Likewise.
* graphite-interchange.c: Likewise.
* graphite-isl-ast-to-gimple.c: Likewise.
* graphite-optimize-isl.c: Likewise.
* graphite-poly.c: Likewise.
* graphite-scop-detection.c: Likewise.
* graphite-sese-to-poly.c: Likewise.
* graphite.c: Likewise.
* toplev.c: Replace the checking of HAVE_cloog with the checking
of HAVE_isl.

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

9 years ago2014-08-18 Richard Biener <rguenther@suse.de>
rguenth [Mon, 18 Aug 2014 14:51:04 +0000 (14:51 +0000)]
2014-08-18  Richard Biener  <rguenther@suse.de>

PR tree-optimization/62090
* builtins.c (fold_builtin_snprintf): Move to gimple-fold.c.
(fold_builtin_3): Do not fold snprintf.
(fold_builtin_4): Likewise.
* gimple-fold.c (gimple_fold_builtin_snprintf): New function
moved from builtins.c.
(gimple_fold_builtin_with_strlen): Fold snprintf and sprintf.
(gimple_fold_builtin): Do not fold sprintf here.

* gcc.dg/pr62090-2.c: New testcase.

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

9 years ago2014-08-18 Richard Biener <rguenther@suse.de>
rguenth [Mon, 18 Aug 2014 14:30:30 +0000 (14:30 +0000)]
2014-08-18  Richard Biener  <rguenther@suse.de>

* gimple-fold.c (maybe_fold_reference): Move re-gimplification
code to ...
(maybe_canonicalize_mem_ref_addr): ... this function.
(fold_stmt_1): Apply it here before all simplification.

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

9 years agoPR ipa/61800
kyukhin [Mon, 18 Aug 2014 13:26:06 +0000 (13:26 +0000)]
PR ipa/61800

gcc/
* cgraph.h (cgraph_node::create_indirect_edge): Add
compute_indirect_info param.
* cgraph.c (cgraph_node::create_indirect_edge): Compute
indirect_info only when it is required.
* cgraphclones.c (cgraph_clone_edge): Do not recompute
indirect_info fore cloned indirect edge.

gcc/testsuite/
* g++.dg/ipa/pr61800.C: New.

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

9 years agogcc/
kyukhin [Mon, 18 Aug 2014 11:07:27 +0000 (11:07 +0000)]
gcc/
* config/i386/sse.md
(define_mode_iterator VI8_AVX2_AVX512BW): New.
(define_insn "<sse2_avx2>_psadbw"): Add evex version.

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

9 years agogcc/
kyukhin [Mon, 18 Aug 2014 11:04:38 +0000 (11:04 +0000)]
gcc/
* config/i386/sse.md
(define_mode_iterator VF1_AVX512VL): New.
(define_insn "ufloatv16siv16sf2<mask_name><round_name>"): Delete.
(define_insn "ufloat<sseintvecmodelower><mode>2<mask_name><round_name>"):
New.

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

9 years agogcc/
kyukhin [Mon, 18 Aug 2014 11:02:31 +0000 (11:02 +0000)]
gcc/
* config/i386/i386.c: Rename ufloatv8siv8df_mask to ufloatv8siv8df2_mask.
* config/i386/i386.md
(define_code_iterator any_float): New.
(define_code_attr floatsuffix): New.
* config/i386/sse.md
(define_mode_iterator VF1_128_256VL): New.
(define_mode_iterator VF2_512_256VL): New.
(define_insn "float<si2dfmodelower><mode>2<mask_name>"): Remove unnecessary
TARGET check.
(define_insn "ufloatv8siv8df<mask_name>"): Delete.
(define_insn "<floatsuffix>float<sseintvecmodelower><mode>2<mask_name><round_name>"):
New.
(define_mode_attr qq2pssuff): New.
(define_mode_attr sselongvecmode): New.
(define_mode_attr sselongvecmodelower): New.
(define_mode_attr sseintvecmode3): New.
(define_insn "<floatsuffix>float<sselongvecmodelower><mode>2<mask_name><round_name>"):
New.
(define_insn "*<floatsuffix>floatv2div2sf2"): New.
(define_insn "<floatsuffix>floatv2div2sf2_mask"): New.
(define_insn "ufloat<si2dfmodelower><mode>2<mask_name>"): New.
(define_insn "ufloatv2siv2df2<mask_name>"): New.

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

9 years agogcc/
kyukhin [Mon, 18 Aug 2014 10:59:46 +0000 (10:59 +0000)]
gcc/
* config/i386/sse.md
(define_mode_iterator VF2_AVX512VL): New.
(define_mode_attr sseintvecmode2): New.
(define_insn "ufix_truncv2dfv2si2<mask_name>"): Add masking.
(define_insn "fix_truncv4dfv4si2<mask_name>"): New.
(define_insn "ufix_truncv4dfv4si2<mask_name>"): Ditto.
(define_insn
"<fixsuffix>fix_trunc<mode><sseintvecmodelower>2<mask_name><round_saeonly_name>"):
Ditto.
(define_insn "fix_notrunc<mode><sseintvecmodelower>2<mask_name><round_name>"):
Ditto.
(define_insn "ufix_notrunc<mode><sseintvecmodelower>2<mask_name><round_name>"):
Ditto.

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

9 years agogcc/
kyukhin [Mon, 18 Aug 2014 10:50:35 +0000 (10:50 +0000)]
gcc/
* config/i386/i386.md
(define_insn "*movoi_internal_avx"): Add evex version.
(define_insn "*movti_internal"): Ditto.

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

9 years agogcc/
kyukhin [Mon, 18 Aug 2014 10:47:48 +0000 (10:47 +0000)]
gcc/
* config/i386/i386.md
(define_attr "isa"): Add avx512dq, noavx512dq.
(define_attr "enabled"): Ditto.
* config/i386/sse.md
(define_insn "vec_extract_hi_<mode><mask_name>"): Support masking.

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

9 years agogcc/
kyukhin [Mon, 18 Aug 2014 10:45:23 +0000 (10:45 +0000)]
gcc/
* config/i386/i386.c
(ix86_expand_special_args_builtin): Handle avx512vl_storev8sf_mask,
avx512vl_storev8si_mask, avx512vl_storev4df_mask, avx512vl_storev4di_mask,
avx512vl_storev4sf_mask, avx512vl_storev4si_mask, avx512vl_storev2df_mask,
avx512vl_storev2di_mask, avx512vl_loadv8sf_mask, avx512vl_loadv8si_mask,
avx512vl_loadv4df_mask, avx512vl_loadv4di_mask, avx512vl_loadv4sf_mask,
avx512vl_loadv4si_mask, avx512vl_loadv2df_mask, avx512vl_loadv2di_mask,
avx512bw_loadv64qi_mask, avx512vl_loadv32qi_mask, avx512vl_loadv16qi_mask,
avx512bw_loadv32hi_mask, avx512vl_loadv16hi_mask, avx512vl_loadv8hi_mask.
* config/i386/i386.md (define_mode_attr ssemodesuffix): Allow V32HI mode.
* config/i386/sse.md
(define_mode_iterator VMOVE): Allow V4TI mode.
(define_mode_iterator V_AVX512VL): New.
(define_mode_iterator V): New handling for AVX512VL.
(define_insn "avx512f_load<mode>_mask"): Delete.
(define_insn "<avx512>_load<mode>_mask"): New.
(define_insn "avx512f_store<mode>_mask"): Delete.
(define_insn "<avx512>_store<mode>_mask"): New.

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

9 years ago2014-08-18 Yury Gribov <y.gribov@samsung.com>
ygribov [Mon, 18 Aug 2014 08:23:47 +0000 (08:23 +0000)]
2014-08-18  Yury Gribov  <y.gribov@samsung.com>

PR sanitizer/62089

gcc/
* asan.c (instrument_derefs): Fix bitfield check.

gcc/testsuite/
* c-c++-common/asan/pr62089.c: New test.
* c-c++-common/asan/bitfield-1.c: New test.
* c-c++-common/asan/bitfield-2.c: New test.
* c-c++-common/asan/bitfield-3.c: New test.
* c-c++-common/asan/bitfield-4.c: New test.

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

9 years agogcc/testsuite
kugan [Mon, 18 Aug 2014 06:28:35 +0000 (06:28 +0000)]
gcc/testsuite
2014-08-18  Kugan Vivekanandarajah  <kuganv@linaro.org>

PR tree-optimization/52904
* gcc.dg/pr52904.c: New test.

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

9 years agoDaily bump.
gccadmin [Mon, 18 Aug 2014 00:17:39 +0000 (00:17 +0000)]
Daily bump.

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

9 years ago2014-08-17 Segher Boessenkool <segher@kernel.crashing.org>
segher [Sun, 17 Aug 2014 23:39:53 +0000 (23:39 +0000)]
2014-08-17  Segher Boessenkool  <segher@kernel.crashing.org>

* config/rs6000/constraints.md ("S"): Require TARGET_POWERPC64.
* config/rs6000/htm.md (ttest): Remove clobber.
* config/rs6000/predicates.md (any_mask_operand): New predicate.
(and_operand): Reformat.
(and_2rld_operand): New predicate.
* config/rs6000/rs6000-protos.h (rs6000_split_logical): Remove last
parameter.
* config/rs6000/rs6000.c (rs6000_split_logical_inner): Remove last
parameter.  Handle AND directly.
(rs6000_split_logical_di): Remove last parameter.
(rs6000_split_logical): Remove last parameter.  Remove obsolete
comment.
* config/rs6000/rs6000.md (BOOL_REGS_AND_CR0): Delete.
(one_cmpl<mode>2): Adjust call of rs6000_split_logical.
(ctz<mode>2, ffs<mode>2): Delete clobber.  Reformat.
(andsi3, andsi3_mc, andsi3_nomc, *andsi3_internal2_mc,
*andsi3_internal3_mc, *andsi3_internal4, *andsi3_internal5_mc,
and 5 anonymous splitters):  Delete.
(and<mode>3): New expander.
(*and<mode>3, *and<mode>3_dot, *and<mode>3_dot2): New.
(and<mode>3_imm, *and<mode>3_imm_dot, *and<mode>3_imm_dot2): New.
(*and<mode>3_mask, *and<mode>3_mask_dot, *and<mode>3_mask_dot2): New.
(ior<mode>, xor<mode>3): Adjust call of rs6000_split_logical.
(floatdisf2_internal1): Remove clobbers.
(anddi3, anddi3_mc, anddi3_nomc, anddi3_internal2_mc,
*anddi3_internal3_mc, and 4 anonymous splitters): Delete.
(*anddi3_2rld, *anddi3_2rld_dot, *anddi3_2rld_dot2): New.
(and<mode>3 for BOOL_128): Remove clobber.
(*and<mode>3_internal for BOOL_128): Remove clobber.  Adjust call of
rs6000_split_logical.
(*bool<mode>3_internal for BOOL_128): Adjust call of
rs6000_split_logical.
(*boolc<mode>3_internal1 for BOOL_128,
*boolc<mode>3_internal2 for BOOL_128,
*boolcc<mode>3_internal1 for BOOL_128,
*boolcc<mode>3_internal2 for BOOL_128,
*eqv<mode>3_internal1 for BOOL_128,
*eqv<mode>3_internal2 for BOOL_128,
*one_cmpl<mode>3_internal for BOOL_128): Ditto.
* config/rs6000/vector.md (*vec_reload_and_plus_<mptrsize): Remove
clobber.
(*vec_reload_and_reg_<mptrsize>): Delete.

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

9 years ago2014-08-17 Segher Boessenkool <segher@kernel.crashing.org>
segher [Sun, 17 Aug 2014 23:38:16 +0000 (23:38 +0000)]
2014-08-17  Segher Boessenkool  <segher@kernel.crashing.org>

* config/rs6000/rs6000.md (*boolccsi3_internal1, *boolccsi3_internal2
and split, *boolccsi3_internal3 and split): Delete.
(*boolccdi3_internal1, *boolccdi3_internal2 and split,
*boolccdi3_internal3 and split): Delete.
(*boolcc<mode>3, *boolcc<mode>3_dot, *boolcc<mode>3_dot2): New.
(*eqv<mode>3): Move.  Add TODO comment.  Fix attributes.

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

9 years ago2014-08-17 Segher Boessenkool <segher@kernel.crashing.org>
segher [Sun, 17 Aug 2014 23:36:53 +0000 (23:36 +0000)]
2014-08-17  Segher Boessenkool  <segher@kernel.crashing.org>

* config/rs6000/rs6000.md (*boolcsi3_internal1, *boolcsi3_internal2
and split, *boolcsi3_internal3 and split): Delete.
(*boolcdi3_internal1, *boolcdi3_internal2 and split,
*boolcdi3_internal3 and split): Delete.
(*boolc<mode>3, *boolc<mode>3_dot, *boolc<mode>3_dot2): New.

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

9 years ago2014-08-17 Segher Boessenkool <segher@kernel.crashing.org>
segher [Sun, 17 Aug 2014 23:35:30 +0000 (23:35 +0000)]
2014-08-17  Segher Boessenkool  <segher@kernel.crashing.org>

* config/rs6000/rs6000.c (print_operand) <'e'>: New.
<'u'>: Also support printing the low-order 16 bits.
* config/rs6000/rs6000.md (iorsi3, xorsi3, *boolsi3_internal1,
*boolsi3_internal2 and split, *boolsi3_internal3 and split): Delete.
(iordi3, xordi3, *booldi3_internal1, *booldi3_internal2 and split,
*booldi3_internal3 and split): Delete.
(ior<mode>3, xor<mode>3, *bool<mode>3, *bool<mode>3_dot,
*bool<mode>3_dot2): New.
(two anonymous define_splits for non_logical_cint_operand): Merge.

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

9 years ago2014-08-17 Tobias Burnus <burnus@net-b.de>
burnus [Sun, 17 Aug 2014 16:42:19 +0000 (16:42 +0000)]
2014-08-17  Tobias Burnus  <burnus@net-b.de>

        * resolve.c (gfc_resolve_finalizers): Ensure that parents are
        resolved first.

2014-08-17  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/finalize_27.f90: New.

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

9 years ago2014-08-17 Tobias Burnus <burnus@net-b.de>
burnus [Sun, 17 Aug 2014 16:40:04 +0000 (16:40 +0000)]
2014-08-17  Tobias Burnus  <burnus@net-b.de>

        * trans-io.c (gfc_build_io_library_fndecls): Fix decl of
        IOCALL_SET_NML_VAL.
        (transfer_namelist_element): Use proper int type as argument.

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

9 years ago PR c/62059
mpolacek [Sun, 17 Aug 2014 16:19:43 +0000 (16:19 +0000)]
PR c/62059
* diagnostic.c (adjust_line): Add gcc_checking_assert.
(diagnostic_show_locus): Don't print caret diagnostic
if a column is larger than the line_width.

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

9 years ago2014-08-16 Andrew Pinski <apinski@cavium.com>
pinskia [Sun, 17 Aug 2014 05:20:42 +0000 (05:20 +0000)]
2014-08-16  Andrew Pinski  <apinski@cavium.com>

* gcc.c-torture/compile/20140816-1.c: New testcase.

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

9 years agoDaily bump.
gccadmin [Sun, 17 Aug 2014 00:16:25 +0000 (00:16 +0000)]
Daily bump.

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

9 years ago[gcc/]
romangareev [Sat, 16 Aug 2014 21:18:24 +0000 (21:18 +0000)]
[gcc/]

* common.opt: Make the ISL AST generator to be the main code generator
of Graphite.

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

9 years ago * wide-int.h (generic_wide_int): Declare as class instead of struct.
gerald [Sat, 16 Aug 2014 19:27:54 +0000 (19:27 +0000)]
* wide-int.h (generic_wide_int): Declare as class instead of struct.

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

9 years ago PR target/61641
danglin [Sat, 16 Aug 2014 16:36:33 +0000 (16:36 +0000)]
PR target/61641
* config/pa/pa-protos.h (pa_output_addr_vec, pa_output_addr_diff_vec):
Declare.
* config/pa/pa.c (pa_reorg): Remove code to insert brtab marker insns.
(pa_output_addr_vec, pa_output_addr_diff_vec): New.
* config/pa/pa.h (ASM_OUTPUT_ADDR_VEC, ASM_OUTPUT_ADDR_DIFF_VEC):
Define.
* config/pa/pa.md (begin_brtab): Delete insn.
(end_brtab): Likewise.

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