Kyrylo Tkachov [Wed, 9 Oct 2013 14:27:47 +0000 (14:27 +0000)]
aarch-common.c (arm_early_load_addr_dep): Place comment above function.
[gcc/]
2013-10-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* config/arm/aarch-common.c (arm_early_load_addr_dep):
Place comment above function.
From-SVN: r203322
Marcus Shawcroft [Wed, 9 Oct 2013 14:26:52 +0000 (14:26 +0000)]
Fix unprototyped abort() introduced in libstdc++/58659.cc testcase.
From-SVN: r203321
Andrew MacLeod [Wed, 9 Oct 2013 14:11:30 +0000 (14:11 +0000)]
tree-flow.h: Remove all remaining prototypes...
* tree-flow.h: Remove all remaining prototypes, enums and structs that
are not related to tree-cfg.c.
* tree-ssa-address.h: New file. Relocate prototypes.
* tree-ssa-address.c: (struct mem_address): Relocate from tree-flow.h.
(addr_for_mem_ref): New. Combine call to get_address_description and
return addr_for_mem_ref.
* expr.c (expand_expr_real_1): Use new addr_for_mem_ref routine.
* tree-ssa-live.h: Adjust prototypes.
* passes.c: Include tree-ssa-live.h.
* gimple-pretty-print.h (gimple_dump_bb): Add prototype.
* graphite.c (graphite_transform_loops): Make static.
(graphite_transforms, gate_graphite_transforms, pass_data_graphite,
make_pass_graphite, pass_data_graphite_transforms,
make_pass_graphite_transforms): Relocate here from tree-ssa-loop.c.
* ipa-pure-const.c (warn_function_noreturn): Make static.
(execute_warn_function_noreturn, gate_warn_function_noreturn,
class pass_warn_function_noreturn, make_pass_warn_function_noreturn):
Relocate from tree-cfg.c
* tree-cfg.c (tree_node_can_be_shared, gimple_empty_block_p): Make
static.
(execute_warn_function_noreturn, gate_warn_function_noreturn,
class pass_warn_function_noreturn, make_pass_warn_function_noreturn):
Move to ipa-pure-const.c.
(execute_fixup_cfg, class pass_fixup_cfg, make_pass_fixup_cfg): Relocate
from tree-optimize.c.
* tree-optimize.c (execute_fixup_cfg, class pass_fixup_cfg,
make_pass_fixup_cfg): Move to tree-cfg.c.
* tree-chrec.h: (enum ev_direction): Relocate here from tree-flow.h.
Relocate some prototypes.
* tree-data-ref.h (tree_check_data_deps) Add prototype.
* tree-dump.c (dump_function_to_file): Remove prototype.
Add tree-flow.h to the include file.
* tree-dump.h: Remove prototype.
* tree-parloops.h: New File. Add prototypes.
* tree-parloops.c (gate_tree_parallelize_loops, tree_parallelize_loops,
pass_data_parallelize_loops, make_pass_parallelize_loops): Relocate
from tree-ssa-loop.c.
* tree-predcom.c (run_tree_predictive_commoning,
gate_tree_predictive_commoning, pass_data_predcom, make_pass_predcom):
Relocate here from tree-ssa-loop.c.
* tree-ssa-dom.c (tree_ssa_dominator_optimize) Don't call
ssa_name_values.release ().
* tree-ssa-threadedge.h: New File. Relocate prototypes here.
(ssa_name_values): Relocate from tree-flow.h.
* tree-ssa.h: Include tree-ssa-threadedge.h and tree-ssa-address.h.
* tree-ssa-loop.c (run_tree_predictive_commoning,
gate_tree_predictive_commoning, pass_data_predcom, make_pass_predcom,
graphite_transforms, gate_graphite_transforms, pass_data_graphite,
make_pass_graphite, pass_data_graphite_transforms,
make_pass_graphite_transforms, gate_tree_parallelize_loops,
tree_parallelize_loops, pass_data_parallelize_loops,
make_pass_parallelize_loops): Move to other files.
* tree-vectorizer.h (lpeel_tree_duplicate_loop_to_edge_cfg): Prototype
moved here.
* tree.h: Remove prototypes from tree-address.c.
From-SVN: r203320
Jakub Jelinek [Wed, 9 Oct 2013 13:55:59 +0000 (15:55 +0200)]
* gcc.dg/vect/bb-slp-31.c: Add cleanup-tree-dump.
From-SVN: r203319
Andrew MacLeod [Wed, 9 Oct 2013 13:42:17 +0000 (13:42 +0000)]
tree-flow.h (tm_restart_node, gimple_df): Move to gimple-ssa.h.
* tree-flow.h (tm_restart_node, gimple_df): Move to gimple-ssa.h.
(struct int_tree_map): Move to tree-hasher.h
(SCALE, LABEL, PERCENT): Move to gimple.h
* tree-flow-inline.h: Delete. Move functions to other files.
(unmodifiable_var_p, ref_contains_array_ref): Unused, so delete.
* gimple-ssa.h (tm_restart_node, gimple_df): Relocate from tree-flow.h.
(gimple_in_ssa_p, gimple_vop): Relocate from tree-flow-inline.h
* gimple.h (imple_stmt_max_uid, set_gimple_stmt_max_uid,
inc_gimple_stmt_max_uid, get_lineno): Relocate from tree-flow-inline.h.
(SCALE, LABEL, PERCENT): Relocate from tree-flow.h
* tree-hasher.h: Don't include tree-flow.h.
(struct int_tree_map): Relocate from tree-flow.h.
* tree-sra.c (contains_view_convert_expr_p): Relocate from
tree-flow-inline.h and make static.
* tree-ssa-alias.h (ranges_overlap_p): Relocate from tree-flow-inline.h.
* tree-ssa-operands.c (gimple_ssa_operands): Relocate from
tree-flow-inline.h and make static.
* tree.h (is_global_var, may_be_aliased): Relocate from
tree-flow-inline.h.
* Makefile.in (GTFILES): Remove tree-flow.h and add gimple-ssa.h.
* value-prof.c: No longer include tree-flow-inline.h.
* tree-switch-conversion.c: No longer include tree-flow-inline.h.
From-SVN: r203318
Andrew MacLeod [Wed, 9 Oct 2013 13:09:23 +0000 (13:09 +0000)]
tree-flow.h: Move some protoypes.
* tree-flow.h: Move some protoypes. Include new tree-ssa-loop.h.
(struct affine_iv, struct tree_niter_desc): Move to tree-ssa-loop.h.
(enum move_pos): Move to tree-ssa-loop-im.h
* cfgloop.h: Move some prototypes.
(gcov_type_to_double_int): relocate from tree-ssa-loop.niter.c.
* tree-flow-inline.h (loop_containing_stmt): Move to tree-ssa-loop.h.
* tree-ssa-loop.h: New File. Include other tree-ssa-loop-*.h files.
(struct affine_iv, struct tree_niter_desc): Relocate from tree-flow.h.
(loop_containing_stmt): Relocate from tree-flow-inline.h.
* tree-ssa-loop-ch.c: (do_while_loop_p): Make static.
* tree-ssa-loop-im.c (for_each_index): Move to tree-ssa-loop.c.
(enum move_pos): Relocate here.
(lsm_tmp_name_add, gen_lsm_tmp_name, get_lsm_tmp_name): Move to
tree-ssa-loop.c.
(execute_sm_if_changed_flag_set): Change get_lsm_tmp_name call.
(tree_ssa_loop_im, gate_tree_ssa_loop_im, pass_data_lim, make_pass_lim):
Relocate here from tree-ssa-loop.c.
* tree-ssa-loop-ivcanon.c (tree_num_loop_insns): Move to
tree-ssa-loop.c.
(loop_edge_to_cancel, unloop_loops): Make static.
(tree_ssa_loop_ivcanon, gate_tree_ssa_loop_ivcanon, pass_data_iv_canon,
make_pass_iv_canon): Relocate from tree-ssa-loop.c.
(tree_complete_unroll, gate_tree_complete_unroll,
pass_data_complete_unroll, make_pass_complete_unroll): Relocate here.
(tree_complete_unroll_inner, gate_tree_complete_unroll_inner,
pass_data_complete_unrolli, make_pass_complete_unrolli): Relocate here.
* tree-ssa-loop-ivopts.c: Remove local prototypes.
(stmt_invariant_in_loop_p): Remove unused function.
* tree-ssa-loop-ivopts.h: New file. Add prototypes.
* tree-ssa-loop-manip.h: New file. Add prototypes.
* tree-ssa-loop-niter.c (record_niter_bound): Move to cfgloop.c.
(gcov_type_to_double_int): Move to cfgloop.h.
(double_int_cmp, bound_index,
estimate_numbers_of_iterations_loop): Make static.
(estimated_loop_iterations): Factor out get_estimated_loop_iterations.
(max_loop_iterations): Factor out get_max_loop_iterations.
(estimated_loop_iterations_int, max_stmt_executions_int): Move to
cfgloop.c.
* tree-ssa-loop-niter.h: New file. Add prototypes.
* tree-ssa-loop-prefetch.c (tree_ssa_loop_prefetch,
gate_tree_ssa_loop_prefetch, pass_data_loop_prefetch,
make_pass_loop_prefetch): Relocate from tree-ssa-loop.c.
* tree-ssa-loop-unswitch.c (tree_ssa_loop_unswitch,
gate_tree_ssa_loop_unswitch, pass_data_tree_unswitch,
make_pass_tree_unswitch): Relocate from tree-ssa-loop.c.
* tree-ssa-loop.c (tree_ssa_loop_im, gate_tree_ssa_loop_im,
pass_data_lim, make_pass_lim): Move to tree-ssa-loop-im.c.
(tree_ssa_loop_unswitch, gate_tree_ssa_loop_unswitch,
pass_data_tree_unswitch, make_pass_tree_unswitch): Move.
(tree_ssa_loop_ivcanon, gate_tree_ssa_loop_ivcanon, pass_data_iv_canon,
make_pass_iv_canon, tree_complete_unroll, gate_tree_complete_unroll,
pass_data_complete_unroll, make_pass_complete_unroll,
tree_complete_unroll_inner, gate_tree_complete_unroll_inner,
pass_data_complete_unrolli, make_pass_complete_unrolli): Move to
tree-ssa-loop-ivcanon.c.
(tree_ssa_loop_prefetch, gate_tree_ssa_loop_prefetch,
pass_data_loop_prefetch, make_pass_loop_prefetch): Move to
tree-ssa-loop-prefetch.c.
(for_each_index, lsm_tmp_name_add, gen_lsm_tmp_name): Relocate from
tree-ssa-loop-im.c.
(get_lsm_tmp_name): Relocate and add suffix parameter.
(tree_num_loop_insns): Relocate from tree-ssa-ivcanon.c.
* tree-scalar-evolution.h (simple_iv): Don't use affive_iv typedef.
* cfgloop.c (record_niter_bound, estimated_loop_iterations_int,
max_stmt_executions_int): Move from tree-ssa-loop-niter.c.
(get_estimated_loop_iterations): Factor out accessor from
estimated_loop_iterations in tree-ssa-loop-niter.c.
(get_max_loop_iterations): Factor out accessor from _max_loop_iterations
in tree-ssa-niter.c.
* loop-unroll.c (decide_unroll_constant_iterations,
decide_unroll_runtime_iterations, decide_peel_simple,
decide_unroll_stupid): Use new get_* accessors.
From-SVN: r203317
Marc Glisse [Wed, 9 Oct 2013 13:03:13 +0000 (15:03 +0200)]
re PR c/20318 (RFE: add attribute to specify that a function never returns NULL)
2013-10-09 Marc Glisse <marc.glisse@inria.fr>
PR tree-optimization/20318
gcc/c-family/
* c-common.c (handle_returns_nonnull_attribute): New function.
(c_common_attribute_table): Add returns_nonnull.
gcc/
* doc/extend.texi (returns_nonnull): New function attribute.
* fold-const.c (tree_expr_nonzero_warnv_p): Look for returns_nonnull
attribute.
* tree-vrp.c (gimple_stmt_nonzero_warnv_p): Likewise.
(stmt_interesting_for_vrp): Accept all GIMPLE_CALL.
gcc/testsuite/
* c-c++-common/pr20318.c: New file.
* gcc.dg/tree-ssa/pr20318.c: New file.
From-SVN: r203316
Eric Botcazou [Wed, 9 Oct 2013 12:59:02 +0000 (12:59 +0000)]
re PR middle-end/58570 (wrong code for bitfields at -O2 and above)
PR middle-end/58570
* tree-ssa-alias.c (nonoverlapping_component_refs_of_decl_p): Return
false if both components are bitfields.
From-SVN: r203315
Alex Velenko [Wed, 9 Oct 2013 12:09:11 +0000 (12:09 +0000)]
[AArch64] Implement vclz ADVSimd intrinsic.
From-SVN: r203314
Alex Velenko [Wed, 9 Oct 2013 11:59:38 +0000 (11:59 +0000)]
[AArch64] Implement vadd_f64 and vsub_f64 ADVSimd intrinsics.
From-SVN: r203313
Alex Velenko [Wed, 9 Oct 2013 11:51:15 +0000 (11:51 +0000)]
[AArch64] Implemented vdiv_f64 ADVSimd intrinsic.
From-SVN: r203312
Alex Velenko [Wed, 9 Oct 2013 11:05:15 +0000 (11:05 +0000)]
[AArch64] vneg ADVSimd intrinsics rewritten in C.
From-SVN: r203310
Renlin Li [Wed, 9 Oct 2013 10:51:39 +0000 (10:51 +0000)]
arm.c (arm_output_mi_thunk): Use plus_constant.
[gcc/]
2013-10-09 Renlin Li <Renlin.Li@arm.com>
* config/arm/arm.c (arm_output_mi_thunk): Use plus_constant.
From-SVN: r203309
Andreas Krebbel [Wed, 9 Oct 2013 07:24:35 +0000 (07:24 +0000)]
s390.c (s390_register_info_stdarg_fpr): Remove packed stack special handling.
2013-10-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/s390.c (s390_register_info_stdarg_fpr): Remove
packed stack special handling.
(s390_frame_info, s390_emit_prologue, s390_emit_epilogue): Switch
back to fixed stack slots for FPRs saved due to stdarg.
From-SVN: r203305
Andreas Krebbel [Wed, 9 Oct 2013 07:23:53 +0000 (07:23 +0000)]
s390.c (s390_frame_info): Restructure function.
2013-10-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/s390.c (s390_frame_info): Restructure function.
From-SVN: r203304
Andreas Krebbel [Wed, 9 Oct 2013 07:22:52 +0000 (07:22 +0000)]
s390.c (struct s390_frame_layout): New field gpr_save_slots.
2013-10-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/s390.c (struct s390_frame_layout): New field
gpr_save_slots.
(cfun_save_arg_fprs_p, cfun_gpr_save_slot): New macros.
(s390_reg_clobbered_rtx, s390_regs_ever_clobbered): Change type of
regs_ever_clobbered to char*.
(s390_regs_ever_clobbered): Check crtl->saves_all_registers
instead of cfun->has_nonlocal_label. Ignore frame related restore
INSNs.
(s390_register_info): Enable FPR save slots. Move/Copy some
functionality into ...
(s390_register_info_gprtofpr, s390_register_info_stdarg_fpr)
(s390_register_info_stdarg_gpr, s390_optimize_register_info): New
function.
(s390_frame_info): Do gpr slot allocation here now. stdarg does
not imply a stack frame.
(s390_init_frame_layout): Remove variable clobbered_regs.
(s390_update_register_info): Remove function.
(s390_hard_regno_rename_ok): Call-saved regs without a save slot
cannot be used for register renaming.
(s390_hard_regno_scratch_ok): New function.
(TARGET_HARD_REGNO_SCRATCH_OK): Define target hook.
(s390_initial_elimination_offset): Change offset calculation of
the return address pointer.
(save_gprs): Deal with only r6 being saved from the call-saved
regs.
(restore_gprs): Set frame related flag.
(s390_save_gprs_to_fprs, s390_restore_gprs_from_fprs): New
functions.
(s390_emit_prologue): Call s390_register_info instead of
s390_update_frame_layout. Call s390_save_gprs_to_fprs.
(s390_emit_epilogue): Call s390_restore_gprs_from_fprs.
(s390_optimize_prologue): Call s390_optimize_register_info.
Try to remove also FPR slot save/restore INSNs. Remove frame
related flags from restore INSNs.
From-SVN: r203303
DJ Delorie [Wed, 9 Oct 2013 01:44:31 +0000 (21:44 -0400)]
rl78-expand.md (movqi): use operands[] not operandN.
* config/rl78/rl78-expand.md (movqi): use operands[] not operandN.
(movhi): Likewise.
From-SVN: r203300
DJ Delorie [Wed, 9 Oct 2013 01:05:07 +0000 (21:05 -0400)]
rl78.c (rl78_print_operand_1): Change %c to %C to avoid conflict with the MI use of %c.
* config/rl78/rl78.c (rl78_print_operand_1): Change %c to %C to
avoid conflict with the MI use of %c.
* config/rl78/rl78-real.md: change %c to %C throughout.
* config/rl78/rl78-virt.md: Likewise.
From-SVN: r203299
GCC Administrator [Wed, 9 Oct 2013 00:16:54 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r203298
Ian Lance Taylor [Wed, 9 Oct 2013 00:02:14 +0000 (00:02 +0000)]
runtime: Do not report thunks and recover functions in backtrace.
From-SVN: r203294
Ian Lance Taylor [Tue, 8 Oct 2013 23:54:15 +0000 (23:54 +0000)]
compiler: Error for qualified ID as field name in struct literal.
From-SVN: r203292
Jan Hubicka [Tue, 8 Oct 2013 23:33:34 +0000 (01:33 +0200)]
i386.c (ix86_option_override_internal): Switch to SSE math for -ffast-math when target ISA supports SSE2.
* config/i386/i386.c (ix86_option_override_internal): Switch
to SSE math for -ffast-math when target ISA supports SSE2.
From-SVN: r203291
Paolo Carlini [Tue, 8 Oct 2013 21:58:58 +0000 (21:58 +0000)]
re PR c++/58568 ([c++11] ICE with lambda in invalid template variable definition)
/cp
2013-10-08 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58568
* lambda.c (begin_lambda_type): Check return value of xref_tag
for error_mark_node; tidy.
* decl.c (grokdeclarator): Tweak error message.
/testsuite
2013-10-08 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58568
* g++.dg/cpp0x/lambda/lambda-ice10.C: New.
* g++.old-deja/g++.mike/misc9.C: Adjust.
From-SVN: r203289
Paolo Carlini [Tue, 8 Oct 2013 21:54:06 +0000 (21:54 +0000)]
re PR c++/58665 (ICE with using incomplete struct)
/cp
2013-10-08 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58665
Revert:
2013-10-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58448
* pt.c (tsubst): Use error_operand_p on parameter t.
/testsuite
2013-10-08 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58665
Revert:
2013-10-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58448
* g++.dg/template/crash117.C: New.
From-SVN: r203288
Jonathan Wakely [Tue, 8 Oct 2013 13:54:26 +0000 (13:54 +0000)]
* testsuite/*: Remove stray semi-colons after function definitions.
From-SVN: r203279
Andreas Krebbel [Tue, 8 Oct 2013 13:37:25 +0000 (13:37 +0000)]
htm-nofloat-2.c: Add -mzarch to asm options.
2013-10-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* gcc.target/s390/htm-nofloat-2.c: Add -mzarch to asm options.
From-SVN: r203276
Jonathan Wakely [Tue, 8 Oct 2013 12:33:37 +0000 (12:33 +0000)]
re PR libstdc++/58659 (Construction of shared_ptr from unique_ptr mismatches new/delete and std::allocator for __shared_ptr_count)
PR libstdc++/58659
* include/bits/shared_ptr_base.h (__shared_count::__shared_count(P,D)):
Delegate to constructor taking allocator.
(__shared_count::_S_create_from_up): Inline into ...
(__shared_count::__shared_count(unique_ptr<Y,D>&&): Here. Use
std::conditional instead of constrained overloads. Allocate memory
using the allocator type that will be used for deallocation.
* testsuite/20_util/shared_ptr/cons/58659.cc: New.
* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust.
From-SVN: r203274
Andrew MacLeod [Tue, 8 Oct 2013 12:13:13 +0000 (12:13 +0000)]
tree-flow.h: Remove some prototypes.
* tree-flow.h: Remove some prototypes.
* tree.h: Remove some protypes, add a couple.
* tree.c (using_eh_for_cleanups_flag, using_eh_for_cleanups,
using_eh_for_cleanups_p): Add interface routines for front ends.
* tree-eh.h: New file. Add protoptyes.
* tree-eh.c (using_eh_for_cleanups_p, using_eh_for_cleanups): Delete.
(add_stmt_to_eh_lp_fn): Make static.
(lower_try_finally): Use new using_eh_for_cleanups_p.
* emit-rtl.c: Include tree-eh.h.
* gimple.h: Include tree-eh.h.
From-SVN: r203273
Marc Glisse [Tue, 8 Oct 2013 10:39:49 +0000 (12:39 +0200)]
re PR tree-optimization/58480 (Use attribute((nonnull)) to optimize callers)
2013-10-08 Marc Glisse <marc.glisse@inria.fr>
PR tree-optimization/58480
gcc/
* tree-vrp.c (infer_nonnull_range): New function.
(infer_value_range): Call infer_nonnull_range.
gcc/testsuite/
* gcc.dg/tree-ssa/pr58480.c: New file.
From-SVN: r203271
Dehao Chen [Tue, 8 Oct 2013 08:34:28 +0000 (08:34 +0000)]
re PR tree-optimization/58619 (ICE building in gen_combined_adhoc_loc)
PR tree-optimization/58619
2013-10-08 Dehao Chen <dehao@google.com>
* tree-inline.c (copy_phis_for_bb): Combine location data
only if non-null.
From-SVN: r203269
Zhenqiang Chen [Tue, 8 Oct 2013 07:58:08 +0000 (07:58 +0000)]
re PR target/58423 ([ARM]ICE with shrink-wrap-sibcall.c on a15/neon/hard)
2013-10-08 Zhenqiang Chen <zhenqiang.chen@linaro.org>
PR target/58423
* config/arm/arm.c (arm_emit_ldrd_pop): Attach
RTX_FRAME_RELATED_P on INSN.
From-SVN: r203267
Tim Shen [Tue, 8 Oct 2013 03:41:14 +0000 (03:41 +0000)]
regex_executor.h: Add _TodoList class.
2013-10-08 Tim Shen <timshen91@gmail.com>
* include/bits/regex_executor.h: Add _TodoList class.
* include/bits/regex_executor.tcc (_BFSExecutor<>::_M_main): Add
_M_match_stack and _M_stack to make everything faster. Break if
_M_stack is empty, to reduce unnecessary idling.
* testsuite/performance/28_regex/split.cc: New.
From-SVN: r203261
GCC Administrator [Tue, 8 Oct 2013 00:16:54 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r203259
Ian Lance Taylor [Mon, 7 Oct 2013 15:32:08 +0000 (15:32 +0000)]
reflect: Use C style comments in 386 assembly for Solaris assembler.
From Rainer Orth.
From-SVN: r203249
Bill Schmidt [Mon, 7 Oct 2013 13:01:28 +0000 (13:01 +0000)]
rs6000.c (altivec_expand_vec_perm_const_le): New.
2013-10-07 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/rs6000.c (altivec_expand_vec_perm_const_le): New.
(altivec_expand_vec_perm_const): Call it.
From-SVN: r203247
Bill Schmidt [Mon, 7 Oct 2013 12:56:08 +0000 (12:56 +0000)]
vector.md (mov<mode>): Emit permuted move sequences for LE VSX loads and stores at expand time.
gcc:
2013-10-07 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/vector.md (mov<mode>): Emit permuted move
sequences for LE VSX loads and stores at expand time.
* config/rs6000/rs6000-protos.h (rs6000_emit_le_vsx_move): New
prototype.
* config/rs6000/rs6000.c (rs6000_const_vec): New.
(rs6000_gen_le_vsx_permute): New.
(rs6000_gen_le_vsx_load): New.
(rs6000_gen_le_vsx_store): New.
(rs6000_gen_le_vsx_move): New.
* config/rs6000/vsx.md (*vsx_le_perm_load_v2di): New.
(*vsx_le_perm_load_v4si): New.
(*vsx_le_perm_load_v8hi): New.
(*vsx_le_perm_load_v16qi): New.
(*vsx_le_perm_store_v2di): New.
(*vsx_le_perm_store_v4si): New.
(*vsx_le_perm_store_v8hi): New.
(*vsx_le_perm_store_v16qi): New.
(*vsx_xxpermdi2_le_<mode>): New.
(*vsx_xxpermdi4_le_<mode>): New.
(*vsx_xxpermdi8_le_V8HI): New.
(*vsx_xxpermdi16_le_V16QI): New.
(*vsx_lxvd2x2_le_<mode>): New.
(*vsx_lxvd2x4_le_<mode>): New.
(*vsx_lxvd2x8_le_V8HI): New.
(*vsx_lxvd2x16_le_V16QI): New.
(*vsx_stxvd2x2_le_<mode>): New.
(*vsx_stxvd2x4_le_<mode>): New.
(*vsx_stxvd2x8_le_V8HI): New.
(*vsx_stxvd2x16_le_V16QI): New.
gcc/testsuite:
2013-10-07 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.target/powerpc/pr43154.c: Skip for ppc64 little endian.
* gcc.target/powerpc/fusion.c: Likewise.
From-SVN: r203246
Renlin Li [Mon, 7 Oct 2013 09:00:34 +0000 (09:00 +0000)]
arm-cores.def (cortex-a53): Use cortex tuning.
[gcc/]
2013-10-07 Renlin Li <Renlin.Li@arm.com>
* config/arm/arm-cores.def (cortex-a53): Use cortex tuning.
From-SVN: r203241
Andreas Krebbel [Mon, 7 Oct 2013 07:52:25 +0000 (07:52 +0000)]
s390.c (s390_register_info): Make the call-saved FPR loop to work also for 31bit ABI.
2013-10-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/s390.c (s390_register_info): Make the call-saved FPR
loop to work also for 31bit ABI.
Save the stack pointer for frame_size > 0.
2013-10-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* gcc.target/s390/htm-nofloat-2.c: New testcase.
From-SVN: r203240
Andreas Krebbel [Mon, 7 Oct 2013 07:50:25 +0000 (07:50 +0000)]
2013-10-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/s390.md ("tbegin", "tbegin_nofloat", "tbegin_retry")
("tbegin_retry_nofloat", "tend", "tabort", "tx_assist"): Remove
constraint letters from expanders.
("tbegin_retry", "tbegin_retry_nofloat"): Change predicate of the
retry count to general_operand.
("tabort"): Give operand 0 a mode.
("tabort_1"): Add mode and constraint letter for operand 0.
* doc/extend.texi: Fix protoype of __builtin_non_tx_store.
2013-10-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* gcc.target/s390/htm-1.c: Add more tests to cover different
operand types.
From-SVN: r203239
GCC Administrator [Mon, 7 Oct 2013 00:16:52 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r203235
Paolo Carlini [Sun, 6 Oct 2013 21:41:19 +0000 (21:41 +0000)]
re PR c++/58126 (No diagnostic when inheriting an uninitialized const or reference member)
/cp
2013-10-06 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58126
* class.c (check_bases): Propagate CLASSTYPE_READONLY_FIELDS_NEED_INIT
and CLASSTYPE_REF_FIELDS_NEED_INIT from bases to derived.
* init.c (diagnose_uninitialized_cst_or_ref_member_1): Extend error
messages about uninitialized const and references members to mention
the base class.
/testsuite
2013-10-06 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58126
* g++.dg/init/uninitialized1.C: New.
From-SVN: r203232
Tim Shen [Sun, 6 Oct 2013 17:53:14 +0000 (17:53 +0000)]
regex.h: (regex_token_iterator<>::regex_token_iterator): Fix compile error.
2013-10-06 Tim Shen <timshen91@gmail.com>
* include/bits/regex.h: (regex_token_iterator<>::regex_token_iterator):
Fix compile error.
* include/bits/regex.tcc: (regex_replace<>): Remove default parameter.
2013-10-06 Tim Shen <timshen91@gmail.com>
* include/bits/regex.h (__regex_algo_impl<>, regex_match<>,
regex_search<>): New abstract function for regex_match and regex_search.
* include/bits/regex.tcc (__regex_algo_impl<>): Implement.
* include/bits/regex_executor.h
(_Executor<>::_M_lookahead,
_DFSExecutor<>::_M_clone,
_BFSExecutor<>::_M_clone): Let _M_clone to choose which executor to
use.
* include/bits/regex_executor.tcc (__get_executor<>): Update the
definition to support __policy.
* testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc: Use
*_debug.
* testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc: Same.
* testsuite/28_regex/algorithms/regex_match/basic/string_01.cc: Same.
* testsuite/28_regex/algorithms/regex_match/basic/string_range_00_03.cc:
Same.
* testsuite/28_regex/algorithms/regex_match/basic/string_range_01_03.cc:
Same.
* testsuite/28_regex/algorithms/regex_match/basic/string_range_02_03.cc:
Same.
* testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc: Same.
* testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc: Same.
* testsuite/28_regex/algorithms/regex_match/ecma/char/58576.cc: Same.
* testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc:
Same.
* testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc: Same.
* testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc:
Same.
* testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc:
Same.
* testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: Same.
* testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
Same.
* testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/anymatcher.cc:
Same.
* testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc: Same.
* testsuite/28_regex/algorithms/regex_match/extended/
string_bracket_01.cc: Same.
* testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc:
Same.
* testsuite/28_regex/algorithms/regex_match/extended/
string_questionmark.cc: Same.
* testsuite/28_regex/algorithms/regex_match/extended/cstring_range.cc:
Same.
* testsuite/28_regex/algorithms/regex_match/extended/string_any.cc:
Same.
* testsuite/28_regex/algorithms/regex_match/extended/
string_dispatch_01.cc: Same.
* testsuite/28_regex/algorithms/regex_match/extended/
string_range_00_03.cc: Same.
* testsuite/28_regex/algorithms/regex_match/extended/
string_range_01_03.cc: Same.
* testsuite/28_regex/algorithms/regex_match/extended/
string_range_02_03.cc: Same.
* testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc:
Same.
* testsuite/28_regex/algorithms/regex_search/basic/string_01.cc: Same.
* testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc: Same.
* testsuite/28_regex/algorithms/regex_search/ecma/flags.cc: Same.
* testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: Same.
* testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc: Same.
* testsuite/28_regex/match_results/format.cc: Same.
* testsuite/util/testsuite_regex.h
(regex_match_debug<>, regex_search_debug<>): Implement.
From-SVN: r203231
Paolo Carlini [Sun, 6 Oct 2013 14:43:07 +0000 (14:43 +0000)]
re PR c++/56060 (ICE on invalid code in type_dependent_expression_p, at cp/pt.c:19742)
/cp
2013-10-06 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/56060
* pt.c (type_dependent_expression_p): Handle EXPR_PACK_EXPANSION.
/testsuite
2013-10-06 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/56060
* g++.dg/cpp0x/variadic144.C: New.
From-SVN: r203229
Oleg Endo [Sun, 6 Oct 2013 13:44:47 +0000 (13:44 +0000)]
re PR libstdc++/58625 (std::signbit always converts to double)
2013-10-06 Oleg Endo <olegendo@gcc.gnu.org>
Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/58625
* include/c_global/cmath (signbit): Use __builtin_signbitf and
__builtin_signbitl.
Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r203228
GCC Administrator [Sun, 6 Oct 2013 00:16:38 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r203227
GCC Administrator [Sat, 5 Oct 2013 00:17:08 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r203223
Paolo Carlini [Fri, 4 Oct 2013 23:48:29 +0000 (23:48 +0000)]
re PR c++/58560 ([c++11] ICE with auto in typedef)
/cp
2013-10-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58560
* typeck2.c (build_functional_cast): Use error_operand_p on exp.
/testsuite
2013-10-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58560
* g++.dg/cpp0x/auto39.C: New.
From-SVN: r203220
Paolo Carlini [Fri, 4 Oct 2013 23:17:51 +0000 (23:17 +0000)]
re PR c++/58503 ([c++11] ICE with invalid range in range-based for-loop)
/cp
2013-10-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58503
* parser.c (cp_parser_perform_range_for_lookup): If eventually
either *begin or *end is type-dependent, return NULL_TREE.
(do_range_for_auto_deduction): If cp_parser_perform_range_for_lookup
returns NULL_TREE, don't actually do_auto_deduction.
/testsuite
2013-10-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58503
* g++.dg/cpp0x/range-for26.C: New.
* g++.dg/cpp0x/range-for27.C: Likewise.
From-SVN: r203219
Paolo Carlini [Fri, 4 Oct 2013 23:13:59 +0000 (23:13 +0000)]
re PR c++/58448 (ICE on invalid: tree_class_check_failed)
/cp
2013-10-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58448
* pt.c (tsubst): Use error_operand_p on parameter t.
/testsuite
2013-10-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58448
* g++.dg/template/crash117.C: New.
From-SVN: r203218
Jeff Law [Fri, 4 Oct 2013 20:36:27 +0000 (14:36 -0600)]
tree-ssa-threadedge.c: Fix some trailing whitespace problems.
* tree-ssa-threadedge.c: Fix some trailing whitespace problems.
* tree-ssa-threadedge.c (thread_through_normal_block): Broken out of ...
(thread_across_edge): Here. Call it.
From-SVN: r203217
Ian Lance Taylor [Fri, 4 Oct 2013 18:52:22 +0000 (18:52 +0000)]
reflect: Fix calling Interface method on value created by MakeFunc.
From-SVN: r203212
Chris Manghane [Fri, 4 Oct 2013 18:07:20 +0000 (18:07 +0000)]
compiler: Use backend interface for temporary reference expressions.
* go-gcc.cc (Backend::convert_expression): New function.
From-SVN: r203209
Cary Coutant [Fri, 4 Oct 2013 16:25:23 +0000 (16:25 +0000)]
dwarf2out.c (dw_sra_loc_expr): Release addr_table entries when discarding a location list expression (or a...
gcc/
* dwarf2out.c (dw_sra_loc_expr): Release addr_table entries when
discarding a location list expression (or a piece of one).
From-SVN: r203206
Jan Hubicka [Fri, 4 Oct 2013 16:19:23 +0000 (16:19 +0000)]
Fix changelog.
From-SVN: r203205
Uros Bizjak [Fri, 4 Oct 2013 07:06:16 +0000 (09:06 +0200)]
* ChangeLog: Some further fixes.
From-SVN: r203199
Uros Bizjak [Fri, 4 Oct 2013 07:04:51 +0000 (09:04 +0200)]
ChangeLog: Fix ChangeLog.
* ChangeLog: Fix ChangeLog.
* testsuite/ChangeLog: Ditto.
From-SVN: r203198
GCC Administrator [Fri, 4 Oct 2013 00:16:56 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r203197
Marc Glisse [Thu, 3 Oct 2013 23:48:18 +0000 (01:48 +0200)]
re PR c++/19476 (Missed null checking elimination with new)
2013-10-04 Marc Glisse <marc.glisse@inria.fr>
PR c++/19476
gcc/cp/
* decl.c (cxx_init_decl_processing): Set operator_new_flag.
gcc/testsuite/
* g++.dg/tree-ssa/pr19476-5.C: New file.
* g++.dg/tree-ssa/pr19476-1.C: Mention pr19476-5.C.
From-SVN: r203194
Paolo Carlini [Thu, 3 Oct 2013 22:50:59 +0000 (22:50 +0000)]
re PR c++/58584 ([c++11] ICE with invalid argument for alignas)
/cp
2013-10-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58584
* decl2.c (save_template_attributes): Handle error_mark_node as
*attr_p argument.
(cp_check_const_attributes): Likewise for attributes.
* parser.c (cp_parser_std_attribute_spec): When alignas_expr is an
error_mark_node call cp_parser_skip_to_end_of_statement.
/testsuite
2013-10-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58584
* g++.dg/cpp0x/gen-attrs-55.C: New.
From-SVN: r203193
Joseph Myers [Thu, 3 Oct 2013 21:44:12 +0000 (22:44 +0100)]
* sr.po: Update.
From-SVN: r203191
Tim Shen [Thu, 3 Oct 2013 20:54:01 +0000 (20:54 +0000)]
regex_executor.tcc (_DFSExecutor<>::_M_dfs): Fix wrong backup variable initialization.
2013-10-03 Tim Shen <timshen91@gmail.com>
* include/bits/regex_executor.tcc (_DFSExecutor<>::_M_dfs): Fix wrong
backup variable initialization.
From-SVN: r203190
John Woolverton [Thu, 3 Oct 2013 20:33:05 +0000 (20:33 +0000)]
re PR libstdc++/58604 (Text truncation in comments of /usr/include/c++/4.7/vector)
2013-10-03 John Woolverton <jdwoolverton@gmail.com>
PR libstdc++/58604
* include/std/vector: Fix garbled line in HP Copyright.
From-SVN: r203187
Easwaran Raman [Thu, 3 Oct 2013 17:39:35 +0000 (17:39 +0000)]
re PR c++/33911 (attribute deprecated vs. templates)
2013-10-03 Easwaran Raman <eraman@google.com>
PR c++/33911
* parser.c (cp_parser_init_declarator): Do not drop attributes
of template member functions.
2013-10-03 Easwaran Raman <eraman@google.com>
PR c++/33911
* g++.dg/ext/attribute47.C: New.
From-SVN: r203174
Jan Hubicka [Thu, 3 Oct 2013 17:27:32 +0000 (19:27 +0200)]
i386.c (ix86_issue_rate): Pentium4, Nocona has issue rate of 2.
* i386.c (ix86_issue_rate): Pentium4, Nocona has issue rate of 2.
Core2, Corei7 and Haswell has issue rate of 4.
(ix86_adjust_cost): Remove ATOM case; fix core2/corei7/Haswell case.
From-SVN: r203172
Jan Hubicka [Thu, 3 Oct 2013 17:25:42 +0000 (19:25 +0200)]
i386.c (ix86_option_override_internal): Do not enable accumulate-outgoing-args when producing unwind info.
* i386.c (ix86_option_override_internal): Do not enable
accumulate-outgoing-args when producing unwind info.
From-SVN: r203171
Wei Mi [Thu, 3 Oct 2013 17:18:26 +0000 (17:18 +0000)]
lra-constraints.c (insert_move_for_subreg): New function extracted from simplify_operand_subreg.
2013-10-03 Wei Mi <wmi@google.com>
* lra-constraints.c (insert_move_for_subreg): New function
extracted from simplify_operand_subreg.
(simplify_operand_subreg): Add reload for paradoxical subreg.
From-SVN: r203169
Rong Xu [Thu, 3 Oct 2013 17:15:56 +0000 (17:15 +0000)]
ipa-inline-analysis.c (find_foldable_builtin_expect): Find the candidate of builtin_expect such that we should fix the size/time...
* ipa-inline-analysis.c (find_foldable_builtin_expect): Find
the candidate of builtin_expect such that we should fix the
size/time estimation.
(estimate_function_body_sizes): Do the acutally size/time fix-up
for builtin_expect.
From-SVN: r203168
Rong Xu [Thu, 3 Oct 2013 17:13:50 +0000 (17:13 +0000)]
predict.c (tree_predict_by_opcode): Get the probability for builtin_expect from param builtin_expect_probability.
* predict.c (tree_predict_by_opcode): Get the probability
for builtin_expect from param builtin_expect_probability.
* params.def (BUILTIN_EXPECT_PROBABILITY): New parameter.
* predict.def (PRED_BUILTIN_EXPECT_RELAXED): Fix comments.
* doc/invoke.texi: Add documentation for builtin-expect-probability.
* gcc.target/i386/cold-attribute-2.c: Fix the test by using original
probability.
* gcc.dg/tree-ssa/ipa-split-5.c: Ditto.
* gcc.dg/tree-ssa/ipa-split-6.c: Ditto.
--This li (t)ene, and those below, will be ignored--
M gcc/params.def
M gcc/predict.def
M gcc/ChangeLog
M gcc/testsuite/gcc.dg/tree-ssa/ipa-split-5.c
M gcc/testsuite/gcc.dg/tree-ssa/ipa-split-6.c
M gcc/testsuite/gcc.target/i386/cold-attribute-2.c
M gcc/predict.c
M gcc/doc/invoke.texi
From-SVN: r203167
Marek Polacek [Thu, 3 Oct 2013 16:33:23 +0000 (16:33 +0000)]
re PR c++/58510 ([c++11] ICE with multiple non-static data initializations in union)
PR c++/58510
cp/
* init.c (sort_mem_initializers): Splice when giving an error.
testsuite/
* g++.dg/cpp0x/pr58510.C: New test.
From-SVN: r203165
Marc Glisse [Thu, 3 Oct 2013 16:16:40 +0000 (18:16 +0200)]
del_op.cc (operator delete): Don't test for 0 before free.
2013-10-03 Marc Glisse <marc.glisse@inria.fr>
* libsupc++/del_op.cc (operator delete): Don't test for 0 before free.
* libsupc++/del_opnt.cc (free): Only declare if freestanding.
(operator delete): Qualify free with std::.
From-SVN: r203164
Marc Glisse [Thu, 3 Oct 2013 16:13:54 +0000 (18:13 +0200)]
re PR c++/19476 (Missed null checking elimination with new)
2013-10-03 Marc Glisse <marc.glisse@inria.fr>
PR c++/19476
gcc/c-family/
* c.opt (fcheck-new): Move to common.opt.
gcc/
* common.opt (fcheck-new): Moved from c.opt. Make it 'Common'.
* calls.c (alloca_call_p): Use get_callee_fndecl.
* fold-const.c (tree_expr_nonzero_warnv_p): Handle operator new.
* tree-vrp.c (gimple_stmt_nonzero_warnv_p, stmt_interesting_for_vrp):
Likewise.
(vrp_visit_stmt): Remove duplicated code.
gcc/testsuite/
* g++.dg/tree-ssa/pr19476-1.C: New file.
* g++.dg/tree-ssa/pr19476-2.C: Likewise.
* g++.dg/tree-ssa/pr19476-3.C: Likewise.
* g++.dg/tree-ssa/pr19476-4.C: Likewise.
From-SVN: r203163
Michael Meissner [Thu, 3 Oct 2013 16:08:53 +0000 (16:08 +0000)]
rs6000-builtin.def (XSRDPIM): Use floatdf2, ceildf2, btruncdf2, instead of vsx_* name.
[gcc]
2013-10-03 Michael Meissner <meissner@linux.vnet.ibm.com>
* config/rs6000/rs6000-builtin.def (XSRDPIM): Use floatdf2,
ceildf2, btruncdf2, instead of vsx_* name.
* config/rs6000/vsx.md (vsx_add<mode>3): Change arithmetic
iterators to only do V2DF and V4SF here. Move the DF code to
rs6000.md where it is combined with SF mode. Replace <VSv> with
just 'v' since only vector operations are handled with these insns
after moving the DF support to rs6000.md.
(vsx_sub<mode>3): Likewise.
(vsx_mul<mode>3): Likewise.
(vsx_div<mode>3): Likewise.
(vsx_fre<mode>2): Likewise.
(vsx_neg<mode>2): Likewise.
(vsx_abs<mode>2): Likewise.
(vsx_nabs<mode>2): Likewise.
(vsx_smax<mode>3): Likewise.
(vsx_smin<mode>3): Likewise.
(vsx_sqrt<mode>2): Likewise.
(vsx_rsqrte<mode>2): Likewise.
(vsx_fms<mode>4): Likewise.
(vsx_nfma<mode>4): Likewise.
(vsx_copysign<mode>3): Likewise.
(vsx_btrunc<mode>2): Likewise.
(vsx_floor<mode>2): Likewise.
(vsx_ceil<mode>2): Likewise.
(vsx_smaxsf3): Delete scalar ops that were moved to rs6000.md.
(vsx_sminsf3): Likewise.
(vsx_fmadf4): Likewise.
(vsx_fmsdf4): Likewise.
(vsx_nfmadf4): Likewise.
(vsx_nfmsdf4): Likewise.
(vsx_cmpdf_internal1): Likewise.
* config/rs6000/rs6000.h (TARGET_SF_SPE): Define macros to make it
simpler to select whether a target has SPE or traditional floating
point support in iterators.
(TARGET_DF_SPE): Likewise.
(TARGET_SF_FPR): Likewise.
(TARGET_DF_FPR): Likewise.
(TARGET_SF_INSN): Macros to say whether floating point support
exists for a given operation for expanders.
(TARGET_DF_INSN): Likewise.
* config/rs6000/rs6000.c (Ftrad): New mode attributes to allow
combining of SF/DF mode operations, using both traditional and VSX
registers.
(Fvsx): Likewise.
(Ff): Likewise.
(Fv): Likewise.
(Fs): Likewise.
(Ffre): Likewise.
(FFRE): Likewise.
(abs<mode>2): Combine SF/DF modes using traditional floating point
instructions. Add support for using the upper DF registers with
VSX support, and SF registers with power8-vector support. Update
expanders for operations supported by both the SPE and traditional
floating point units.
(abs<mode>2_fpr): Likewise.
(nabs<mode>2): Likewise.
(nabs<mode>2_fpr): Likewise.
(neg<mode>2): Likewise.
(neg<mode>2_fpr): Likewise.
(add<mode>3): Likewise.
(add<mode>3_fpr): Likewise.
(sub<mode>3): Likewise.
(sub<mode>3_fpr): Likewise.
(mul<mode>3): Likewise.
(mul<mode>3_fpr): Likewise.
(div<mode>3): Likewise.
(div<mode>3_fpr): Likewise.
(sqrt<mode>3): Likewise.
(sqrt<mode>3_fpr): Likewise.
(fre<Fs>): Likewise.
(rsqrt<mode>2): Likewise.
(cmp<mode>_fpr): Likewise.
(smax<mode>3): Likewise.
(smin<mode>3): Likewise.
(smax<mode>3_vsx): Likewise.
(smin<mode>3_vsx): Likewise.
(negsf2): Delete SF operations that are merged with DF.
(abssf2): Likewise.
(addsf3): Likewise.
(subsf3): Likewise.
(mulsf3): Likewise.
(divsf3): Likewise.
(fres): Likewise.
(fmasf4_fpr): Likewise.
(fmssf4_fpr): Likewise.
(nfmasf4_fpr): Likewise.
(nfmssf4_fpr): Likewise.
(sqrtsf2): Likewise.
(rsqrtsf_internal1): Likewise.
(smaxsf3): Likewise.
(sminsf3): Likewise.
(cmpsf_internal1): Likewise.
(copysign<mode>3_fcpsgn): Add VSX/power8-vector support.
(negdf2): Delete DF operations that are merged with SF.
(absdf2): Likewise.
(nabsdf2): Likewise.
(adddf3): Likewise.
(subdf3): Likewise.
(muldf3): Likewise.
(divdf3): Likewise.
(fred): Likewise.
(rsqrtdf_internal1): Likewise.
(fmadf4_fpr): Likewise.
(fmsdf4_fpr): Likewise.
(nfmadf4_fpr): Likewise.
(nfmsdf4_fpr): Likewise.
(sqrtdf2): Likewise.
(smaxdf3): Likewise.
(smindf3): Likewise.
(cmpdf_internal1): Likewise.
(lrint<mode>di2): Use TARGET_<MODE>_FPR macro.
(btrunc<mode>2): Delete separate expander, and combine with the
insn and add VSX instruction support. Use TARGET_<MODE>_FPR.
(btrunc<mode>2_fpr): Likewise.
(ceil<mode>2): Likewise.
(ceil<mode>2_fpr): Likewise.
(floor<mode>2): Likewise.
(floor<mode>2_fpr): Likewise.
(fma<mode>4_fpr): Combine SF and DF fused multiply/add support.
Add support for using the upper registers with VSX and
power8-vector. Move insns to be closer to the define_expands. On
VSX systems, prefer the traditional form of FMA over the VSX
version, since the traditional form allows the target not to
overlap with the inputs.
(fms<mode>4_fpr): Likewise.
(nfma<mode>4_fpr): Likewise.
(nfms<mode>4_fpr): Likewise.
[gcc/testsuite]
2013-10-03 Michael Meissner <meissner@linux.vnet.ibm.com>
* gcc.target/powerpc/p8vector-fp.c: New test for floating point
scalar operations when using -mupper-regs-sf and -mupper-regs-df.
* gcc.target/powerpc/ppc-target-1.c: Update tests to allow either
VSX scalar operations or the traditional floating point form of
the instruction.
* gcc.target/powerpc/ppc-target-2.c: Likewise.
* gcc.target/powerpc/recip-3.c: Likewise.
* gcc.target/powerpc/recip-5.c: Likewise.
* gcc.target/powerpc/pr72747.c: Likewise.
* gcc.target/powerpc/vsx-builtin-3.c: Likewise.
From-SVN: r203162
Kyrylo Tkachov [Thu, 3 Oct 2013 13:58:42 +0000 (13:58 +0000)]
aarch-common-protos.h (struct alu_cost_table): New.
[gcc/]
2013-10-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
Richard Earnshaw <richard.earnshaw@arm.com>
* config/arm/aarch-common-protos.h (struct alu_cost_table): New.
(struct mult_cost_table): Likewise.
(struct mem_cost_table): Likewise.
(struct fp_cost_table): Likewise.
(struct vector_cost_table): Likewise.
(cpu_cost_table): Likewise.
* config/arm/arm.opt (mold-rts-costs): New option.
(mnew-generic-costs): Likewise.
* config/arm/arm.c (generic_extra_costs): New table.
(cortexa15_extra_costs): Likewise.
(arm_slowmul_tune): Use NULL as new costs.
(arm_fastmul_tune): Likewise.
(arm_strongarm_tune): Likewise.
(arm_xscale_tune): Likewise.
(arm_9e_tune): Likewise.
(arm_v6t2_tune): Likewise.
(arm_cortex_a5_tune): Likewise.
(arm_cortex_a9_tune): Likewise.
(arm_v6m_tune): Likewise.
(arm_fa726te_tune): Likewise.
(arm_cortex_a15_tune): Use cortex15_extra_costs.
(arm_cortex_tune): Use generict_extra_costs.
(shifter_op_p): New function.
(arm_unspec_cost): Likewise.
(LIBCALL_COST): Define.
(arm_new_rtx_costs): New function.
(arm_rtx_costs): Use arm_new_rtx_costs when core-specific
table is available. Use old costs otherwise unless mnew-generic-costs
is specified.
* config/arm/arm-protos.h (tune_params): Add insn_extra_cost field.
(cpu_cost_table): Declare.
Co-Authored-By: Richard Earnshaw <rearnsha@arm.com>
From-SVN: r203160
Marcus Shawcroft [Thu, 3 Oct 2013 10:54:36 +0000 (10:54 +0000)]
[AArch64] Fix PR58460
PR58460, the add and sub shifted register instruction forms in AArch64
do not permit the stack register. This patch removes k constraint
from the relevant patterns and adds reduced form of the test case.
From-SVN: r203157
Ian Bolton [Thu, 3 Oct 2013 09:50:21 +0000 (09:50 +0000)]
[AArch64] Remove un-necessary secondary reload for addition to SP.
From-SVN: r203156
Teresa Johnson [Thu, 3 Oct 2013 05:06:05 +0000 (05:06 +0000)]
predict.c (probably_never_executed): New function.
2013-10-02 Teresa Johnson <tejohnson@google.com>
* predict.c (probably_never_executed): New function.
(probably_never_executed_bb_p): Invoke probably_never_executed.
(probably_never_executed_edge_p): Ditto.
* bb-reorder.c (find_rarely_executed_basic_blocks_and_crossing_edges):
Treat profile insanities conservatively.
From-SVN: r203152
John David Anglin [Thu, 3 Oct 2013 01:11:41 +0000 (01:11 +0000)]
config.host (hppa*64*-*-linux*): Define extra_parts.
* config.host (hppa*64*-*-linux*): Define extra_parts.
(hppa*-*-linux*): Likewise.
From-SVN: r203151
John David Anglin [Thu, 3 Oct 2013 00:42:58 +0000 (00:42 +0000)]
config.gcc (hppa*64*-*-linux*): Don't add pa/t-linux to tmake_file.
* config.gcc (hppa*64*-*-linux*): Don't add pa/t-linux to tmake_file.
From-SVN: r203148
Vladimir Makarov [Thu, 3 Oct 2013 00:35:43 +0000 (00:35 +0000)]
lra-constraints.c (process_alt_operand): Calculate scratch_p and use it.
2013-10-02 Vladimir Makarov <vmakarov@redhat.com>
* lra-constraints.c (process_alt_operand): Calculate scratch_p and
use it. Use smaller increase for scratch. Don't increase reject
for early clobber scratch.
* lra-eliminations.c (eliminate_regs_in_insn): Remove all insns
setting eliminated regs except setting fp from hfp.
(lra_eliminate): Check lra_insn_recog_data on NULL.
From-SVN: r203147
GCC Administrator [Thu, 3 Oct 2013 00:17:10 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r203146
Michael Meissner [Thu, 3 Oct 2013 00:01:45 +0000 (00:01 +0000)]
re PR target/58587 (Bootstrap error with ada with -mcpu=power7)
2013-10-02 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/58587
* config/rs6000/rs6000-cpus.def (ISA_2_6_MASKS_SERVER): Turn off
setting -mvsx-timode by default until the underlying problem is
fixed.
(RS6000_CPU, power7 defaults): Likewise.
From-SVN: r203142
Ian Lance Taylor [Wed, 2 Oct 2013 23:49:39 +0000 (23:49 +0000)]
runtime: Fix append of slice with elements of zero size.
From-SVN: r203140
Uros Bizjak [Wed, 2 Oct 2013 21:24:50 +0000 (23:24 +0200)]
x-linux (host-linux.o): Remove header dependencies.
* config/x-linux (host-linux.o): Remove header dependencies.
Use $(COMPILE) and $(POSTCOMPILE).
* config/t-linux-android (linux-android.o): Ditto.
From-SVN: r203136
Tobias Burnus [Wed, 2 Oct 2013 21:02:14 +0000 (23:02 +0200)]
re PR fortran/58593 (internal compiler error: in gfc_conv_string_tmp, at fortran/trans-expr.c:2360)
2013-10-02 Tobias Burnus <burnus@net-b.de>
PR fortran/58593
* trans-expr.c (gfc_conv_string_tmp): Fix obtaining
the byte size of a single character.
2013-10-02 Tobias Burnus <burnus@net-b.de>
PR fortran/58593
* gfortran.dg/char_length_19.f90: New.
From-SVN: r203135
Jonathan Wakely [Wed, 2 Oct 2013 20:21:52 +0000 (20:21 +0000)]
re PR libstdc++/58569 (Compilation error when a class contains multiple std::function)
2013-10-02 Jonathan Wakely <jwakely.gcc@gmail.com>
Daniel Krugler <daniel.kruegler@gmail.com>
PR libstdc++/58569
* include/std/functional (function::_CheckResult): Move to namespace
scope and rename to __check_func_return_type.
* testsuite/20_util/function/58569.cc: New.
Co-Authored-By: Daniel Kruegler <daniel.kruegler@gmail.com>
From-SVN: r203132
Jonathan Wakely [Wed, 2 Oct 2013 19:55:14 +0000 (19:55 +0000)]
re PR libstdc++/58594 (std::make_shared does not accept const types as parameters)
PR libstdc++/58594
* include/bits/shared_ptr_base.h
(_Sp_counted_ptr_inplace::_M_get_deleter()): Cast away cv-quals.
* testsuite/20_util/shared_ptr/creation/58594.cc: New.
From-SVN: r203131
Uros Bizjak [Wed, 2 Oct 2013 19:52:27 +0000 (21:52 +0200)]
Makefile.in (expmed.o-warn): Remove.
* Makefile.in (expmed.o-warn): Remove.
From-SVN: r203130
Andrew MacLeod [Wed, 2 Oct 2013 19:41:14 +0000 (19:41 +0000)]
graphite-scop-detection.c: Include tree-ssa-propagate,h.
* graphite-scop-detection.c: Include tree-ssa-propagate,h.
* graphite-sese-to-poly.c: Include tree-ssa-propagate.h.
From-SVN: r203129
Chris Manghane [Wed, 2 Oct 2013 19:22:07 +0000 (19:22 +0000)]
compiler: Use backend interface for numeric expressions.
* go-gcc.cc: Include "real.h" and "realmpfr.h".
(Backend::integer_constant_expression): New function.
(Backend::float_constant_expression): New function.
(Backend::complex_constant_expression): New function.
From-SVN: r203127
Teresa Johnson [Wed, 2 Oct 2013 19:18:17 +0000 (19:18 +0000)]
This patch fixes an issue where expansion of an ORIF expression arbitrarily...
This patch fixes an issue where expansion of an ORIF expression arbitrarily
applied the probability that the entire condition was true to just the
first condition. When the ORIF true probability was 100%, this resulted
in the second condition's jump being given a count of zero (since the
first condition's jump got 100% of the count), leading to incorrect function
splitting when it had a non-zero probability in reality. Since there
currently isn't better information about which condition resulted
in the ORIF being true, apply a 50-50 probability that it is the first
vs. second condition that caused the entire expression to be true,
so that neither condition's true label ends up as a 0-count bb.
An equivalent fix is made for ANDIF expansion.
2013-10-02 Teresa Johnson <tejohnson@google.com>
* dojump.c (do_jump_1): Divide probability between
both conditions of a TRUTH_ORIF_EXPR.
From-SVN: r203126
Tom Tromey [Wed, 2 Oct 2013 18:46:18 +0000 (18:46 +0000)]
* Makefile.in (DRIVER_DEFINES): Use $(if), not $(and).
From-SVN: r203125
Paolo Carlini [Wed, 2 Oct 2013 18:25:55 +0000 (18:25 +0000)]
re PR c++/58535 (ICE with virtual template function)
/cp
2013-10-02 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58535
* parser.c (cp_parser_function_specifier_opt): Upon error about
virtual templates don't set ds_virtual.
(finish_fully_implicit_template): Reject virtual implicit templates.
/testsuite
2013-10-02 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58535
* g++.dg/parse/crash65.C: New.
* g++.dg/cpp1y/pr58535.C: Likewise.
From-SVN: r203123
Andrew MacLeod [Wed, 2 Oct 2013 17:57:54 +0000 (17:57 +0000)]
tree-flow.h: Remove some prototypes.
* tree-flow.h: Remove some prototypes.
* tree-ssa-dce.c (mark_virtual_operand_for_renaming,
mark_virtual_phi_result_for_renaming): Move to tree-into-ssa.c.
* tree-into-ssa.c (mark_virtual_operand_for_renaming,
mark_virtual_phi_result_for_renaming): Relocate here.
* tree-into-ssa.h: Add prototypes.
* tree-ssa-phiopt.c: (tree_ssa_phiopt_worker) Use
single_pred_before_succ_order.
(blocks_in_phiopt_order): Rename and move to cfganal.c.
(nonfreeing_call_p) Move to gimple.c.
* cfganal.c (single_pred_before_succ_order): Move and renamed from
tree-ssa-phiopt.c.
* basic-block.h (single_pred_before_succ_order): Add prototype.
* gimple.c (nonfreeing_call_p): Relocate here.
* gimple.h: Add prototype.
* tree-ssa-ifcombine.c: Include tree-ssa-phiopt.h.
* tree-ssa-dom.h: New file. Relocate prototypes here.
* tree-ssa.h: Include tree-ssa-dom.h.
From-SVN: r203122
Ian Lance Taylor [Wed, 2 Oct 2013 17:30:07 +0000 (17:30 +0000)]
reflect: Use hand-coded .eh_frame section rather than CFI directives.
From Rainer Orth.
From-SVN: r203120
Uros Bizjak [Wed, 2 Oct 2013 16:43:16 +0000 (18:43 +0200)]
x-i386 (driver-i386.o): Remove header dependencies.
* config/i386/x-i386 (driver-i386.o): Remove header dependencies.
Use $(COMPILE) and $(POSTCOMPILE).
* config/alpha/x-alpha (driver-alpha.o): Ditto.
From-SVN: r203119
Andrew MacLeod [Wed, 2 Oct 2013 15:29:35 +0000 (15:29 +0000)]
tree-flow.h: Remove some prototypes.
2013-10-02 Andrew MacLeod <amacleod@redhat.com>
* tree-flow.h: Remove some prototypes.
* gimple-fold.h: Add prototypes from gimple.h and tree-flow.h.
* tree-ssa-propagate.h: Relocate prototypes from tree-flow.h.
* tree-ssa-copy.c (may_propagate*, propagate_value, replace_exp,
propagate_tree_value*): Move from here to...
* tree-ssa-propagate.c (may_propagate*, propagate_value, replace_exp,
propagate_tree_value*): Relocate here.
* tree-ssa-propagate.h: Relocate prototypes from tree-flow.h.
* gimple.h: Include gimple-fold.h, move prototypes into gimple-fold.h.
* gimple-fold.c: Remove gimple-fold.h from include list.
* tree-vrp.c: Remove gimple-fold.h from include list.
* tree-ssa-sccvn.c: Remove gimple-fold.h from include list.
* tree-ssa-ccp.c: Remove gimple-fold.h from include list.
* tree-scalar-evolution.c: Add tree-ssa-propagate.h to include list.
* tree-ssa-pre.c: Add tree-ssa-propagate.h to include list.
* sese.c: Add tree-ssa-propagate.h to include list.
From-SVN: r203118
Tim Shen [Wed, 2 Oct 2013 15:13:18 +0000 (15:13 +0000)]
2013-10-02 Tim Shen <timshen91@gmail.com>
* include/bits/regex_compiler.h
(_BracketMatcher<>::_M_add_equivalence_class): Implement it correctly.
* include/bits/regex_compiler.tcc (_BracketMatcher<>::operator()):
Add _M_equiv_set support.
* testsuite/28_regex/algorithms/regex_match/extended/
cstring_bracket_01.cc: Add new "[[=a=]]" testcase.
From-SVN: r203117
Kugan Vivekanandarajah [Wed, 2 Oct 2013 14:07:45 +0000 (16:07 +0200)]
Add forgotten test case for r203059.
2013-10-01 Kugan Vivekanandarajah <kuganv@linaro.org>
gcc/testsuite
PR target/58578
* gcc.target/arm/pr58578.c: New test.
From-SVN: r203116
Richard Biener [Wed, 2 Oct 2013 13:46:32 +0000 (13:46 +0000)]
tree-loop-distribution.c: Include tree-vectorizer.h for find_loop_location.
2013-10-02 Richard Biener <rguenther@suse.de>
* tree-loop-distribution.c: Include tree-vectorizer.h for
find_loop_location.
(enum partition_kind): Remove PKIND_REDUCTION.
(struct partition_s): Remove has_writes member, add reduction_p
member.
(partition_alloc): Adjust.
(partition_builtin_p): Likewise.
(partition_has_writes): Remove.
(partition_reduction_p): New function.
(partition_merge_into): Likewise.
(generate_code_for_partition): Commonize builtin partition
handling tail.
(rdg_cannot_recompute_vertex_p): Remove.
(already_processed_vertex_p): Likewise.
(rdg_flag_vertex): Do not set has_writes.
(classify_partition): Adjust.
(rdg_build_partitions): Do not set has_writes, treat all
partitions as useful.
(distribute_loop): Record number of library calls generated.
Adjust.
(tree_loop_distribution): Report number of loops and library
calls generated as opt-info.
* gcc.dg/tree-ssa/ldist-11.c: Adjust.
* gcc.dg/tree-ssa/ldist-17.c: Likewise.
* gcc.dg/tree-ssa/ldist-23.c: Likewise.
* gcc.dg/tree-ssa/ldist-pr45948.c: Likewise.
* gfortran.dg/ldist-pr45199.f: Likewise.
From-SVN: r203115
Andrew Macleod [Wed, 2 Oct 2013 13:19:52 +0000 (13:19 +0000)]
tree-flow.h: Include new .h files.
* tree-flow.h: Include new .h files. Move prototypes.
* tree-cfgcleanup.h: New file. Add prototypes from tree-flow.h.
* tree-dfa.h: New File. Add prototypes from tree-flow.h.
(get_addr_base_and_unit_offset_1) Move from tree-flow-inline.h.
* tree-pretty-print.h: Add prototypes from tree-flow.h.
* tree-into-ssa.h: New File. Add prototypes from tree-flow.h.
({debug|dump}*): Move debugging prototypes out of tree-into-ssa.c.
* tree-into-ssa.c ({debug|dump}*): Move prototypes to header file.
* tree.h (get_ref_base_and_extent): Move prototype out.
* tree-flow-inline.h (get_addr_base_and_unit_offset_1): Move to
tree-dfa.h.
* gimple-low.h: New File. Add prototypes from tree-flow.h.
* gimple-low.c (try_catch_may_fallthru, block_may_fallthru): Move to...
* tree.c (try_catch_may_fallthru, block_may_fallthru): Here.
* tree-scalar-evolution.c: Include tree.h.
* sese.c: Include tree.h.
* dumpfile.c: Move gimple-pretty-print.h include after tree.h.
* dwarf2out.c: Include tree-dfa.h.
* tree-chrec.c: Include tree.h.
* tree-data-ref.c: Include tree.h.
From-SVN: r203114