gcc.git
10 years agore PR rtl-optimization/58365 (likely wrong code bug)
Jakub Jelinek [Tue, 10 Sep 2013 11:47:19 +0000 (13:47 +0200)]
re PR rtl-optimization/58365 (likely wrong code bug)

PR rtl-optimization/58365
* cfgcleanup.c (merge_memattrs): Also clear MEM_READONLY_P
resp. MEM_NOTRAP_P if they differ, or set MEM_VOLATILE_P if
it differs.

* gcc.c-torture/execute/pr58365.c: New test.

From-SVN: r202434

10 years agotree-data-ref.h (build_rdg): Drop all parameters but loop.
Richard Biener [Tue, 10 Sep 2013 10:26:08 +0000 (10:26 +0000)]
tree-data-ref.h (build_rdg): Drop all parameters but loop.

2013-09-10  Richard Biener  <rguenther@suse.de>

* tree-data-ref.h (build_rdg): Drop all parameters but loop.
* tree-data-ref.c (create_rdg_vertices): Collect all data
references, signal failure to the caller, use data-ref API.
(build_rdg): Compute data references only once.  Maintain
lifetime of data references and data dependences from within
RDG.
(free_rdg): Free dependence relations.
* tree-loop-distribution.c (rdg_flag_uses): Drop weird code
inventing extra dependences.
(distribute_loop): Update for RDG API changes.

From-SVN: r202431

10 years agoinvoke.texi (fms-extensions): Document changed behavior for ms-abi targets.
Kai Tietz [Tue, 10 Sep 2013 09:09:05 +0000 (11:09 +0200)]
invoke.texi (fms-extensions): Document changed behavior for ms-abi targets.

* doc/invoke.texi (fms-extensions): Document changed
behavior for ms-abi targets.
* config/i386/i386.c (ix86_option_override_internal):
Set default value of option -fms-extension for ms-abi targets.

From-SVN: r202429

10 years agore PR target/58330 (powerpc64 atomic store split in two)
Alan Modra [Tue, 10 Sep 2013 08:38:57 +0000 (18:08 +0930)]
re PR target/58330 (powerpc64 atomic store split in two)

PR target/58330
oops, missed from commit

From-SVN: r202428

10 years agoi386.c (ix86_expand_movmem): Fix epilogue generation.
Michael Zolotukhin [Tue, 10 Sep 2013 07:53:22 +0000 (07:53 +0000)]
i386.c (ix86_expand_movmem): Fix epilogue generation.

gcc:
* config/i386/i386.c (ix86_expand_movmem): Fix epilogue generation.

gcc/testsuite:
* gcc.dg/torture/memcpy-1.c: New test.

From-SVN: r202423

