1. 16 Jul, 2012 18 commits
    • system.h (dump_file): Do not define. · 7ee2468b
      gcc/
      	* system.h (dump_file): Do not define.
      	* tree-pass.h: Include dumpfile.h, which is a new file containing...
      	(enum tree_dump_index, TDF_*, get_dump_file_name, dump_enabled_p,
      	dump_initialized_p, dump_begin, dump_end, dump_node, dump_switch_p,
      	dump_flag_name, dump_file, dump_flags, dump_file_name,
      	get_dump_file_info, struct dump_file_info): all of this, moved to...
      	* dumpfile.h: Here, new file.
      	* tree-dump.h: Include dumpfile.h, but not tree-pass.h.
      	(dump_stmt): Remove prototype for C++ specific function.
      	(dump_enumerated_decls): Move prototype from here...
      	* tree-flow.h (dump_enumerated_decls): ... to here.
      	(get_ref_base_and_extent) Move prototype from here ...
      	* tree.h (get_ref_base_and_extent) ... to here.
      	* tree-ssa-live.c: Do not inclde tree-pretty-print.h, because
      	gimple-pretty-print.h is enough.  Do not include tree-dump.h,
      	include timevar.h and dumpfile.h instead.
      	(struct numbered_tree_d, compare_decls_by_uid,
      	dump_enumerated_decls_push, dump_enumerated_decls): Move from here ...
      	* tree-dfa.c:(struct numbered_tree_d, compare_decls_by_uid,
      	dump_enumerated_decls_push, dump_enumerated_decls):... to here.
      	Do not include timevar.h.
      	* tree.c: Do not include timevar.h.
      	* tree-cfg.c: Do not include langhooks.h, tree-pretty-print.h, and
      	timevar.h.
      	(dump_cfg_stats): Use current_function_name.
      	(gimple_cfg2vcg): Likewise.
      	(dump_function_to_file): Likewise.
      	* df-scan.c: Do not include tree-pass.h and timevar.h.
      	Include dumpfile.h.
      	(df_entry_block_bitmap_verify, df_exit_block_bitmap_verify): Do not
      	use print_current_pass.
      	* df-problems.c: Include dumpfile.h.
      	Always define REG_DEAD_DEBUGGING, avoid #ifdef code, because it
      	leads to errors in the code not selected.
      	(df_note_compute): Do not print_rtl_with_bb here.  Fix compilation
      	bug if REG_DEAD_DEBUGGING is not 0, get_insns is not available here.
      	* lcm.c: Include dumpfile.h.
      	Remove obsolete include of insn-attr.h.
      	* dojump.c (do_compare_rtx_and_jump): Remove failure printing for
      	missing probability notes.
      	* stmt.c: Include dumpfile.h.
      	(emit_case_decision_tree): Re-enable printing expand details only
      	if TDF_DETAILS.
      	* alias.c, auto-inc-dec.c, bb-reorder.c, caller-save.c, cfg.c, 
      	cfgcleanup.c, cfgexpand.c, cfgloop.c, cfgloopmanip.c, cgraph.c, 
      	cgraphclones.c, cgraphunit.c, combine.c, combine-stack-adj.c, 
      	coverage.c, cprop.c, cse.c, cselib.c, dbgcnt.c, dce.c, df-core.c, 
      	dse.c, dwarf2out.c, emit-rtl.c, except.c, expr.c, final.c, 
      	function.c, fwprop.c, gcse.c, gimple-fold.c, 
      	gimple-pretty-print.c, gimple-ssa-strength-reduction.c, 
      	gimplify.c, graphite-blocking.c, graphite-clast-to-gimple.c, 
      	graphite-dependences.c, graphite-interchange.c, 
      	graphite-optimize-isl.c, graphite-poly.c, 
      	graphite-sese-to-poly.c, haifa-sched.c, hw-doloop.c, ifcvt.c, 
      	ipa.c, ipa-cp.c, ipa-inline-analysis.c, ipa-inline.c, 
      	ipa-inline-transform.c, ipa-prop.c, ipa-pure-const.c, 
      	ipa-reference.c, ipa-split.c, ipa-utils.c, ira.c, ira-emit.c, 
      	jump.c, loop-doloop.c, loop-init.c, loop-invariant.c, loop-iv.c, 
      	loop-unroll.c, loop-unswitch.c, lower-subreg.c, 
      	lto-section-out.c, lto-streamer-in.c, matrix-reorg.c, mcf.c, 
      	mode-switching.c, modulo-sched.c, omega.c, omp-low.c, passes.c, 
      	plugin.c, postreload.c, postreload-gcse.c, predict.c, print-rtl.c, 
      	print-tree.c, profile.c, recog.c, ree.c, regcprop.c, reginfo.c, 
      	regmove.c, regrename.c, reg-stack.c, reload1.c, reorg.c, 
      	sched-rgn.c, sched-vis.c, sel-sched.c, sel-sched-ir.c, 
      	store-motion.c, tracer.c, trans-mem.c, tree-affine.c, 
      	tree-call-cdce.c, tree-cfgcleanup.c, tree-chrec.c, 
      	tree-data-ref.c, tree-diagnostic.c, tree-dump.c,
      	tree-eh.c, tree-flow-inline.h, tree-if-conv.c, tree-into-ssa.c, 
      	tree-mudflap.c, tree-nrv.c, tree-object-size.c, 
      	tree-optimize.c, tree-outof-ssa.c, tree-predcom.c, 
      	tree-pretty-print.c, tree-profile.c, tree-scalar-evolution.c, 
      	tree-sra.c, tree-ssa-address.c, tree-ssa-alias.c, tree-ssa.c, 
      	tree-ssa-ccp.c, tree-ssa-coalesce.c, tree-ssa-copy.c, 
      	tree-ssa-copyrename.c,, tree-ssa-dce.c, tree-ssa-dom.c, 
      	tree-ssa-dse.c, tree-ssa-forwprop.c, tree-ssa-ifcombine.c, 
      	tree-ssa-loop.c, tree-ssa-loop-ch.c, tree-ssa-loop-im.c, 
      	tree-ssa-loop-ivcanon.c, tree-ssa-loop-ivopts.c, 
      	tree-ssa-loop-manip.c, tree-ssa-loop-niter.c, 
      	tree-ssa-loop-prefetch.c, tree-ssa-loop-unswitch.c, 
      	tree-ssa-math-opts.c, tree-ssa-operands.c, tree-ssa-phiopt.c, 
      	tree-ssa-phiprop.c, tree-ssa-pre.c, tree-ssa-propagate.c, 
      	tree-ssa-reassoc.c, tree-ssa-sccvn.c, tree-ssa-sink.c, 
      	tree-ssa-structalias.c, tree-ssa-tail-merge.c, tree-ssa-ter.c, 
      	tree-ssa-threadedge.c, tree-ssa-threadupdate.c, 
      	tree-ssa-uncprop.c, tree-ssa-uninit.c, 
      	tree-switch-conversion.c, tree-tailcall.c, 
      	tree-vect-data-refs.c, tree-vect-loop.c, 
      	tree-vect-loop-manip.c, tree-vectorizer.c, 
      	tree-vect-patterns.c, tree-vect-slp.c, tree-vect-stmts.c, 
      	tree-vrp.c, value-prof.c, var-tracking.c, web.c: Include tree-pass.h
      	only if needed.  If tree-pass.h is included, do not include timevar.h
      	and dumpfile.h.  If tree-pass.h is not included but dump_file, or
      	dump_flags, or the TDF_* flags are used, include dumpfile.h.
      	If gimple-pretty-print.h is included, don't include tree-pretty-print.h.
      	Remove assorted unnecessary includes.
      
      	* config/mn10300/mn10300.c, config/c6x/c6x.c, config/ia64/ia64.c,
      	config/arm/arm.c, config/bfin/bfin.c, config/frv/frv.c,
      	config/spu/spu.c, config/mep/mep.c, config/i386/i386.c:
      	Include dumpfile.h.
      	* config/rl78/rl78.c: Include dumpfile.h instead of tree-pass.h.
      	* arm/t-arm, avr/t-avr, i386/t-i386, ia64/t-ia64, mep/t-mep,
      	spu/t-spu-elf: Fix dependencies.
      
      c-family/
      	* c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
      	* c-ada-spec.c: Likewise.
      	* c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
      
      c/
      	* c-decl.c: Include dumpfile.h instead of tree-dump.h.
      	* Make-lang.in: Fix dependencies.
      
      cp/
      	* dump.c (dump_stmt): Moved here from c-dump.c.
      	* optimize.c: Include dumpfile.h instead of tree-dump.h.
      	* class.c: Likewise.
      	* decl2.c: Likewise.
      	* Make-lang.in: Fix dependencies.
      
      fortran/
      	* f95-lang.c: Include dumpfile.h instead of tree-dump.h.
      	* Make-lang.in: Fix dependencies.
      
      java/
      	* java-gimplify.c Include dumpfile.h instead of tree-dump.h
      	* Make-lang.in: Fix dependencies.
      
      lto/
      	* lto.c: Do not include timevar.h.
      	* Make-lang.in: Fix dependencies.
      
      ada/
      	* gcc-interface/utils.c: Include timevar.h.
      	* Make-lang.in: Fix dependencies.
      
      From-SVN: r189519
      Steven Bosscher committed
    • revert: tree.h (phi_arg_d): New field. · 9e227d60
      2012-07-16  Dehao Chen  <dehao@google.com>
      
      	Revert
      	2012-07-10  Dehao Chen  <dehao@google.com>
      
      	* tree.h (phi_arg_d): New field.
      	* tree-flow-inline.h (gimple_phi_arg_block): New function.
      	(gimple_phi_arg_block_from_edge): New function.
      	(gimple_phi_arg_set_block): New function.
      	(gimple_phi_arg_has_block): New function.
      	(redirect_edge_var_map_block): New function.
      	* tree-flow.h (_edge_var_map): New field.
      	* tree-ssa-live.c (remove_unused_locals): Mark phi_arg's block as used.
      	* tree-eh.c (cleanup_empty_eh_merge_phis): Add block debug info for
      	redirect_edge_var_map_add.
      	* tree-outof-ssa.c (_elim_graph): New field.
      	(insert_partition_copy_on_edge): New parameter.
      	(insert_value_copy_on_edge): New parameter.
      	(insert_rtx_to_part_on_edge): New parameter.
      	(insert_part_to_rtx_on_edge): New parameter.
      	(elim_graph_add_edge): New parameter.
      	(elim_graph_remove_succ_edge): New parameter.
      	(FOR_EACH_ELIM_GRAPH_SUCC): New parameter.
      	(FOR_EACH_ELIM_GRAPH_PRED): New parameter.
      	(new_elim_graph): Add block debug info.
      	(clear_elim_graph): Likewise.
      	(delete_elim_graph): Likewise.
      	(elim_graph_add_node): Likewise.
      	(elim_graph_add_edge): Likewise.
      	(elim_graph_remove_succ_edge): Likewise.
      	(eliminate_build): Likewise.
      	(elim_forward): Likewise.
      	(elim_unvisited_predecessor): Likewise.
      	(elim_backward): Likewise.
      	(elim_create): Likewise.
      	(eliminate_phi): Likewise.
      	(insert_backedge_copies): Likewise.
      	* tree-into-ssa.c (insert_phi_nodes_for): Add block debug info for
      	add_phi_arg.
      	(rewrite_add_phi_arguments): Likewise.
      	* tree-ssa-loop-im.c (execute_sm_if_changed): Likewise.
      	* tree-ssa-tail-merge.c (replace_block_by): Likewise.
      	* tree-ssa-threadupdate.c (copy_phi_args): Likewise.
      	* tree-loop-distribution.c (update_phis_for_loop_copy): Likewise.
      	* tree-ssa-loop-manip.c (create_iv): Likewise.
      	(add_exit_phis_edge): Likewise.
      	(split_loop_exit_edge): Likewise.
      	(copy_phi_node_args): Likewise.
      	(tree_transform_and_unroll_loop): Likewise.
      	* value-prof.c (gimple_ic): Likewise.
      	(gimple_stringop_fixed_value): Likewise.
      	* tree-tailcall.c (add_successor_phi_arg): Likewise.
      	(eliminate_tail_call): Likewise.
      	(create_tailcall_accumulator): Likewise.
      	(tree_optimize_tail_calls_1): Likewise.
      	* tree-phinodes.c (add_phi_arg): Likewise.
      	(make_phi_node): Likewise.
      	(resize_phi_node): Likewise.
      	(remove_phi_arg_num): Likewise.
      	* omp-low.c (expand_parallel_call): Likewise.
      	(expand_omp_for_static_chunk): Likewise.
      	* tree-vect-loop-manip.c (slpeel_update_phis_for_duplicate_loop):
      	Likewise.
      	(slpeel_update_phi_nodes_for_guard1): Likewise.
      	(slpeel_update_phi_nodes_for_guard2): Likewise.
      	(slpeel_tree_duplicate_loop_to_edge_cfg): Likewise.
      	(set_prologue_iterations): Likewise.
      	(slpeel_tree_peel_loop_to_edge): Likewise.
      	(vect_loop_versioning): Likewise.
      	* tree-parloops.c (create_phi_for_local_result): Likewise.
      	(transform_to_exit_first_loop): Likewise.
      	(create_parallel_loop): Likewise.
      	* ipa-split.c (split_function): Likewise.
      	* tree-vect-loop.c (get_initial_def_for_induction): Likewise.
      	(vect_create_epilog_for_reduction): Likewise.
      	* tree-vect-data-refs.c (vect_setup_realignment): Likewise.
      	* graphite-scop-detection.c (canonicalize_loop_closed_ssa): Likewise.
      	* tree-ssa-phiopt.c (cond_store_replacement): Likewise.
      	(cond_if_else_store_replacement_1): Likewise.
      	* tree-cfgcleanup.c (remove_forwarder_block): Likewise.
      	(remove_forwarder_block_with_phi): Likewise.
      	* tree-ssa-pre.c (insert_into_preds_of_block): Likewise.
      	* tree-predcom.c (initialize_root_vars): Likewise.
      	(initialize_root_vars_lm): Likewise.
      	* sese.c (sese_add_exit_phis_edge): Likewise.
      	* tree-ssa-dce.c (forward_edge_to_pdom): Likewise.
      	* tree-ssa.c (flush_pending_stmts): Likewise.
      	(redirect_edge_var_map_add): Likewise.
      	(ssa_redirect_edge): Likewise.
      	* gimple-streamer-in.c (input_phi): Likewise.
      	* tree-vect-stmts.c (vectorizable_load): Likewise.
      	* tree-inline.c (copy_phis_for_bb): Likewise.
      	* tree-ssa-phiprop.c (phiprop_insert_phi): Likewise.
      	* tree-switch-conversion.c (fix_phi_nodes): Likewise.
      	* tree-cfg.c (reinstall_phi_args): Likewise.
      	(gimple_make_forwarder_block): Likewise.
      	(add_phi_args_after_copy_edge): Likewise.
      	(gimple_duplicate_sese_tail): Likewise.
      
      From-SVN: r189518
      Dehao Chen committed
    • [multiple changes] · f691d19f
      2012-07-16  Vasiliy Fofanov  <fofanov@adacore.com>
      
      	* ug_words, vms_data.ads: Document VMS qualifiers for -gnatn1/2
      	switches.
      
      2012-07-16  Bob Duff  <duff@adacore.com>
      
      	* sinfo.ads: Minor comment fix.
      
      2012-07-16  Bob Duff  <duff@adacore.com>
      
      	* sem_elab.adb (Within_Elaborate_All): Walk the with clauses to
      	find pragmas Elaborate_All that may be found in the transitive
      	closure of the dependences.
      
      From-SVN: r189517
      Arnaud Charlet committed
    • exp_pakd.adb, [...]: Minor reformatting. · b3408631
      2012-07-16  Robert Dewar  <dewar@adacore.com>
      
      	* exp_pakd.adb, freeze.adb, sem_util.adb, vms_data.ads: Minor
      	reformatting.
      
      From-SVN: r189516
      Robert Dewar committed
    • re PR fortran/53956 ([F03] PROCEDURE w/ interface: Bogus "EXTERNAL attribute… · 8bae3cef
      re PR fortran/53956 ([F03] PROCEDURE w/ interface: Bogus "EXTERNAL attribute conflicts with FUNCTION attribute")
      
      2012-07-16  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/53956
      	* gfortran.h (gfc_copy_formal_args,gfc_copy_formal_args_ppc): Modified
      	prototypes.
      	* symbol.c (gfc_copy_formal_args): New argument 'if_src'. Copy if_source
      	of dummy procedures.
      	(gfc_copy_formal_args_ppc): Ditto.
      	* resolve.c (resolve_procedure_interface): Pass IFSRC_DECL to
      	gfc_copy_formal_args.
      	(resolve_fl_derived0): Pass IFSRC_DECL to gfc_copy_formal_args_ppc.
      
      
      2012-07-16  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/53956
      	* gfortran.dg/proc_decl_28.f90: New.
      
      From-SVN: r189514
      Janus Weil committed
    • i386.md (stack_protect_set): Disable the pattern for Android since Android libc… · d923fe0f
      i386.md (stack_protect_set): Disable the pattern for Android since Android libc (bionic) does not provide...
      
      2012-07-16 Sergey Melnikov <sergey.melnikov@intel.com>
      
              * config/i386/i386.md (stack_protect_set): Disable the pattern
              for Android since Android libc (bionic) does not provide random
              value for stack protection guard at gs:0x14. Guard value
              will be provided from external symbol (default implementation).
              (stack_protect_set_<mode>): Likewise.
              (stack_protect_test): Likewise.
              (stack_protect_test_<mode>): Likewise.
      
      From-SVN: r189513
      Sergey Melnikov committed
    • builtins-1.c: New testcase. · a14c200a
      2012-07-16  Andrew Pinski  <apinski@cavium.com>
      
      	* gcc.dg/torture/builtins-1.c: New testcase.
      
      From-SVN: r189510
      Andrew Pinski committed
    • Commit hunk missing from last change · 64e544ef
      From-SVN: r189509
      Hans-Peter Nilsson committed
    • Tweak ChangeLog formatting for my recent entries · dc7f4baf
      From-SVN: r189508
      Hans-Peter Nilsson committed
    • cris-protos.h (cris_legitimate_address_p): Declare. · a502bdb6
      	* config/cris/cris-protos.h (cris_legitimate_address_p): Declare.
      	* config/cris/cris.h (CONSTANT_ADDRESS_P): Define in terms of
      	CONSTANT_P and cris_legitimate_address_p.
      	* config/cris/cris.c (cris_legitimate_address_p): Make non-static.
      
      From-SVN: r189507
      Hans-Peter Nilsson committed
    • cris.c (cris_preferred_reload_class): Don't return GENERAL_REGS as preferred to MOF_SRP_REGS. · ff57d866
      	* config/cris/cris.c (cris_preferred_reload_class):
      	Don't return GENERAL_REGS as preferred to MOF_SRP_REGS.
      
      From-SVN: r189506
      Hans-Peter Nilsson committed
    • sync-2i.c, [...]: For cris*-*-linux*, also pass -mno-unaligned-atomic-may-use-library. · f0336342
      	* gcc.target/cris/sync-2i.c, gcc.target/cris/sync-2s.c,
      	gcc.target/cris/sync-3i.c, gcc.target/cris/sync-3s.c,
      	gcc.target/cris/sync-4i.c, gcc.target/cris/sync-4s.c,
      	gcc.target/cris/sync-1-v10.c,
      	gcc.target/cris/sync-1-v32.c: For cris*-*-linux*, also
      	pass -mno-unaligned-atomic-may-use-library.
      	* gcc.target/cris/sync-xchg-1.c: New test.
      
      From-SVN: r189505
      Hans-Peter Nilsson committed
    • cris.c (cris_init_libfuncs): Handle initialization of library functions for… · dec4306f
      cris.c (cris_init_libfuncs): Handle initialization of library functions for basic atomic compare-and-swap.
      
      	* config/cris/cris.c (cris_init_libfuncs): Handle initialization
      	of library functions for basic atomic compare-and-swap.
      	* config/cris/cris.h (TARGET_ATOMICS_MAY_CALL_LIBFUNCS): New macro.
      	* config/cris/cris.opt (munaligned-atomic-may-use-library): New
      	option.
      	* config/cris/sync.md ("atomic_fetch_<atomic_op_name><mode>")
      	("cris_atomic_fetch_<atomic_op_name><mode>_1")
      	("atomic_compare_and_swap<mode>")
      	("cris_atomic_compare_and_swap<mode>_1"): Make
      	conditional on TARGET_ATOMICS_MAY_CALL_LIBFUNCS for
      	sizes larger than byte.
      
      From-SVN: r189504
      Hans-Peter Nilsson committed
    • cris.c (cris_print_operand): New cases. · 24ddb79c
      	* config/cris/cris.c (cris_print_operand) <case 'P', 'q'>: New cases.
      	* config/cris/sync.md (atomic_op_op_cnstr): New code_attr.
      	(atomic_op_op_pred): Ditto.
      	(atomic_op_mnem_pre_op2): Renamed from atomic_op_mnem_pre; to
      	reflect the change to include %2 in expansion.  All callers changed.
      	(qm3): New mode_attr.
      	("atomic_fetch_<atomic_op_name><mode>"): Use <atomic_op_op_pred>
      	as predicate for operand 2. 
      	("cris_atomic_fetch_<atomic_op_name><mode>_1"): Update FIXME.  Use
      	"<atomic_op_op_pred>" "<atomic_op_op_cnstr>" for predicate and
      	constraint for operand 2.
      	("atomic_compare_and_swap<mode>"): Add FIXME.  Change predicate to
      	nonmemory_operand for operand 3.
      	("cris_atomic_compare_and_swap<mode>_1"): Change operand 3 to
      	exclude memory.  Improve emitted sync code for v10 and v32.  Use
      	<qm3> instead of <m> for size designator for cmp.
      
      From-SVN: r189503
      Hans-Peter Nilsson committed
    • 20011127-1.c: Adjust to %P being a valid register operand output modifier. · c3a3b5b5
      	* gcc.target/cris/20011127-1.c: Adjust to %P being a
      	valid register operand output modifier.
      
      From-SVN: r189502
      Hans-Peter Nilsson committed
    • sync.md ("atomic_compare_and_swap<mode>"): Change predicate to nonmemory_operand for operand 3. · 1cdea33b
      	* config/cris/sync.md ("atomic_compare_and_swap<mode>"): Change
      	predicate to nonmemory_operand for operand 3.  Add FIXME.
      	("cris_atomic_compare_and_swap<mode>_1"): Change predicates and
      
      From-SVN: r189501
      Hans-Peter Nilsson committed
    • * config/cris/sync.md ("atomic_fetch_<atomic_op_name><mode>") · fdb6272c
      	("atomic_compare_and_swap<mode>"): Gate expand_mem_thread_fence
      	calls on result of call to need_atomic_barrier_p.
      
      From-SVN: r189500
      Hans-Peter Nilsson committed
    • Daily bump. · 031831d6
      From-SVN: r189499
      GCC Administrator committed
  2. 15 Jul, 2012 4 commits
    • mips.md (move_type): Replace mfhilo and mthilo with mflo and mtlo. · cb00489c
      gcc/
      	* config/mips/mips.md (move_type): Replace mfhilo and mthilo
      	with mflo and mtlo.
      	(type): Split mfhilo into mfhi and mflo.  Split mthilo into mthi
      	and mtlo.  Adjust move_type->type mapping.
      	(may_clobber_hilo): Split mthilo into mthi and mtlo.
      	(*movdi_32bit, *movdi_32bit_mips16, *movdi_64bit, *movdi_64bit_mips16)
      	(*mov<mode>_internal, *mov<mode>_mips16, *movhi_internal)
      	(*movhi_mips16, *movqi_internal, *movqi_mips16): Use mtlo and mflo
      	instead of mthilo and mfhilo.
      	(mfhi<GPR:mode>_<HILO:mode>): Use mfhi instead of mfhilo.
      	(mthi<GPR:mode>_<HILO:mode>): Use mthi instead of mthilo.
      	* config/mips/mips-dsp.md (mips_extr_w, mips_extr_r_w, mips_extr_rs_w)
      	(mips_extr_s_h, mips_extp, mips_extpdp, mips_shilo, mips_mthlip):
      	Use mflo instead of mfhilo.
      	* config/mips/10000.md (r10k_arith): Split mthilo.
      	(r10k_mfhi, r10k_mflo): Use mfhi and mflo directly.
      	* config/mips/sb1.md (ir_sb1_mfhi, ir_sb1_mflo): Likewise.
      	(ir_sb1_mthilo): Split mthilo into mthi and mtlo.
      	* config/mips/20kc.md (r20kc_imthilo, r20kc_imfhilo): Split
      	mthilo and mfhilo.
      	* config/mips/24k.md (r24k_int_mfhilo, r24k_int_mthilo): Likewise.
      	* config/mips/4130.md (vr4130_class, vr4130_mfhilo, vr4130_mthilo):
      	Likewise.
      	* config/mips/4k.md (r4k_int_mthilo, r4k_int_mfhilo): Likewise.
      	* config/mips/5400.md (ir_vr54_hilo): Likewise.
      	* config/mips/5500.md (ir_vr55_mthilo, ir_vr55_mfhilo): Likewise.
      	* config/mips/5k.md (r5k_int_mthilo, r5k_int_mfhilo): Likewise.
      	* config/mips/7000.md (rm7_mthilo, rm7_mfhilo): Likewise.
      	* config/mips/74k.md (r74k_int_mfhilo, r74k_int_mthilo): Likewise.
      	* config/mips/9000.md (rm9k_mfhilo, rm9k_mthilo): Likewise.
      	* config/mips/generic.md (generic_hilo): Likewise.
      	* config/mips/loongson2ef.md (ls2_alu): Likewise.
      	* config/mips/loongson3a.md (ls3a_mfhilo): Likewise.
      	* config/mips/octeon.md (octeon_imul_o1, octeon_imul_o2)
      	(octeon_mfhilo_o1, octeon_mfhilo_o2): Likewise.
      	* config/mips/sr71k.md (ir_sr70_hilo): Likewise.
      	* config/mips/xlr.md (xlr_hilo): Likewise.
      
      From-SVN: r189496
      Richard Sandiford committed
    • pubnames-2.C: Support all known comment characters. · b7e331f8
      * g++.dg/debug/dwarf2/pubnames-2.C: Support all known comment
      characters.
      
      From-SVN: r189494
      Andreas Schwab committed
    • Daily bump. · 940c7385
      From-SVN: r189489
      GCC Administrator committed
    • sh.h (SH_ASM_SPEC): Add spaces between options. · 9b024103
      2012-07-14  Andrew Stubbs  <ams@codesourcery.com>
      	    Sandra Loosemore  <sandra@codesourcery.com>
      
      	gcc/
      	* config/sh/sh.h (SH_ASM_SPEC): Add spaces between options.
      
      Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
      
      From-SVN: r189486
      Andrew Stubbs committed
  3. 14 Jul, 2012 6 commits
  4. 13 Jul, 2012 12 commits
    • re PR bootstrap/53955 (Missing prototypes in i386.c, bootstrap failure with… · cf0d4e15
      re PR bootstrap/53955 (Missing prototypes in i386.c, bootstrap failure with --disable-build-poststage1-with-cxx)
      
      2012-07-13  Bill Schmidt  <wschmidt@linux.ibm.com>
      
      	PR bootstrap/53955
      	* config/spu/spu.c (spu_init_cost): Mark static.
      	(spu_add_stmt_cost): Likewise.
      	(spu_finish_cost): Likewise.
      	(spu_destroy_cost_data): Likewise.
      	* config/i386/i386.c (ix86_init_cost): Mark static.
      	(ix86_add_stmt_cost): Likewise.
      	(ix86_finish_cost): Likewise.
      	(ix86_destroy_cost_data): Likewise.
      	* config/rs6000/rs6000.c (rs6000_init_cost): Mark static.
      	(rs6000_add_stmt_cost): Likewise.
      	(rs6000_finish_cost): Likewise.
      	(rs6000_destroy_cost_data): Likewise.
      
      From-SVN: r189473
      Bill Schmidt committed
    • filenames.h: #include "hashtab.h". · 69488641
      	include/
      	* filenames.h: #include "hashtab.h".
      	(filename_hash, filename_eq): Declare.
      	libiberty/
      	* filename_cmp.c (filename_hash, filename_eq): New functions.
      
      From-SVN: r189472
      Doug Evans committed
    • ggc.h (ggc_internal_alloc_stat, [...]): Add ATTRIBUTE_MALLOC. · c8b8af71
      	* ggc.h (ggc_internal_alloc_stat, ggc_alloc_typed_stat,
      	ggc_internal_cleared_alloc_stat, ggc_cleared_alloc_htab_ignore_args,
      	ggc_cleared_alloc_ptr_array_two_args, ggc_splay_alloc): Add
      	ATTRIBUTE_MALLOC.
      	* alloc-pool.h (pool_alloc): Likewise.
      
      	* final.c (final): Do not loop to find max_uid.
      
      From-SVN: r189470
      Steven Bosscher committed
    • emit-rtl.c (make_debug_insn_raw, [...]): Make static. · e4da1e17
      	* emit-rtl.c (make_debug_insn_raw, make_jump_insn_raw): Make static.
      	* rtl.h (make_debug_insn_raw, make_jump_insn_raw): Remove prototypes.
      
      From-SVN: r189467
      Steven Bosscher committed
    • re PR regression/53953 (g++.dg/cpp0x/lambda/lambda-ice2.C (warnings and errors not matching)) · d1cb1990
      	PR c++/53953
      	* method.c (synthesized_method_walk): Initialize no_implicit_p sooner.
      
      From-SVN: r189465
      Jason Merrill committed
    • ctors.exp: Explicitely specify -O0. · 78b4053c
      2012-07-13  Richard Guenther  <rguenther@suse.de>
      
      	* testsuite/libmudflap.c++/ctors.exp: Explicitely specify -O0.
      	* testsuite/libmudflap.c++/c++frags.exp: Likewise.
      	* testsuite/libmudflap.cth/cthfrags.exp: Likewise.
      	* testsuite/libmudflap.c/cfrags.exp: Likewise.
      	* testsuite/libmudflap.c/externs.exp: Likewise.
      
      From-SVN: r189464
      Richard Guenther committed
    • fail11-frag.c: Adjust to not look like memset. · b61d8657
      2012-07-13  Richard Guenther  <rguenther@suse.de>
      
      	* testsuite/libmudflap.c/fail11-frag.c: Adjust to not look like memset.
      	* testsuite/libmudflap.c/fail12-frag.c: Likewise.
      
      From-SVN: r189463
      Richard Guenther committed
    • re PR target/53907 (gcc uses unaligned load when aligned load was requested) · a8ab21e5
      2012-07-13  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/53907
      	* tree-ssa-forwprop.c (associate_pointerplus): New function.
      	(ssa_forward_propagate_and_combine): Call it.
      
      	* gcc.target/i386/pr53907.c: New testcase.
      
      From-SVN: r189462
      Richard Guenther committed
    • re PR tree-optimization/53922 (VRP: semantic conflict between… · e8f808b3
      re PR tree-optimization/53922 (VRP: semantic conflict between range_includes_zero_p and value_inside_range)
      
      2012-07-13  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/53922
      	* tree-vrp.c (value_inside_range): Change prototype to take
      	min/max instead of value-range.
      	(range_includes_zero_p): Likewise.  Return the result from
      	value_inside_range.
      	(extract_range_from_binary_expr_1): Adjust to handle dont-know
      	return value from range_includes_zero_p.
      	(extract_range_from_unary_expr_1): Likewise.
      	(compare_range_with_value): Likewise.
      	(vrp_meet_1): Likewise.
      
      	* gcc.dg/torture/pr53922.c: New testcase.
      
      From-SVN: r189461
      Richard Guenther committed
    • tm.texi: Regenerate. · c3e7ee41
      2012-07-13  Bill Schmidt  <wschmidt@linux.ibm.com>
      
      	* doc/tm.texi: Regenerate.
      	* doc/tm.texi.in (TARGET_VECTORIZE_INIT_COST): New hook.
      	(TARGET_VECTORIZE_ADD_STMT_COST): Likewise.
      	(TARGET_VECTORIZE_FINISH_COST): Likewise.
      	(TARGET_VECTORIZE_DESTROY_COST_DATA): Likewise.
      	* targhooks.c (default_init_cost): New function.
      	(default_add_stmt_cost): Likewise.
      	(default_finish_cost): Likewise.
      	(default_destroy_cost_data): Likewise.
      	* targhooks.h (default_init_cost): New decl.
      	(default_add_stmt_cost): Likewise.
      	(default_finish_cost): Likewise.
      	(default_destroy_cost_data): Likewise.
      	* target.def (init_cost): New DEFHOOK.
      	(add_stmt_cost): Likewise.
      	(finish_cost): Likewise.
      	(destroy_cost_data): Likewise.
      	* target.h (struct _stmt_vec_info): New extern decl.
      	(stmt_vectype): Likewise.
      	(stmt_in_inner_loop_p): Likewise.
      	* tree-vectorizer.h (stmt_info_for_cost): New struct/typedef.
      	(stmt_vector_for_cost): New VEC/typedef.
      	(add_stmt_info_to_vec): New function.
      	(struct _slp_tree): Remove cost.inside_of_loop field.
      	(struct _slp_instance): Remove cost.inside_of_loop field; add
      	stmt_cost_vec field.
      	(SLP_INSTANCE_INSIDE_OF_LOOP_COST): Remove macro.
      	(SLP_INSTANCE_STMT_COST_VEC): New accessor macro.
      	(SLP_TREE_INSIDE_OF_LOOP_COST): Remove macro.
      	(struct _vect_peel_extended_info): Add stmt_cost_vec field.
      	(struct _loop_vec_info): Add target_cost_data field.
      	(LOOP_VINFO_TARGET_COST_DATA): New accessor macro.
      	(struct _bb_vec_info): Add target_cost_data field.
      	(BB_VINFO_TARGET_COST_DATA): New accessor macro.
      	(struct _stmt_vec_info): Remove cost.inside_of_loop field.
      	(STMT_VINFO_INSIDE_OF_LOOP_COST): Remove macro.
      	(stmt_vinfo_set_inside_of_loop_cost): Remove function.
      	(init_cost): New function.
      	(add_stmt_cost): Likewise.
      	(finish_cost): Likewise.
      	(destroy_cost_data): Likewise.
      	(vect_model_simple_cost): Change parameter list.
      	(vect_model_store_cost): Likewise.
      	(vect_model_load_cost): Likewise.
      	(record_stmt_cost): New extern decl.
      	(vect_get_load_cost): Change parameter list.
      	(vect_get_store_cost): Likewise.
      	* tree-vect-loop.c (new_loop_vec_info): Call init_cost.
      	(destroy_loop_vec_info): Call destroy_cost_data.
      	(vect_estimate_min_profitable_iters): Remove old calculation of
      	inside costs; call finish_cost instead.
      	(vect_model_reduction_cost): Call add_stmt_cost instead of old
      	inside-costs calculation.
      	(vect_model_induction_cost): Likewise.
      	* tree-vect-data-refs.c (vect_get_data_access_cost): Change to
      	return a stmt_vector_for_cost; modify calls to vect_get_load_cost
      	and vect_get_store_cost to obtain the value to return.
      	(vect_peeling_hash_get_lowest_cost): Obtain a stmt_cost_vec from
      	vect_get_data_access_cost and store it in the minimum peeling
      	structure.
      	(vect_peeling_hash_choose_best_peeling): Change the parameter list
      	to add a (stmt_vector_for_cost *) output parameter, and set its value.
      	(vect_enhance_data_refs_alignment): Ignore the new return value from
      	calls to vect_get_data_access_cost; obtain stmt_cost_vec from
      	vect_peeling_hash_choose_best_peeling and pass its contents to the
      	target cost model.
      	* tree-vect-stmts.c (stmt_vectype): New function.
      	(stmt_in_inner_loop_p): Likewise.
      	(record_stmt_cost): Likewise.
      	(vect_model_simple_cost): Add stmt_cost_vec parameter; call
      	record_stmt_cost instead of old calculation; don't call
      	stmt_vinfo_set_inside_of_loop_cost.
      	(vect_model_promotion_demotion_cost): Call add_stmt_cost instead of
      	old calculation; don't call stmt_vinfo_set_inside_of_loop_cost.
      	(vect_model_store_cost): Add stmt_cost_vec parameter; call
      	record_stmt_cost instead of old calculation; add stmt_cost_vec
      	parameter to vect_get_store_cost call; don't call
      	stmt_vinfo_set_inside_of_loop_cost.
      	(vect_get_store_cost): Add stmt_cost_vec parameter; call
      	record_stmt_cost instead of old calculation.
      	(vect_model_load_cost): Add stmt_cost_vec parameter; call
      	record_stmt_cost instead of old calculation; add stmt_cost_vec
      	parameter to vect_get_load_cost call; don't call
      	stmt_vinfo_set_inside_of_loop_cost.
      	(vect_get_load_cost): Add stmt_cost_vec parameter; call
      	record_stmt_cost instead of old calculation.
      	(vectorizable_call): Add NULL parameter to vect_model_simple_cost call.
      	(vectorizable_conversion): Likewise.
      	(vectorizable_assignment): Likewise.
      	(vectorizable_shift): Likewise.
      	(vectorizable_operation): Likewise.
      	(vectorizable_store): Add NULL parameter to vect_model_store_cost call.
      	(vectorizable_load): Add NULL parameter to vect_model_load_cost call.
      	(new_stmt_vec_info): Don't set STMT_VINFO_INSIDE_OF_LOOP_COST.
      	* config/spu/spu.c (TARGET_VECTORIZE_INIT_COST): New macro def.
      	(TARGET_VECTORIZE_ADD_STMT_COST): Likewise.
      	(TARGET_VECTORIZE_FINISH_COST): Likewise.
      	(TARGET_VECTORIZE_DESTROY_COST_DATA): Likewise.
      	(spu_init_cost): New function.
      	(spu_add_stmt_cost): Likewise.
      	(spu_finish_cost): Likewise.
      	(spu_destroy_cost_data): Likewise.
      	* config/i386/i386.c (ix86_init_cost): New function.
      	(ix86_add_stmt_cost): Likewise.
      	(ix86_finish_cost): Likewise.
      	(ix86_destroy_cost_data): Likewise.
      	(TARGET_VECTORIZE_INIT_COST): New macro def.
      	(TARGET_VECTORIZE_ADD_STMT_COST): Likewise.
      	(TARGET_VECTORIZE_FINISH_COST): Likewise.
      	(TARGET_VECTORIZE_DESTROY_COST_DATA): Likewise.
      	* config/rs6000/rs6000.c (TARGET_VECTORIZE_INIT_COST): New macro def.
      	(TARGET_VECTORIZE_ADD_STMT_COST): Likewise.
      	(TARGET_VECTORIZE_FINISH_COST): Likewise.
      	(TARGET_VECTORIZE_DESTROY_COST_DATA): Likewise.
      	(rs6000_init_cost): New function.
      	(rs6000_add_stmt_cost): Likewise.
      	(rs6000_finish_cost): Likewise.
      	(rs6000_destroy_cost_data): Likewise.
      	* tree-vect-slp.c (vect_free_slp_instance): Free stmt_cost_vec.
      	(vect_create_new_slp_node): Don't set SLP_TREE_INSIDE_OF_LOOP_COST.
      	(vect_get_and_check_slp_defs): Add stmt_cost_vec parameter; add
      	stmt_cost_vec parameter to vect_model_store_cost and
      	vect_model_simple_cost calls.
      	(vect_build_slp_tree): Remove inside_cost parameter; add stmt_cost_vec
      	parameter; add stmt_cost_vec parameter to vect_get_and_check_slp_defs,
      	vect_model_load_cost, and recursive vect_build_slp_tree calls; prevent
      	calculating cost more than once for loads; remove inside_cost
      	parameter from recursive vect_build_slp_tree calls; call
      	record_stmt_cost instead of old calculation.
      	(vect_analyze_slp_instance): Allocate stmt_cost_vec and save it with
      	the instance; free it on premature exit; remove inside_cost parameter
      	from vect_build_slp_tree call; add stmt_cost_vec parameter to
      	vect_build_slp_tree call; don't set SLP_INSTANCE_INSIDE_OF_LOOP_COST.
      	(new_bb_vec_info): Call init_cost.
      	(destroy_bb_vec_info): Call destroy_cost_data.
      	(vect_bb_vectorization_profitable_p): Call add_stmt_cost for each
      	statement recorded with an SLP instance; call finish_cost instead of
      	the old calculation.
      	(vect_update_slp_costs_according_to_vf): Record statement costs from
      	SLP instances, multiplying by the appropriate number of copies; don't
      	update SLP_INSTANCE_INSIDE_OF_LOOP_COST.
      
      From-SVN: r189460
      Bill Schmidt committed
    • re PR c/53937 (Pack'ing struct causes gcc to not recognize that an field's address is aligned) · 44fabee4
      2012-07-13  Richard Guenther  <rguenther@suse.de>
      
      	PR middle-end/53937
      	* builtins.c (get_pointer_alignment_1): Handle constant
      	pointers.
      
      From-SVN: r189458
      Richard Guenther committed
    • re PR libstdc++/53657 ([C++11] pair(pair&&) move constructor is non-trivial) · 57cee56a
      2012-07-13  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR libstdc++/53657
      	* include/bits/stl_pair.h (pair<>::pair(pair&&)): Declare defaulted,
      	per C++11.
      	* include/bits/stl_map.h (map<>::insert(_Pair&&), map<>::insert
      	(const_iterator, _Pair&&)): Constrain with std::is_constructible,
      	per LWG2005.
      	* include/bits/stl_multimap.h (multimap<>::insert(_Pair&&),
      	multimap<>::insert(const_iterator, _Pair&&)): Likewise.
      	* include/bits/hashtable_policy.h (_Insert<>::insert(_Pair&&),
      	_Insert<>::insert(const_iterator, _Pair&&)): Likewise.
      	* include/debug/unordered_map: Adjust.
      	* include/debug/map.h: Likewise.
      	* include/debug/multimap.h: Likewise.
      	* include/profile/unordered_map: Likewise.
      	* include/profile/map.h: Likewise.
      	* include/profile/multimap.h: Likewise.
      
      From-SVN: r189456
      Paolo Carlini committed