10 years agoDaily bump.
GCC Administrator [Tue, 10 Sep 2013 00:16:33 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r202421

10 years agore PR target/58330 (powerpc64 atomic store split in two)
Alan Modra [Mon, 9 Sep 2013 23:48:10 +0000 (09:18 +0930)]
re PR target/58330 (powerpc64 atomic store split in two)

PR target/58330
gcc/
* config/rs6000/rs6000.md (bswapdi2_64bit): Disable for volatile mems.
gcc/testsuite/
* gcc.target/powerpc/pr58330.c: New.

From-SVN: r202418

10 years agopredicates.md (add_cint_operand): New.
Alan Modra [Mon, 9 Sep 2013 23:40:34 +0000 (09:10 +0930)]
predicates.md (add_cint_operand): New.

gcc/
* config/rs6000/predicates.md (add_cint_operand): New.
(reg_or_add_cint_operand, small_toc_ref): Use add_cint_operand.
* config/rs6000/rs6000.md (largetoc_high_plus): Restrict offset
using add_cint_operand.
(largetoc_high_plus_aix): Likewise.
gcc/testsuite/
* gcc.target/powerpc/medium_offset.c: New.

From-SVN: r202417

10 years agoinvoke.texi (Error and Warning Options): Add hyphen.
Tobias Burnus [Mon, 9 Sep 2013 21:55:22 +0000 (23:55 +0200)]
invoke.texi (Error and Warning Options): Add hyphen.

2013-09-09  Tobias Burnus  <burnus@net-b.de>

        * invoke.texi (Error and Warning Options): Add hyphen.

From-SVN: r202416

10 years agore PR c++/58325 (Spurious unused-but-set-variable warning on delete[] of volatile...
Jakub Jelinek [Mon, 9 Sep 2013 17:12:15 +0000 (19:12 +0200)]
re PR c++/58325 (Spurious unused-but-set-variable warning on delete[] of volatile pointer)

PR c++/58325
* init.c (build_vec_delete): Call mark_rvalue_use on base.

* g++.dg/warn/Wunused-var-21.C: New test.

From-SVN: r202411

10 years agore PR tree-optimization/58364 (likely wrong code bug)
Jakub Jelinek [Mon, 9 Sep 2013 17:09:59 +0000 (19:09 +0200)]
re PR tree-optimization/58364 (likely wrong code bug)

PR tree-optimization/58364
* tree-ssa-reassoc.c (init_range_entry): For BIT_NOT_EXPR on
BOOLEAN_TYPE, only invert in_p and continue with arg0 if
the current range can't be an unconditional true or false.

* gcc.c-torture/execute/pr58364.c: New test.

From-SVN: r202409

10 years ago[AArch64] obvious - Fix parameter to vrsqrte_f64
James Greenhalgh [Mon, 9 Sep 2013 15:16:03 +0000 (15:16 +0000)]
[AArch64] obvious - Fix parameter to vrsqrte_f64

gcc/

* config/aarch64/arm_neon.h (vrsqrte_f64): Fix parameter type.

From-SVN: r202407

10 years agoipa-prop.c (ipa_modify_call_arguments): Initialize deref_align.
Uros Bizjak [Mon, 9 Sep 2013 15:07:58 +0000 (17:07 +0200)]
ipa-prop.c (ipa_modify_call_arguments): Initialize deref_align.

* ipa-prop.c (ipa_modify_call_arguments): Initialize deref_align.

From-SVN: r202406

10 years agore PR c++/43452 (Array delete causes error on incomplete type)
Paolo Carlini [Mon, 9 Sep 2013 14:47:21 +0000 (14:47 +0000)]
re PR c++/43452 (Array delete causes error on incomplete type)

2013-09-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/43452
* doc/invoke.texi (-Wdelete-incomplete): Document it.

/c-family
2013-09-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/43452
* c.opt (Wdelete-incomplete): Add.

/cp
2013-09-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/43452
* init.c (build_vec_delete_1): When the type is incomplete emit a
warning, enabled by default (not an error).
(build_delete): Adjust to use OPT_Wdelete_incomplete.

/testsuite
2013-09-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/43452
* g++.dg/warn/Wdelete-incomplete-1.C: New.
* g++.dg/warn/Wdelete-incomplete-2.C: Likewise.
* g++.dg/init/delete1.C: Adjust.

From-SVN: r202405

10 years agore PR c++/43452 (Array delete causes error on incomplete type)
Paolo Carlini [Mon, 9 Sep 2013 14:31:16 +0000 (14:31 +0000)]
re PR c++/43452 (Array delete causes error on incomplete type)

2013-09-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/43452
* doc/invoke.texi (-Wdelete-incomplete): Document it.

/c-family
2013-09-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/43452
* c.opt (Wdelete-incomplete): Add.

/cp
2013-09-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/43452
* init.c (build_vec_delete_1): When the type is incomplete emit a
warning, enabled by default (not an error).
(build_delete): Adjust to use OPT_Wdelete_incomplete.

/testsuite
2013-09-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/43452
* g++.dg/warn/Wdelete-incomplete-1.C: New.
* g++.dg/warn/Wdelete-incomplete-2.C: Likewise.
* g++.dg/init/delete1.C: Adjust.

From-SVN: r202404

10 years agoImprove handling of constants destined for FP_REGS on AArch64
Ian Bolton [Mon, 9 Sep 2013 13:53:18 +0000 (13:53 +0000)]
Improve handling of constants destined for FP_REGS on AArch64

From-SVN: r202403

10 years agore PR c++/58362 (Wrong column number for unused parameter)
Paolo Carlini [Mon, 9 Sep 2013 13:39:47 +0000 (13:39 +0000)]
re PR c++/58362 (Wrong column number for unused parameter)

/cp
2013-09-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58362
* error.c (location_of): Don't handle PARM_DECLs specially.

/testsuite
2013-09-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58362
* g++.dg/warn/Wunused-parm-5.C: New.

From-SVN: r202402

10 years agoerror.c (dump_expr, [...]): Fix.
Paolo Carlini [Mon, 9 Sep 2013 13:34:44 +0000 (13:34 +0000)]
error.c (dump_expr, [...]): Fix.

2013-09-09  Paolo Carlini  <paolo.carlini@oracle.com>

* error.c (dump_expr, [PSEUDO_DTOR_EXPR]): Fix.
* cxx-pretty-print.c (cxx_pretty_printer::postfix_expression):
Tweak, TREE_OPERAND (t, 1) may be null.

From-SVN: r202401

10 years agoaarch64.c (aarch64_select_cc_mode): Return CC_SWP for comparison with negated operand.
Kyrylo Tkachov [Mon, 9 Sep 2013 13:32:50 +0000 (13:32 +0000)]
aarch64.c (aarch64_select_cc_mode): Return CC_SWP for comparison with negated operand.

[gcc/]
2013-09-09  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

* config/aarch64/aarch64.c (aarch64_select_cc_mode): Return CC_SWP for
comparison with negated operand.
* config/aarch64/aarch64.md (compare_neg<mode>): Match canonical RTL form.

[gcc/testsuite/]
2013-09-09  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

* gcc.target/aarch64/cmn-neg.c: New test.

From-SVN: r202400

10 years agore PR tree-optimization/58326 (ICE in check_loop_closed_ssa_use, at tree-ssa-loop...
Richard Biener [Mon, 9 Sep 2013 13:18:38 +0000 (13:18 +0000)]
re PR tree-optimization/58326 (ICE in check_loop_closed_ssa_use, at tree-ssa-loop-manip.c:551)

2013-09-09  Richard Biener  <rguenther@suse.de>

PR middle-end/58326
* cfgloopmanip.c (fix_bb_placements): When fixing the placement
of a subloop record all its block as affecting loop-closed SSA form.

* gcc.dg/torture/pr58326-1.c: New testcase.
* gcc.dg/torture/pr58326-2.c: Likewise.

From-SVN: r202399

10 years agore PR target/57735 (ICE with -mtune=xscale (error: could not split insn) when buildin...
Kyrylo Tkachov [Mon, 9 Sep 2013 13:16:44 +0000 (13:16 +0000)]
re PR target/57735 (ICE with -mtune=xscale (error: could not split insn) when building webkit)

2013-09-09  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

PR target/57735
* g++.dg/ext/pr57735.C: New test.

From-SVN: r202398

10 years agoexpmed.c (lshift_value): Take an unsigned HOST_WIDE_INT instead of an rtx/bitpos...
Richard Sandiford [Mon, 9 Sep 2013 13:07:18 +0000 (13:07 +0000)]
expmed.c (lshift_value): Take an unsigned HOST_WIDE_INT instead of an rtx/bitpos pair.

gcc/
* expmed.c (lshift_value): Take an unsigned HOST_WIDE_INT instead
of an rtx/bitpos pair.
(store_fixed_bit_field): Update accordingly.

From-SVN: r202395

10 years agoasan.c (asan_emit_stack_protection): Use gen_int_mode instead of GEN_INT.
Richard Sandiford [Mon, 9 Sep 2013 13:07:10 +0000 (13:07 +0000)]
asan.c (asan_emit_stack_protection): Use gen_int_mode instead of GEN_INT.

gcc/
* asan.c (asan_emit_stack_protection): Use gen_int_mode instead of
GEN_INT.
* builtins.c (expand_errno_check): Likewise.
* dwarf2cfi.c (init_return_column_size): Likewise.
* except.c (sjlj_mark_call_sites): Likewise.
* expr.c (move_by_pieces_1, store_by_pieces_2): Likewise.
* lra-constraints.c (emit_inc): Likewise.
* ree.c (combine_set_extension): Likewise.
* regmove.c (fixup_match_2): Likewise.
* reload1.c (inc_for_reload): Likewise.

From-SVN: r202394

10 years agogcc/
Richard Sandiford [Mon, 9 Sep 2013 13:07:02 +0000 (13:07 +0000)]
gcc/
* combine.c (simplify_set, expand_field_assignment, extract_left_shift)
(force_to_mode, simplify_shift_const_1, simplify_comparison):
Use gen_int_mode with the mode of the associated simplify_* call.
* explow.c (probe_stack_range, anti_adjust_stack_and_probe): Likewise.
* expmed.c (expand_shift_1): Likewise.
* function.c (instantiate_virtual_regs_in_insn): Likewise.
* loop-iv.c (iv_number_of_iterations): Likewise.
* loop-unroll.c (unroll_loop_runtime_iterations): Likewise.
* simplify-rtx.c (simplify_binary_operation_1): Likewise.

From-SVN: r202393

10 years agoasan.c (asan_clear_shadow): Use gen_int_mode with the mode of the associated expand_...
Richard Sandiford [Mon, 9 Sep 2013 13:06:53 +0000 (13:06 +0000)]
asan.c (asan_clear_shadow): Use gen_int_mode with the mode of the associated expand_* call.

gcc/
* asan.c (asan_clear_shadow): Use gen_int_mode with the mode
of the associated expand_* call.
(asan_emit_stack_protection): Likewise.
* builtins.c (round_trampoline_addr): Likewise.
* explow.c (allocate_dynamic_stack_space, probe_stack_range): Likewise.
* expmed.c (expand_smod_pow2, expand_sdiv_pow2, expand_divmod)
(emit_store_flag): Likewise.
* expr.c (emit_move_resolve_push, push_block, emit_single_push_insn_1)
(emit_push_insn, optimize_bitfield_assignment_op, expand_expr_real_1):
Likewise.
* function.c (instantiate_virtual_regs_in_insn): Likewise.
* ifcvt.c (noce_try_store_flag_constants): Likewise.
* loop-unroll.c (unroll_loop_runtime_iterations): Likewise.
* modulo-sched.c (generate_prolog_epilog): Likewise.
* optabs.c (expand_binop, widen_leading, expand_doubleword_clz)
(expand_ctz, expand_ffs, expand_unop): Likewise.

From-SVN: r202392

10 years agoalias.c (addr_side_effect_eval): Use gen_int_mode with the mode of the associated...
Richard Sandiford [Mon, 9 Sep 2013 13:06:43 +0000 (13:06 +0000)]
alias.c (addr_side_effect_eval): Use gen_int_mode with the mode of the associated gen_rtx_* call.

gcc/
* alias.c (addr_side_effect_eval): Use gen_int_mode with the mode
of the associated gen_rtx_* call.
* caller-save.c (init_caller_save): Likewise.
* combine.c (find_split_point, make_extraction): Likewise.
(make_compound_operation): Likewise.
* dwarf2out.c (mem_loc_descriptor): Likewise.
* explow.c (plus_constant, probe_stack_range): Likewise.
* expmed.c (expand_mult_const): Likewise.
* expr.c (emit_single_push_insn_1, do_tablejump): Likewise.
* reload1.c (init_reload): Likewise.
* valtrack.c (cleanup_auto_inc_dec): Likewise.
* var-tracking.c (adjust_mems): Likewise.
* modulo-sched.c (sms_schedule): Likewise, but use gen_rtx_GT
rather than gen_rtx_fmt_ee.

From-SVN: r202391

10 years agore PR tree-optimization/58294 (ice in update_ssa_across_abnormal_edges, at tree-inlin...
Jan Hubicka [Mon, 9 Sep 2013 12:09:50 +0000 (14:09 +0200)]
re PR tree-optimization/58294 (ice in update_ssa_across_abnormal_edges, at tree-inline.c:1892)

PR middle-end/58294
* value-prof.c (gimple_ic): Copy also abnormal edges.
* g++.dg/torture/PR58294.C: New testcase.

From-SVN: r202389

10 years agoasan.c (asan_shadow_cst): Use gen_int_mode.
Richard Sandiford [Mon, 9 Sep 2013 09:23:54 +0000 (09:23 +0000)]
asan.c (asan_shadow_cst): Use gen_int_mode.

gcc/
* asan.c (asan_shadow_cst): Use gen_int_mode.

From-SVN: r202384

10 years agoipa-profile.c: Add toplevel comment.
Jan Hubicka [Mon, 9 Sep 2013 07:37:53 +0000 (09:37 +0200)]
ipa-profile.c: Add toplevel comment.

* ipa-profile.c: Add toplevel comment.
(ipa_propagate_frequency_1): Be more conservative when profile is read.
(contains_hot_call_p): New function.
(ipa_propagate_frequency): Set frequencies based on counts when
profile is read.
* predict.c (compute_function_frequency): Use PROFILE_READ gueard for
profile; do not tamper with profile after inlining if it is read.

From-SVN: r202382

10 years agoipa-prop.c (try_make_edge_direct_simple_call): Do not special case speculative edges.
Jan Hubicka [Mon, 9 Sep 2013 06:13:24 +0000 (08:13 +0200)]
ipa-prop.c (try_make_edge_direct_simple_call): Do not special case speculative edges.

* ipa-prop.c (try_make_edge_direct_simple_call): Do not special case
speculative edges.

From-SVN: r202381

10 years agoipa.c (walk_polymorphic_call_targets): Fix redirection before IPA summary generation.
Jan Hubicka [Mon, 9 Sep 2013 06:12:21 +0000 (08:12 +0200)]
ipa.c (walk_polymorphic_call_targets): Fix redirection before IPA summary generation.

* ipa.c (walk_polymorphic_call_targets): Fix redirection before IPA
summary generation.

From-SVN: r202380

10 years agotree-ssa-threadedge.c (thread_across_edge): Fix initialization of 'found'.
Jeff Law [Mon, 9 Sep 2013 03:07:28 +0000 (21:07 -0600)]
tree-ssa-threadedge.c (thread_across_edge): Fix initialization of 'found'.

       * tree-ssa-threadedge.c (thread_across_edge): Fix initialization
        of 'found'.

        * gcc.c-torture/compile/pr58340.c: New test.

From-SVN: r202379

10 years agoDaily bump.
GCC Administrator [Mon, 9 Sep 2013 00:16:52 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r202377

10 years agoFix handling of very long asm statements in inliner
Andi Kleen [Sun, 8 Sep 2013 23:41:38 +0000 (23:41 +0000)]
Fix handling of very long asm statements in inliner

An auto generated program with a 6.4mio line asm statement gave
with 4.7 and 4.8:

xxx.c:6400017:1: internal compiler error: in account_size_time, at
ipa-inline-analysis.c:601

The problem is that the inliner counts the number of lines in the asm
statement and multiplies that with a weight. With the weight this
overflows 32bit signed int, and triggers an assert for negative time.

Fix this by limiting the number of lines to 1000 for asm cost
estimation. The RTL backend also does similar multiplications for
jump shortening. I haven't tried to address this, but presumably
it's less likely to result in a failure.

gcc/:
2013-09-08  Andi Kleen  <ak@linux.intel.com>

* tree-inline.c (estimate_num_insns): Limit asm cost to 1000.

From-SVN: r202374

10 years agoUpdate libvtv testsuite so that most of the tests now run under
Caroline Tice [Sun, 8 Sep 2013 23:35:14 +0000 (16:35 -0700)]
Update libvtv testsuite so that most of the tests now run under
the dejagnu test harness.

From-SVN: r202373

10 years agoFix PR 58300...
Caroline Tice [Sun, 8 Sep 2013 21:58:07 +0000 (14:58 -0700)]
Fix PR 58300...

Fix PR 58300:  Re-order events with -fvtable-verify=preinit
flag, so constructor init function is  not written to assembly
file until after call to cgraph_process_new_functions.

From-SVN: r202371

10 years ago* ipa.c (walk_polymorphic_call_targets): Fix inliner summary update.
Jan Hubicka [Sun, 8 Sep 2013 20:32:46 +0000 (22:32 +0200)]
* ipa.c (walk_polymorphic_call_targets): Fix inliner summary update.

From-SVN: r202370

10 years agoira.c (update_equiv_regs): Only call set_paradoxical_subreg for non-debug insns.
Richard Sandiford [Sun, 8 Sep 2013 18:15:49 +0000 (18:15 +0000)]
ira.c (update_equiv_regs): Only call set_paradoxical_subreg for non-debug insns.

gcc/
* ira.c (update_equiv_regs): Only call set_paradoxical_subreg
for non-debug insns.
* lra.c (new_insn_reg): Take the containing insn as a parameter.
Only modify lra_reg_info[].biggest_mode if it's non-debug insn.
(collect_non_operand_hard_regs, add_regs_to_insn_regno_info): Update
accordingly.

gcc/testsuite/
* g++.dg/debug/ra1.C: New test.

From-SVN: r202369

10 years agodevirt-11.C: Update template.
Jan Hubicka [Sun, 8 Sep 2013 16:42:21 +0000 (18:42 +0200)]
devirt-11.C: Update template.

* testsuite/g++.dg/ipa/devirt-11.C: Update template.
* testsuite/g++.dg/ipa/devirt-16.C: New testcase.
* testsuite/g++.dg/ipa/devirt-17.C: New testcase.
* testsuite/g++.dg/ipa/devirt-18.C: New testcase.

* cgraphunit.c (walk_polymorphic_call_targets): Permit 0 possible
targets and devirtualize to BUILT_IN_UNREACHABLE.
* timevar.def (TV_IPA_UNREACHABLE): New timevar.
* ipa.c (walk_polymorphic_call_targets): New function.
(symtab_remove_unreachable_nodes): Use it; do not keep all virtual
functions; use the new timevar.
* ipa-devirt.c (maybe_record_node): Do not insert static nodes that
was removed from the program.
(record_binfo): If BINFO corresponds to an anonymous namespace, we may
not consider it in the walk when its vtable is dead.
(possible_polymorphic_call_targets_1): Pass anonymous flag to
record_binfo.
(devirt_variable_node_removal_hook): New function.
(possible_polymorphic_call_targets): Also register
devirt_variable_node_removal_hook.
(ipa_devirt): Do not do non-speculative devirtualization.
(gate_ipa_devirt): One execute if devirtualizing speculatively.

From-SVN: r202368

10 years agocgraph.h (varpool_node_hook, [...]): Declare.
Jan Hubicka [Sun, 8 Sep 2013 16:18:04 +0000 (18:18 +0200)]
cgraph.h (varpool_node_hook, [...]): Declare.

* cgraph.h (varpool_node_hook, varpool_node_hook_list,
varpool_add_node_removal_hook, varpool_add_variable_insertion_hook,
varpool_remove_variable_insertion_hook): Declare.
* varpool.c (varpool_node_hook_list): New structure.
(first_varpool_node_removal_hook,
first_varpool_variable_insertion_hook): New variables.
(varpool_add_node_removal_hook, varpool_remove_node_removal_hook,
varpool_call_node_removal_hooks, varpool_add_variable_insertion_hook,
varpool_remove_variable_insertion_hook,
varpool_call_variable_insertion_hooks): New functions.
(varpool_remove_node): Use it.

From-SVN: r202367

10 years agore PR c++/54941 (do not print line/column numbers for <built-in>:0:0)
Paolo Carlini [Sun, 8 Sep 2013 14:30:27 +0000 (14:30 +0000)]
re PR c++/54941 (do not print line/column numbers for <built-in>:0:0)

2013-09-08  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54941
* diagnostic.c (diagnostic_build_prefix): When s.file is
"<built-in>" don't output line and column numbers.

/testsuite
2013-09-08  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54941
* g++.dg/overload/new1.C: Adjust.

From-SVN: r202366

10 years agoAdd missing ChangeLog entry for r199969.
Tom de Vries [Sun, 8 Sep 2013 08:17:47 +0000 (08:17 +0000)]
Add missing ChangeLog entry for r199969.

From-SVN: r202365

10 years agoc-common.c (same_scalar_type_ignoring_signedness): Delete.
Joern Rennecke [Sun, 8 Sep 2013 06:16:24 +0000 (06:16 +0000)]
c-common.c (same_scalar_type_ignoring_signedness): Delete.

gcc/c-family:
        * c-common.c (same_scalar_type_ignoring_signedness): Delete.
        (vector_types_compatible_elements_p): New function.
        * c-common.h: (same_scalar_type_ignoring_signedness): Delete
declaration.
        (vector_types_compatible_elements_p): Declare.
gcc/c:
        * c-typeck.c (build_binary_op): Use vector_types_compatible_elements_p.
gcc/cp:
        * typeck.c (cp_build_binary_op): Use vector_types_compatible_elements_p.
gcc/testsuite:
        * c-c++-common/opaque-vector.c: New test.

From-SVN: r202364

10 years agoDaily bump.
GCC Administrator [Sun, 8 Sep 2013 00:16:31 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r202363

10 years agoTestcase for PR58282
Tom de Vries [Sat, 7 Sep 2013 23:31:58 +0000 (23:31 +0000)]
Testcase for PR58282

2013-09-08  Tom de Vries  <tom@codesourcery.com>

PR c++/58282
* g++.dg/tm/noexcept-6.C: New test.

From-SVN: r202360

10 years agoHandle noexcept on transactions with -fno-exceptions
Tom de Vries [Sat, 7 Sep 2013 23:31:48 +0000 (23:31 +0000)]
Handle noexcept on transactions with -fno-exceptions

2013-09-08  Tom de Vries  <tom@codesourcery.com>

PR c++/58282
* except.c (build_must_not_throw_expr): Handle
flag_exceptions.

From-SVN: r202359

10 years agore PR libstdc++/58341 (Doc conflicts with standard on forbidden range of `result...
Paolo Carlini [Sat, 7 Sep 2013 22:57:49 +0000 (22:57 +0000)]
re PR libstdc++/58341 (Doc conflicts with standard on forbidden range of `result` in copy_backward())

2013-09-07  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/58341
* include/bits/stl_algobase.h (copy_backward): Fix documentation
per DR 1206.

From-SVN: r202357

10 years agoMakefile.am: Remove #if ENABLE_VTABLE_VERIFY check around definition of check-am:.
Paolo Carlini [Sat, 7 Sep 2013 21:35:38 +0000 (21:35 +0000)]
Makefile.am: Remove #if ENABLE_VTABLE_VERIFY check around definition of check-am:.

2013-09-07  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/Makefile.am: Remove #if ENABLE_VTABLE_VERIFY check around
definition of check-am:.
* testsuite/Makefile.in: Regenerate.

From-SVN: r202356

10 years agocgraphunit.c (expand_thunk): Get body before touching arguments.
Jan Hubicka [Sat, 7 Sep 2013 07:48:59 +0000 (09:48 +0200)]
cgraphunit.c (expand_thunk): Get body before touching arguments.

* cgraphunit.c (expand_thunk): Get body before touching arguments.
* lto-streamer-out.c: Stream thunks, too.
* lto-streamer-in.c (input_function): Pop cfun here
(lto_read_body): Instead of here.

From-SVN: r202352

10 years agoDaily bump.
GCC Administrator [Sat, 7 Sep 2013 00:16:36 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r202350

10 years agoAdd documentation for the options --enable-vtable-verify,
Caroline Tice [Fri, 6 Sep 2013 17:56:35 +0000 (10:56 -0700)]
Add documentation for the options --enable-vtable-verify,

--disable-vtable-verify and --disable-libvtv.  Also
update configure and make files in libvtv not to use
--enable-vtable-verify.

From-SVN: r202346

10 years agotree-ssa-dom.c (cprop_into_successor_phis): Also propagate edge implied equivalences...
Jeff Law [Fri, 6 Sep 2013 17:41:48 +0000 (11:41 -0600)]
tree-ssa-dom.c (cprop_into_successor_phis): Also propagate edge implied equivalences into successor phis.

        * tree-ssa-dom.c (cprop_into_successor_phis): Also propagate
        edge implied equivalences into successor phis.

From-SVN: r202345

10 years agoresource.c (mark_referenced_resources): Handle COND_EXEC.
Joern Rennecke [Fri, 6 Sep 2013 17:37:50 +0000 (18:37 +0100)]
resource.c (mark_referenced_resources): Handle COND_EXEC.

gcc:
* resource.c (mark_referenced_resources): Handle COND_EXEC.
gcc/testsuite:
* gcc.target/arc/cond-set-use.c: New test.

From-SVN: r202344

10 years agoresource.c (mark_target_live_regs): Compute resources taking into account if a call...
Claudiu Zissulescu [Fri, 6 Sep 2013 17:27:54 +0000 (19:27 +0200)]
resource.c (mark_target_live_regs): Compute resources taking into account if a call is predicated or not.

2013-09-06 Claudiu Zissulescu <claziss@synopsys.com>

        * resource.c (mark_target_live_regs): Compute resources taking
        into account if a call is predicated or not.

From-SVN: r202343

10 years agotoplev.c (output_stack_usage): Be prepared for suffixes created by the compiler in...
Eric Botcazou [Fri, 6 Sep 2013 15:28:02 +0000 (15:28 +0000)]
toplev.c (output_stack_usage): Be prepared for suffixes created by the compiler in the function names.

* toplev.c (output_stack_usage): Be prepared for suffixes created by
the compiler in the function names.

From-SVN: r202339

10 years agore PR middle-end/58094 (IPA devirt testsuite errors)
Jan Hubicka [Fri, 6 Sep 2013 15:02:03 +0000 (17:02 +0200)]
re PR middle-end/58094 (IPA devirt testsuite errors)

PR middle-end/58094
* ipa-inline.c (has_caller_p): New function.
(want_inline_function_to_all_callers_p): Use it.
(sum_callers, inline_to_all_callers): Break out from ...
(ipa_inline): ... here.

From-SVN: r202337

10 years agoi386.c (ix86_hard_regno_mode_ok): AVX modes are valid only when AVX is enabled.
Jan Hubicka [Fri, 6 Sep 2013 14:39:17 +0000 (16:39 +0200)]
i386.c (ix86_hard_regno_mode_ok): AVX modes are valid only when AVX is enabled.

* i386.c (ix86_hard_regno_mode_ok): AVX modes are valid only when
AVX is enabled.

From-SVN: r202335

10 years ago[AArch64] Use neon_<ldm,stm>_2 where appropriate as "type".
James Greenhalgh [Fri, 6 Sep 2013 13:59:47 +0000 (13:59 +0000)]
[AArch64] Use neon_<ldm,stm>_2 where appropriate as "type".

gcc/
* config/aarch64/aarch64.md
(*movtf_aarch64): Use neon_<ls>dm_2 as type where v8type
is fpsimd_<load/store>2.
(load_pair<mode>): Likewise.
(store_pair<mode>): Likewise.

From-SVN: r202334

10 years ago[AArch64, ARM] Introduce "mrs" type attribute.
James Greenhalgh [Fri, 6 Sep 2013 13:58:09 +0000 (13:58 +0000)]
[AArch64, ARM] Introduce "mrs" type attribute.

gcc/
* config/arm/types.md (type): Add "mrs" type.
* config/aarch64/aarch64.md
(aarch64_load_tp_hard): Make type "mrs".
* config/arm/arm.md
(load_tp_hard): Make type "mrs".
* config/arm/cortex-a15.md: Update with new attributes.
* config/arm/cortex-a5.md: Update with new attributes.
* config/arm/cortex-a53.md: Update with new attributes.
* config/arm/cortex-a7.md: Update with new attributes.
* config/arm/cortex-a8.md: Update with new attributes.
* config/arm/cortex-a9.md: Update with new attributes.
* config/arm/cortex-m4.md: Update with new attributes.
* config/arm/cortex-r4.md: Update with new attributes.
* config/arm/fa526.md: Update with new attributes.
* config/arm/fa606te.md: Update with new attributes.
* config/arm/fa626te.md: Update with new attributes.
* config/arm/fa726te.md: Update with new attributes.

From-SVN: r202333

10 years ago[AArch64, ARM] Use "multiple" for type, where more than one instruction is used for...
James Greenhalgh [Fri, 6 Sep 2013 13:56:01 +0000 (13:56 +0000)]
[AArch64, ARM] Use "multiple" for type, where more than one instruction is used for a move

gcc/
* config/aarch64/aarch64.md
(*movti_aarch64): Use "multiple" for type where v8type is "move2".
(*movtf_aarch64): Likewise.
* config/arm/arm.md
(thumb1_movdi_insn): Use "multiple" for type where more than one
instruction is used for a move.
(*arm32_movhf): Likewise.
(*thumb_movdf_insn): Likewise.

From-SVN: r202332

10 years ago[AArch64, ARM] Rename the FCPYS type to FMOV
James Greenhalgh [Fri, 6 Sep 2013 13:53:51 +0000 (13:53 +0000)]
[AArch64, ARM] Rename the FCPYS type to FMOV

gcc/
* config/arm/types.md (type): Rename fcpys to fmov.
* config/arm/vfp.md
(*arm_movsi_vfp): Rename type fcpys as fmov.
(*thumb2_movsi_vfp): Likewise
(*movhf_vfp_neon): Likewise
(*movhf_vfp): Likewise
(*movsf_vfp): Likewise
(*thumb2_movsf_vfp): Likewise
(*movsfcc_vfp): Likewise
(*thumb2_movsfcc_vfp): Likewise
* config/aarch64/aarch64-simd.md
(move_lo_quad_<mode>): Replace type mov_reg with fmovs.
* config/aarch64/aarch64.md
(*movsi_aarch64): Replace type mov_reg with fmovs.
(*movdi_aarch64): Likewise
(*movsf_aarch64): Likewise
(*movdf_aarch64): Likewise
* config/arm/arm.c
(cortexa7_older_only): Rename TYPE_FCPYS to TYPE_FMOV.
* config/arm/iwmmxt.md
(*iwmmxt_movsi_insn): Rename type fcpys as fmov.
* config/arm/arm1020e.md: Update with new attributes.
* config/arm/cortex-a15-neon.md: Update with new attributes.
* config/arm/cortex-a5.md: Update with new attributes.
* config/arm/cortex-a53.md: Update with new attributes.
* config/arm/cortex-a7.md: Update with new attributes.
* config/arm/cortex-a8-neon.md: Update with new attributes.
* config/arm/cortex-a9.md: Update with new attributes.
* config/arm/cortex-m4-fpu.md: Update with new attributes.
* config/arm/cortex-r4f.md: Update with new attributes.
* config/arm/marvell-pj4.md: Update with new attributes.
* config/arm/vfp11.md: Update with new attributes.

From-SVN: r202331

10 years ago[Patch AArch64] Fix types for some multiply instructions.
James Greenhalgh [Fri, 6 Sep 2013 13:42:12 +0000 (13:42 +0000)]
[Patch AArch64] Fix types for some multiply instructions.

gcc/
* config/aarch64/aarch64.md
(*madd<mode>): Fix type attribute.
(*maddsi_uxtw): Likewise.
(*msub<mode>): Likewise.
(*msubsi_uxtw): Likewise.
(<su_optab>maddsidi4): Likewise.
(<su_optab>msubsidi4): Likewise.

From-SVN: r202330

10 years ago[Patch ARM AARCH64] Split "type" attributes: fdiv
James Greenhalgh [Fri, 6 Sep 2013 13:39:57 +0000 (13:39 +0000)]
[Patch ARM AARCH64] Split "type" attributes: fdiv

gcc/
* config/arm/types.md: Split fdiv<sd> as fsqrt<sd>, fdiv<sd>.
* config/arm/arm.md (core_cycles): Remove fdiv.
* config/arm/vfp.md:
(*sqrtsf2_vfp): Update for attribute changes.
(*sqrtdf2_vfp): Likewise.
* config/aarch64/aarch64.md:
(sqrt<mode>2): Update for attribute changes.
* config/arm/arm1020e.md: Update with new attributes.
* config/arm/cortex-a15-neon.md: Update with new attributes.
* config/arm/cortex-a5.md: Update with new attributes.
* config/arm/cortex-a53.md: Update with new attributes.
* config/arm/cortex-a7.md: Update with new attributes.
* config/arm/cortex-a8-neon.md: Update with new attributes.
* config/arm/cortex-a9.md: Update with new attributes.
* config/arm/cortex-m4-fpu.md: Update with new attributes.
* config/arm/cortex-r4f.md: Update with new attributes.
* config/arm/marvell-pj4.md: Update with new attributes.
* config/arm/vfp11.md: Update with new attributes.

From-SVN: r202329

10 years ago[ARM,AARCH64] Insn type reclassification. Split f_cvt type.
James Greenhalgh [Fri, 6 Sep 2013 13:37:56 +0000 (13:37 +0000)]
[ARM,AARCH64] Insn type reclassification. Split f_cvt type.

gcc/
* config/arm/types.md
(type): Split f_cvt as f_cvt, f_cvtf2i, f_cvti2f.
* config/aarch64/aarch64.md
(l<fcvt_pattern><su_optab><GPF:mode><GPI:mode>2): Update with
new attributes.
(fix_trunc<GPF:mode><GPI:mode>2): Likewise.
(fixuns_trunc<GPF:mode><GPI:mode>2): Likewise.
(float<GPI:mode><GPF:mode>2): Likewise.
* config/arm/vfp.md
(*truncsisf2_vfp): Update with new attributes.
(*truncsidf2_vfp): Likewise.
(fixuns_truncsfsi2): Likewise.
(fixuns_truncdfsi2): Likewise.
(*floatsisf2_vfp): Likewise.
(*floatsidf2_vfp): Likewise.
(floatunssisf2): Likewise.
(floatunssidf2): Likewise.
(*combine_vcvt_f32_<FCVTI32typename>): Likewise.
(*combine_vcvt_f64_<FCVTI32typename>): Likewise.
* config/arm/arm1020e.md: Update with new attributes.
* config/arm/cortex-a15-neon.md: Update with new attributes.
* config/arm/cortex-a5.md: Update with new attributes.
* config/arm/cortex-a53.md: Update with new attributes.
* config/arm/cortex-a7.md: Update with new attributes.
* config/arm/cortex-a8-neon.md: Update with new attributes.
* config/arm/cortex-a9.md: Update with new attributes.
* config/arm/cortex-m4-fpu.md: Update with new attributes.
* config/arm/cortex-r4f.md: Update with new attributes.
* config/arm/marvell-pj4.md: Update with new attributes.
* config/arm/vfp11.md: Update with new attributes.

From-SVN: r202328

10 years ago[AArch64] Fix types of second parameter to qtbl/qtbx intrinsics
James Greenhalgh [Fri, 6 Sep 2013 13:34:41 +0000 (13:34 +0000)]
[AArch64] Fix types of second parameter to qtbl/qtbx intrinsics

gcc/
* config/aarch64/arm_neon.h
(vqtbl<1,2,3,4><q>_s8): Fix control vector parameter type.
(vqtbx<1,2,3,4><q>_s8): Likewise.

gcc/testsuite/
* gcc.target/aarch64/table-intrinsics.c
(qtbl_tests8_< ,2,3,4>): Fix control vector parameter type.
(qtb_tests8_< ,2,3,4>): Likewise.
(qtblq_tests8_< ,2,3,4>): Likewise.
(qtbxq_tests8_< ,2,3,4>): Likewise.

From-SVN: r202327

10 years ago[Patch ARM] Add "type" attribute to Everything!
James Greenhalgh [Fri, 6 Sep 2013 13:21:38 +0000 (13:21 +0000)]
[Patch ARM] Add "type" attribute to Everything!

gcc/
* config/arm/types.md: Add "no_insn", "multiple" and "untyped"
types.
* config/arm/arm-fixed.md: Add type attribute to all insn
patterns.
* config/arm/vfp.md: Add type attribute to all insn patterns.
* config/arm/arm.md: Add type attribute to all insn patterns.
* config/arm/thumb2.md: Add type attribute to all insn patterns.
* config/arm/arm1020e.md: Update with new attributes.
* config/arm/arm1026ejs.md: Update with new attributes.
* config/arm/arm1136jfs.md: Update with new attributes.
* config/arm/arm926ejs.md: Update with new attributes.
* config/arm/cortex-a15.md: Update with new attributes.
* config/arm/cortex-a5.md: Update with new attributes.
* config/arm/cortex-a53.md: Update with new attributes.
* config/arm/cortex-a7.md: Update with new attributes.
* config/arm/cortex-a8.md: Update with new attributes.
* config/arm/cortex-a9.md: Update with new attributes.
* config/arm/cortex-m4.md: Update with new attributes.
* config/arm/cortex-r4.md: Update with new attributes.
* config/arm/fa526.md: Update with new attributes.
* config/arm/fa606te.md: Update with new attributes.
* config/arm/fa626te.md: Update with new attributes.
* config/arm/fa726te.md: Update with new attributes.

From-SVN: r202323

10 years ago[Patch AArch64] Fix register constraints for lane intrinsics.
James Greenhalgh [Fri, 6 Sep 2013 11:02:52 +0000 (11:02 +0000)]
[Patch AArch64] Fix register constraints for lane intrinsics.

gcc/
* config/aarch64/aarch64-simd.md
(aarch64_sqdml<SBINQOPS:as>l_n<mode>_internal): Use
<vwx> iterator to ensure correct register choice.
(aarch64_sqdml<SBINQOPS:as>l2_n<mode>_internal): Likewise.
(aarch64_sqdmull_n<mode>): Likewise.
(aarch64_sqdmull2_n<mode>_internal): Likewise.
* config/aarch64/arm_neon.h
(vml<as><q>_lane<q>_<su>16): Use 'x' constraint for element vector.
(vml<as><q>_n_<su>16): Likewise.
(vml<as>l_high_lane<q>_<su>16): Likewise.
(vml<as>l_high_n_<su>16): Likewise.
(vml<as>l_lane<q>_<su>16): Likewise.
(vml<as>l_n_<su>16): Likewise.
(vmul<q>_lane<q>_<su>16): Likewise.
(vmul<q>_n_<su>16): Likewise.
(vmull_lane<q>_<su>16): Likewise.
(vmull_n_<su>16): Likewise.
(vmull_high_lane<q>_<su>16): Likewise.
(vmull_high_n_<su>16): Likewise.
(vqrdmulh<q>_n_s16): Likewise.

From-SVN: r202322

10 years agoarm_neon.h: Fix all vdup<bhsd_lane<q> intrinsics to have the correct lane parameter.
Tejas Belagod [Fri, 6 Sep 2013 10:57:14 +0000 (11:57 +0100)]
arm_neon.h: Fix all vdup<bhsd_lane<q> intrinsics to have the correct lane parameter.

2013-09-06  Tejas Belagod  <tejas.belagod@arm.com>

gcc/
* config/aarch64/arm_neon.h: Fix all vdup<bhsd_lane<q> intrinsics to
have the correct lane parameter.

From-SVN: r202321

10 years agocfganal.c (control_dependences::~control_dependences): Properly free all of the vector.
Richard Biener [Fri, 6 Sep 2013 10:38:08 +0000 (10:38 +0000)]
cfganal.c (control_dependences::~control_dependences): Properly free all of the vector.

2013-09-06  Richard Biener <rguenther@suse.de>

* cfganal.c (control_dependences::~control_dependences):
Properly free all of the vector.

From-SVN: r202320

10 years agoMakefile.in (tree-sra.o): Update dependencies.
Jan Hubicka [Fri, 6 Sep 2013 10:36:44 +0000 (10:36 +0000)]
Makefile.in (tree-sra.o): Update dependencies.

* Makefile.in (tree-sra.o): Update dependencies.
* tree-sra.c: Include ipa-utils.h
(scan_function): Use recursive_call_p.
(has_caller_p): New function.
(cgraph_for_node_and_aliases): Count also callers of aliases.

From-SVN: r202319

10 years agore PR target/58269 (ICE when building libobjc on x86_64-apple-darwin* after revision...
Kirill Yukhin [Fri, 6 Sep 2013 10:36:30 +0000 (10:36 +0000)]
re PR target/58269 (ICE when building libobjc on x86_64-apple-darwin*  after revision 201915)

PR target/58269
* config/i386/i386.c (ix86_conditional_register_usage):
Proper initialize extended SSE registers.

From-SVN: r202318

10 years agore PR tree-optimization/58311 (ICE: SIGSEGV in hash_table::find_slot_with_hash()...
Jan Hubicka [Fri, 6 Sep 2013 10:33:48 +0000 (12:33 +0200)]
re PR tree-optimization/58311 (ICE: SIGSEGV in hash_table::find_slot_with_hash() with -fdevirtualize)

PR tree-optimization/58311
* ipa-devirt.c (gate_ipa_devirt): Only execute when optimizing.

From-SVN: r202317

10 years agore PR middle-end/58094 (IPA devirt testsuite errors)
Jan Hubicka [Fri, 6 Sep 2013 10:13:37 +0000 (12:13 +0200)]
re PR middle-end/58094 (IPA devirt testsuite errors)

PR middle-end/58094
* cgraph.h (symtab_semantically_equivalent_p): Declare.
* tree-tailcall.c: Include ipa-utils.h.
(find_tail_calls): Use it.
* ipa-pure-const.c (check_call): Likewise.
* ipa-utils.c (recursive_call_p): New function.
* ipa-utils.h (recursive_call_p): Dclare.
* symtab.c (symtab_nonoverwritable_alias): Fix formatting.
(symtab_semantically_equivalent_p): New function.
* Makefile.in (tree-tailcall.o): Update dependencies.

From-SVN: r202316

10 years agoipa-split.c (split_function): Set DECL_NO_INLINE_WARNING_P on the non-inlinable part.
Eric Botcazou [Fri, 6 Sep 2013 09:35:23 +0000 (09:35 +0000)]
ipa-split.c (split_function): Set DECL_NO_INLINE_WARNING_P on the non-inlinable part.

* ipa-split.c (split_function): Set DECL_NO_INLINE_WARNING_P on the
non-inlinable part.

From-SVN: r202315

10 years agoipa-pta-14.c (scan-ipa-dump): Don't expect NULL in foo.result set.
Joern Rennecke [Fri, 6 Sep 2013 09:31:12 +0000 (09:31 +0000)]
ipa-pta-14.c (scan-ipa-dump): Don't expect NULL in foo.result set.

        * gcc.dg/ipa/ipa-pta-14.c (scan-ipa-dump) [keeps_null_pointer_checks]:
        Don't expect NULL in foo.result set.
        * gcc.dg/tree-ssa/pta-escape-1.c (scan-tree-dump): Don't expect NULL
        in ESCAPED set.
        * gcc.dg/tree-ssa/pta-escape-2.c: Likewise.
        * gcc.dg/tree-ssa/pta-escape-3.c: Likewise.

From-SVN: r202314

10 years agolto-streamer.h (lto_global_var_decls): Remove.
Richard Biener [Fri, 6 Sep 2013 09:06:25 +0000 (09:06 +0000)]
lto-streamer.h (lto_global_var_decls): Remove.

2013-09-06  Richard Biener  <rguenther@suse.de>

* lto-streamer.h (lto_global_var_decls): Remove.
* Makefile.in (OBJS): Remove lto-symtab.o.
(lto-symtab.o): Remove.
(GTFILES): Remove lto-symtab.c
* lto-symtab.c: Move to lto/

lto/
* lto-symtab.c: Move from gcc/
* lto.h: Include vec.h.
(lto_global_var_decls): Declare.
* lto.c (lto_global_var_decls): Move definition here.
* Make-lang.in (LTO_OBJS): Add lto-symtab.o.
(lto-symtab.o): Add.
* config-lang.in (gtfiles): Add lto.h.

From-SVN: r202313

10 years ago2013-09-06 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
Andreas Krebbel [Fri, 6 Sep 2013 07:55:35 +0000 (07:55 +0000)]
2013-09-06  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* config/s390/s390.md (UNSPEC_FPINT_FLOOR, UNSPEC_FPINT_BTRUNC)
(UNSPEC_FPINT_ROUND, UNSPEC_FPINT_CEIL, UNSPEC_FPINT_NEARBYINT)
(UNSPEC_FPINT_RINT): New constant definitions.
(FPINT, fpint_name, fpint_roundingmode): New integer iterator
definition with 2 attributes.
("<FPINT:fpint_name><BFP:mode>2", "rint<BFP:mode>2")
("<FPINT:fpint_name><DFP:mode>2", "rint<DFP:mode>2"): New pattern
definitions.

2013-09-06  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* gcc.target/s390/nearestint-1.c: New testcase.

From-SVN: r202312

10 years agos390.md: Add "bcr_flush" value to mnemonic attribute.
Andreas Krebbel [Fri, 6 Sep 2013 07:54:05 +0000 (07:54 +0000)]
s390.md: Add "bcr_flush" value to mnemonic attribute.

2013-09-06  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* config/s390/s390.md: Add "bcr_flush" value to mnemonic
attribute.
("mem_thread_fence_1"): Use bcr 14,0 for z196 and later.
Set the mnemonic attribute to "bcr_flush".  Set the "z196prop"
attribute to "z196_alone".
* config/s390/2827.md: Add "bcr_flush" to "ooo_groupalone" and
"zEC12_simple".

From-SVN: r202311

10 years agobasic-block.h (class control_dependences): New.
Richard Biener [Fri, 6 Sep 2013 07:24:11 +0000 (07:24 +0000)]
basic-block.h (class control_dependences): New.

2013-09-06  Richard Biener  <rguenther@suse.de>

* basic-block.h (class control_dependences): New.
* tree-ssa-dce.c (control_dependence_map): Remove.
(cd): New global.
(EXECUTE_IF_CONTROL_DEPENDENT): Remove.
(set_control_dependence_map_bit, clear_control_dependence_bitmap,
find_pdom, find_control_dependence, find_all_control_dependences):
Move to cfganal.c.
(mark_control_dependent_edges_necessary, find_obviously_necessary_stmts,
propagate_necessity, tree_dce_init, tree_dce_done,
perform_tree_ssa_dce): Adjust.
* cfganal.c (set_control_dependence_map_bit,
clear_control_dependence_bitmap, find_pdom, find_control_dependence,
find_all_control_dependences): Move from tree-ssa-dce.c and
implement as methods of control_dependences class.
(control_dependences::control_dependences): New.
(control_dependences::~control_dependences): Likewise.
(control_dependences::get_edges_dependent_on): Likewise.
(control_dependences::get_edge): Likewise.

From-SVN: r202309

10 years agoDaily bump.
GCC Administrator [Fri, 6 Sep 2013 00:16:51 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r202305

10 years agotree.c (types_same_for_odr): Drop overactive check.
Jan Hubicka [Thu, 5 Sep 2013 23:25:48 +0000 (01:25 +0200)]
tree.c (types_same_for_odr): Drop overactive check.

* tree.c (types_same_for_odr): Drop overactive check.
* ipa-devirt.c (hash_type_name): Likewise.

From-SVN: r202302

10 years ago20101011-1.c [__arc__] (DO_TEST): Define as 0.
Joern Rennecke [Thu, 5 Sep 2013 23:23:53 +0000 (23:23 +0000)]
20101011-1.c [__arc__] (DO_TEST): Define as 0.

        * gcc.c-torture/execute/20101011-1.c [__arc__] (DO_TEST): Define as 0.
        * testsuite/gcc.target/arc: New directory.
        * gcc.dg/torture/pr37868.c: Also skip for arc*-*-*.
        * gcc.dg/stack-usage-1.c [__arc__] (SIZE): Define.
        * testsuite/gcc.dg/torture/stackalign/builtin-apply-2.c
        [__arc__] (STACK_ARGUMENTS_SIZE): Set to 0.
        * testsuite/gcc.dg/builtin-apply2.c
        [__arc__] (STACK_ARGUMENTS_SIZE): Set to 0.

Co-Authored-By: Vineet Gupta <Vineet.Gupta@synopsys.com>
From-SVN: r202301

10 years agocgraphunit.c (walk_polymorphic_call_targets): Break out from ...
Jan Hubicka [Thu, 5 Sep 2013 23:06:10 +0000 (01:06 +0200)]
cgraphunit.c (walk_polymorphic_call_targets): Break out from ...

* cgraphunit.c (walk_polymorphic_call_targets): Break out from ...
(analyze_functions): ... here.

From-SVN: r202299

10 years agore PR c++/58201 (Undefined reference to `B::B(void const**)')
Jan Hubicka [Thu, 5 Sep 2013 23:04:11 +0000 (01:04 +0200)]
re PR c++/58201 (Undefined reference to `B::B(void const**)')

PR middle-end/58201
* cgraphunit.c (analyze_functions): Clear AUX fields
after processing; initialize assembler name has.

* g++.dg/torture/pr58201_0.C: New testcase.
* g++.dg/torture/pr58201_1.C: New testcase.
* g++.dg/torture/pr58201.h: New testcase.

From-SVN: r202298

10 years ago* gcc.dg/autopar/pr49960.c: Disable partial inlining
Jan Hubicka [Thu, 5 Sep 2013 22:48:48 +0000 (00:48 +0200)]
* gcc.dg/autopar/pr49960.c: Disable partial inlining

From-SVN: r202297

10 years agotree-ssa-threadedge.c (thread_around_empty_blocks): Renamed from thread_around_empty_...
Jeff Law [Thu, 5 Sep 2013 20:28:36 +0000 (14:28 -0600)]
tree-ssa-threadedge.c (thread_around_empty_blocks): Renamed from thread_around_empty_block.

       * tree-ssa-threadedge.c (thread_around_empty_blocks): Renamed
       from thread_around_empty_block.  Record threading path into PATH.
       Recurse if threading through the initial block is successful.
       (thread_across_edge): Corresponding changes to slightly simplify.

From-SVN: r202296

10 years ago[AArch64] Fix categorisation of the frecp* insns.
James Greenhalgh [Thu, 5 Sep 2013 15:53:37 +0000 (15:53 +0000)]
[AArch64] Fix categorisation of the frecp* insns.

gcc/

* config/aarch64/aarch64.md
(type): Remove frecpe, frecps, frecpx.
(aarch64_frecp<FRECP:frecp_suffix><mode>): Move to aarch64-simd.md,
fix to be a TARGET_SIMD instruction.
(aarch64_frecps): Remove.
* config/aarch64/aarch64-simd.md
(aarch64_frecp<FRECP:frecp_suffix><mode>): New, moved from aarch64.md
  (aarch64_frecps<mode>): Handle all float/vector of float modes.

From-SVN: r202292

10 years ago[AARCH64][Insn classification unification 3/N] ALU/shift types
James Greenhalgh [Thu, 5 Sep 2013 15:49:15 +0000 (15:49 +0000)]
[AARCH64][Insn classification unification 3/N] ALU/shift types

2013-09-05  James Greenhalgh  <james.greenhalgh@arm.com>
    Sofiane Naci  <sofiane.naci@arm.com>

* config/arm/types.md (define_attr "type"):
Expand "arlo_imm"
into "adr", "alu_imm", "alus_imm", "logic_imm", "logics_imm".
Expand "arlo_reg"
into "adc_reg", "adc_imm", "adcs_reg", "adcs_imm", "alu_ext",
"alu_reg", "alus_ext", "alus_reg", "bfm", "csel", "logic_reg",
"logics_reg", "rev".
Expand "arlo_shift"
into "alu_shift_imm", "alus_shift_imm", "logic_shift_imm",
"logics_shift_imm".
Expand "arlo_shift_reg"
into "alu_shift_reg", "alus_shift_reg", "logic_shift_reg",
"logics_shift_reg".
Expand "clz" into "clz, "rbit".
Rename "shift" to "shift_imm".
* config/arm/arm.md (define_attr "core_cycles"): Update for attribute
changes.
Update for attribute changes all occurrences of arlo_* and
shift* types.
* config/arm/arm-fixed.md: Update for attribute changes
all occurrences of arlo_* types.
* config/arm/thumb2.md: Update for attribute changes all occurrences
of arlo_* types.
* config/arm/arm.c (xscale_sched_adjust_cost):  (rtx insn, rtx
(cortexa7_older_only): Likewise.
(cortexa7_younger):  Likewise.
* config/arm/arm1020e.md (1020alu_op): Update for attribute changes.
(1020alu_shift_op): Likewise.
(1020alu_shift_reg_op): Likewise.
* config/arm/arm1026ejs.md (alu_op): Update for attribute changes.
(alu_shift_op): Likewise.
(alu_shift_reg_op): Likewise.
* config/arm/arm1136jfs.md (11_alu_op): Update for
attribute changes.
(11_alu_shift_op): Likewise.
(11_alu_shift_reg_op): Likewise.
* config/arm/arm926ejs.md (9_alu_op): Update for attribute changes.
(9_alu_shift_reg_op): Likewise.
* config/arm/cortex-a15.md (cortex_a15_alu): Update for
attribute changes.
(cortex_a15_alu_shift): Likewise.
(cortex_a15_alu_shift_reg): Likewise.
* config/arm/cortex-a5.md (cortex_a5_alu): Update for
attribute changes.
(cortex_a5_alu_shift): Likewise.
* config/arm/cortex-a53.md
(cortex_a53_alu): Update for attribute changes.
(cortex_a53_alu_shift): Likewise.
* config/arm/cortex-a7.md
(cortex_a7_alu_imm): Update for attribute changes.
(cortex_a7_alu_reg): Likewise.
(cortex_a7_alu_shift): Likewise.
* config/arm/cortex-a8.md
(cortex_a8_alu): Update for attribute changes.
(cortex_a8_alu_shift): Likewise.
(cortex_a8_alu_shift_reg): Likewise.
* config/arm/cortex-a9.md
(cortex_a9_dp): Update for attribute changes.
(cortex_a9_dp_shift): Likewise.
* config/arm/cortex-m4.md
(cortex_m4_alu): Update for attribute changes.
* config/arm/cortex-r4.md
(cortex_r4_alu): Update for attribute changes.
(cortex_r4_mov): Likewise.
(cortex_r4_alu_shift_reg): Likewise.
* config/arm/fa526.md
(526_alu_op): Update for attribute changes.
(526_alu_shift_op): Likewise.
* config/arm/fa606te.md
(606te_alu_op): Update for attribute changes.
* config/arm/fa626te.md
(626te_alu_op): Update for attribute changes.
(626te_alu_shift_op): Likewise.
* config/arm/fa726te.md
(726te_alu_op): Update for attribute changes.
(726te_alu_shift_op): Likewise.
(726te_alu_shift_reg_op): Likewise.
* config/arm/fmp626.md (mp626_alu_op): Update for attribute changes.
(mp626_alu_shift_op): Likewise.
* config/arm/marvell-pj4.md (pj4_alu): Update for attribute changes.
(pj4_alu_conds): Likewise.
(pj4_shift): Likewise.
(pj4_shift_conds): Likewise.
(pj4_alu_shift): Likewise.
(pj4_alu_shift_conds): Likewise.
* config/aarch64/aarch64.md: Update for attribute change
all occurrences of arlo_* and shift* types.

Co-Authored-By: Sofiane Naci <sofiane.naci@arm.com>
From-SVN: r202291

10 years agoregex_automaton.h: Add dummy node type.
Tim Shen [Thu, 5 Sep 2013 15:20:39 +0000 (15:20 +0000)]
regex_automaton.h: Add dummy node type.

2013-09-05  Tim Shen  <timshen91@gmail.com>

* include/bits/regex_automaton.h: Add dummy node type. Rewrite
_StateSeq.
* include/bits/regex_automaton.tcc: Implement them.
* include/bits/regex_compiler.h: Rewrite _Compiler to use new
_StateSeq interfaces.
* include/bits/regex_compiler.tcc: Implement them.
* include/bits/regex_scanner.h: Add word boundry assertion token.
* include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
Support word boundry.
* testsuite/28_regex/algorithms/regex_match/basic/
string_range_02_03.cc: Remove "xfail".
* testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc:
Likewise.
* testsuite/28_regex/algorithms/regex_match/extended/
string_range_02_03.cc: Likewise.
* testsuite/28_regex/algorithms/regex_match/extended/
cstring_questionmark.cc: Remove xfail and get correct length of
c-string.
* testsuite/28_regex/algorithms/regex_match/extended/
string_range_00_03.cc: Likewise.
* testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
New.
* testsuite/28_regex/algorithms/regex_match/extended/cstring_range.cc:
New.
* testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc: New.

From-SVN: r202290

10 years agotree.h: Move documentation for tree_function_decl to tree-core.h with the declaration.
Mike Stump [Thu, 5 Sep 2013 14:52:50 +0000 (14:52 +0000)]
tree.h: Move documentation for tree_function_decl to tree-core.h with the declaration.

* tree.h: Move documentation for tree_function_decl to tree-core.h
with the declaration.

From-SVN: r202289

10 years agore PR target/58139 (PowerPC volatile VSX register live across call)
Peter Bergner [Thu, 5 Sep 2013 14:09:07 +0000 (09:09 -0500)]
re PR target/58139 (PowerPC volatile VSX register live across call)

PR target/58139
* reginfo.c (choose_hard_reg_mode): Scan through all mode classes
looking for widest mode.

From-SVN: r202286

10 years ago* config.gcc (*-*-vxworks*): Do not override an existing extra_objs.
Eric Botcazou [Thu, 5 Sep 2013 13:54:35 +0000 (13:54 +0000)]
* config.gcc (*-*-vxworks*): Do not override an existing extra_objs.

From-SVN: r202284

10 years agore PR tree-optimization/58137 ([trunk, ICE] full unroll + AVX2 vectorization)
Richard Biener [Thu, 5 Sep 2013 12:45:20 +0000 (12:45 +0000)]
re PR tree-optimization/58137 ([trunk, ICE] full unroll + AVX2 vectorization)

2013-09-05  Richard Biener  <rguenther@suse.de>

PR tree-optimization/58137
* tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
Do not create vectors of pointers.
* tree-vect-loop.c (get_initial_def_for_induction): Use proper
types for the components of the vector initializer.
* tree-cfg.c (verify_gimple_assign_binary): Remove special-casing
allowing pointer vectors with PLUS_EXPR/MINUS_EXPR.

* gcc.target/i386/pr58137.c: New testcase.

From-SVN: r202282

10 years agoipa-prop.c (remove_described_reference): Accept missing references, return false...
Martin Jambor [Thu, 5 Sep 2013 12:41:16 +0000 (14:41 +0200)]
ipa-prop.c (remove_described_reference): Accept missing references, return false if that hppens, otherwise return true.

2013-09-05  Martin Jambor  <mjambor@suse.cz>

* ipa-prop.c (remove_described_reference): Accept missing references,
return false if that hppens, otherwise return true.
(cgraph_node_for_jfunc): New function.
(try_decrement_rdesc_refcount): Likewise.
(try_make_edge_direct_simple_call): Use them.
(ipa_edge_removal_hook): Remove references from rdescs.
(ipa_edge_duplication_hook): Clone rdescs and their references
when the new edge has the same caller as the old one.
* cgraph.c (cgraph_resolve_speculation): Remove speculative
reference before removing any edges.

testsuite/
* g++.dg/ipa/remref-1.C: New test.
* g++.dg/ipa/remref-2.C: Likewise.

From-SVN: r202281

10 years agoarm.c (thumb2_emit_strd_push): Rewrite to use pre-decrement on initial store.
Richard Earnshaw [Thu, 5 Sep 2013 12:37:29 +0000 (12:37 +0000)]
arm.c (thumb2_emit_strd_push): Rewrite to use pre-decrement on initial store.

* arm.c (thumb2_emit_strd_push): Rewrite to use pre-decrement on
initial store.
* thumb2.md (thumb2_storewb_parisi): New pattern.

From-SVN: r202279

10 years ago[AArch64] Support the 'crc' extension in -march and -mcpu options.
Yufeng Zhang [Thu, 5 Sep 2013 11:30:14 +0000 (11:30 +0000)]
[AArch64] Support the 'crc' extension in -march and -mcpu options.

gcc/

* config/aarch64/aarch64-option-extensions.def: Add
AARCH64_OPT_EXTENSION of 'crc'.
* config/aarch64/aarch64.h (AARCH64_FL_CRC): New define.
(AARCH64_ISA_CRC): Ditto.
* doc/invoke.texi (-march and -mcpu feature modifiers): Add
description of the CRC extension.

From-SVN: r202275

10 years agolinux64.h: Define OPTION_BIONIC and OPTION_UCLIBC.
Alexander Ivchenko [Thu, 5 Sep 2013 11:01:35 +0000 (11:01 +0000)]
linux64.h: Define OPTION_BIONIC and OPTION_UCLIBC.

* config/rs6000/linux64.h: Define OPTION_BIONIC and OPTION_UCLIBC.
* config/rs6000/linux.h: Ditto.
* alpha/linux.h: Ditto.
* config/bfin/uclinux.h: Define TARGET_LIBC_HAS_FUNCTION as
no_c99_libc_has_function.
* config/c6x/uclinux-elf.h: Ditto.
* config/lm32/uclinux-elf.h: Ditto.
* config/m68k/uclinux.h: Ditto.
* config/moxie/uclinux.h: Ditto.
* config.gcc (bfin*-linux-uclibc*): Add t-linux-android to tmake_file.
(crisv32-*-linux*, cris-*-linux*): Ditto.
* config/bfin/bfin.c: Include "tm_p.h".

From-SVN: r202274

10 years agotree-vect-loop.c (vect_analyze_loop_operations): Properly check for a definition...
Richard Biener [Thu, 5 Sep 2013 10:30:51 +0000 (10:30 +0000)]
tree-vect-loop.c (vect_analyze_loop_operations): Properly check for a definition without a basic-block.

2013-09-05  Richard Biener  <rguenther@suse.de>

* tree-vect-loop.c (vect_analyze_loop_operations): Properly
check for a definition without a basic-block.

From-SVN: r202273

10 years ago[AArch64, AArch32][Insn classification refactoring 6/N] Remove "neon_type" attribute
James Greenhalgh [Thu, 5 Sep 2013 09:29:27 +0000 (09:29 +0000)]
[AArch64, AArch32][Insn classification refactoring 6/N] Remove "neon_type" attribute

gcc/
* config/aarch64/aarch64.md: Rename r_2_f and f_2_r where appropriate.
* config/arm/arm.md (attribute "neon_type"): Delete.  Move attribute
values to config/arm/types.md.  Update patterns where appropriate.
* config/arm/types.md (type): Add Neon types.
* config/arm/neon.md: Remove "neon_type" attribute,
use "type" attribute everywhere appropriate.
* doc/md.texi: Change references to neon_type to refer to type.
* config/arm/vfp.md: Update patterns for attribute changes.
* config/arm/arm.c (cortexa7_older_only): Update for attribute change.
* config/arm/arm1020e.md: Update for attribute change.
* config/arm/cortex-a15-neon.md: Update for attribute change.
* config/arm/cortex-a15.md: Update for attribute change.
* config/arm/cortex-a5.md: Update for attribute change.
* config/arm/cortex-a53.md: Update for attribute change.
* config/arm/cortex-a7.md: Update for attribute change.
* config/arm/cortex-a8-neon.md: Update for attribute change.
* config/arm/cortex-a8.md: Update for attribute change.
* config/arm/cortex-a9-neon.md: Update for attribute change.
* config/arm/cortex-a9.md: Update for attribute change.
* config/arm/cortex-m4-fpu.md: Update for attribute change.
* config/arm/cortex-r4f.md: Update for attribute change.
* config/arm/iterators.md: Update comment referring to neon_type.
* config/arm/iwmmxt.md: Update for attribute change.
* config/arm/marvell-pj4.md: Update for attribute change.
* config/arm/neon-schedgen.ml (emit_insn_reservations): Update for
attribute change.
* config/arm/vfp11.md: Update for attribute change.

Co-Authored-By: Sofiane Naci <sofiane.naci@arm.com>
From-SVN: r202272

10 years agoFix typo in comment
Dodji Seketeli [Thu, 5 Sep 2013 07:56:47 +0000 (07:56 +0000)]
Fix typo in comment

gcc/

* tree.h (DECL_BUILT_INT): Fix typo in comment.

From-SVN: r202271