1. 01 Aug, 2012 3 commits
    • tree-flow.h (struct gimple_df): Remove syms_to_rename member, add… · 13714310
      tree-flow.h (struct gimple_df): Remove syms_to_rename member, add ssa_renaming_needed and rename_vops flags.
      
      2012-08-01  Richard Guenther  <rguenther@suse.de>
      
      	* tree-flow.h (struct gimple_df): Remove syms_to_rename member,
      	add ssa_renaming_needed and rename_vops flags.
      	(SYMS_TO_RENAME): Remove.
      	(symbol_marked_for_renaming): Likewise.
      	(mark_virtual_ops_for_renaming): Likewise.
      	* tree-into-ssa.c (symbols_to_rename_set, symbols_to_rename):
      	New globals.
      	(mark_for_renaming, marked_for_renaming): New functions.
      	(symbol_marked_for_renaming): Remove.
      	(dump_currdefs): Adjust.
      	(maybe_replace_use): Likewise.
      	(maybe_replace_use_in_debug_stmt): Likewise.
      	(maybe_register_def): Likewise.
      	(rewrite_update_phi_arguments): Likewise.
      	(rewrite_update_enter_block): Likewise.
      	(fini_ssa_renamer): Clear update SSA status here ...
      	(delete_update_ssa): ... not here.  Free rename set.
      	(prepare_block_for_update): Compute which decls need renaming.
      	(dump_update_ssa): Adjust.
      	(mark_sym_for_renaming): Adjust update SSA status for virtuals.
      	(need_ssa_update_p): Adjust.
      	(insert_updated_phi_nodes_for): Likewise.
      	(update_ssa): Likewise.
      	* tree-ssa-operands.c (finalize_ssa_defs): Adjust update SSA status
      	for virtual and real operands.
      	(finalize_ssa_uses): Likewise.
      	* tree-ssanames.c (init_ssanames): Adjust.
      	* tree-ssa.c (maybe_rewrite_mem_ref_base, maybe_optimize_var,
      	execute_update_addresses_taken): Add bitmap to keep track of which
      	candidates are suitable for rewriting and later renaming by SSA
      	update.
      	* matrix-reorg.c (transform_access_sites): Do not rename all defs.
      	* tree-dfa.c (make_rename_temp): Do not mark real operands for renaming.
      	* cgraphunit.c (assemble_thunk): Likewise.
      	* gimplify.c (gimple_regimplify_operands): Likewise.
      	(force_gimple_operand_1): Likewise.
      	* ipa-prop.c (ipa_modify_formal_parameters): Likewise.
      	* tree-inline.c (declare_return_variable): Likewise.
      	* tree-parloops.c (separate_decls_in_region_stmt): Do not call
      	mark_virtual_ops_for_renaming.
      	(create_stores_for_reduction): Likewise.
      	(create_loads_and_stores_for_name): Likewise.
      	* tree-predcom.c (mark_virtual_ops_for_renaming): Remove.
      	(initialize_root_vars_lm): Do not call mark_virtual_ops_for_renaming.
      	(execute_load_motion): Likewise.
      	(remove_stmt): Likewise.
      	(execute_pred_commoning_chain): Likewise.
      	* tree-sra.c (create_access_replacement): Do not rename real
      	operands.
      	(get_unrenamed_access_replacement): Unify with ...
      	(get_access_replacement): ... this.
      	(get_repl_default_def_ssa_name): Adjust.
      	* tree-ssa-loop-im.c (move_computations_stmt): Manually update
      	virtual SSA form.
      	(rewrite_mem_ref_loc): Do not call mark_virtual_ops_for_renaming.
      	* tree-ssa-loop-prefetch.c (emit_mfence_after_loop): Likewise.
      
      From-SVN: r190033
      Richard Guenther committed
    • lib2funcs.c (__clrsbhi2): New function. · d04aacfc
      	* config/m32c/lib2funcs.c (__clrsbhi2): New function.
      	Implements __clrsb for an HImode argument.
      
      From-SVN: r190032
      Nick Clifton committed
    • Daily bump. · cecd5123
      From-SVN: r190028
      GCC Administrator committed
  2. 31 Jul, 2012 23 commits
    • s390.c (s390_option_override): Disable DWARF 3/4 extensions for TPF, unless specifically selected. · b3e8a0d2
      * config/s390/s390.c (s390_option_override): Disable DWARF 3/4
      extensions for TPF, unless specifically selected.
      
      From-SVN: r190023
      DJ Delorie committed
    • re PR target/54131 (ICE building 416.gamess, reload_cse_simplify_operands) · 7099ce06
      	PR target/54131
      	* config/rs6000/rs6000.c (mem_operand_gpr): Don't limit range
      	of lo_sum offsets.  Comment.  Assert mode at least word size
      	rather than bypassing powerpc64 word offset check.
      
      From-SVN: r190022
      Alan Modra committed
    • rs6000.c (rs6000_builtin_vectorization_cost): Revise costs for vec_perm and… · fdc43210
      rs6000.c (rs6000_builtin_vectorization_cost): Revise costs for vec_perm and vec_promote_demote down to more natural values.
      
      2012-07-31  Bill Schmidt  <wschmidt@linux.ibm.com>
      
      	* config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Revise
      	costs for vec_perm and vec_promote_demote down to more natural values.
      	(struct _rs6000_cost_data): New data structure.
      	(rs6000_density_test): New function.
      	(rs6000_init_cost): Change to use rs6000_cost_data.
      	(rs6000_add_stmt_cost): Likewise.
      	(rs6000_finish_cost): Perform density test when vectorizing a loop.
      
      From-SVN: r190019
      Bill Schmidt committed
    • re PR fortran/42418 (PROCEDURE: Rejects interface which is both specific and generic procedure) · 0e8d854e
      2012-07-31  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/42418
      	* decl.c (match_procedure_interface): Move some checks to
      	'resolve_procedure_interface'. Set flavor if appropriate.
      	* expr.c (gfc_check_pointer_assign): Cleanup of 'gfc_is_intrinsic'.
      	* intrinsic.c (gfc_is_intrinsic): Additional checks for attributes which
      	identify a procedure as being non-intrinsic.
      	* resolve.c (resolve_procedure_interface): Checks moved here from
      	'match_procedure_interface'. Minor cleanup.
      	(resolve_formal_arglist,resolve_symbol): Cleanup of
      	'resolve_procedure_interface'
      	(resolve_actual_arglist,is_external_proc): Cleanup of
      	'gfc_is_intrinsic'.
      
      2012-07-31  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/42418
      	* gfortran.dg/proc_decl_29.f90: New.
      
      From-SVN: r190017
      Janus Weil committed
    • sched-vis.c (print_exp): Handle FMA explicitly. · ab6d55ef
      	* sched-vis.c (print_exp): Handle FMA explicitly.  Simplify handling
      	of RTX_UNARY function-like operations.  Print unknown expression
      	RTX classes as pseudo-functions.
      	(print_pattern): Simplify return pattern printing.
      	(dump_insn_slim): Print the value of notes as a pattern for proper
      	printing of CFA notes.
      
      From-SVN: r190016
      Steven Bosscher committed
    • predict.c (tree_estimate_probability_driver): Normalize the loop when… · aa36f90b
      predict.c (tree_estimate_probability_driver): Normalize the loop when initializing the loop optimizer.
      
      2012-07-31  Dehao Chen  <dehao@google.com>
      
      	* predict.c (tree_estimate_probability_driver): Normalize the
      	loop when initializing the loop optimizer.
      
      From-SVN: r190015
      Dehao Chen committed
    • pt.c (check_default_tmpl_args): Change is_primary and is_partial parameters to bool type, adjust. · 86d4e13f
      2012-07-31  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* pt.c (check_default_tmpl_args): Change is_primary and is_partial
      	parameters to bool type, adjust.
      	(push_template_decl_real): Tidy.
      	* parser.c (cp_parser_init_declarator): Adjust.
      	* decl.c (redeclaration_error_message): Likewise.
      	* cp-tree.h (check_default_tmpl_args): Update prototype.
      
      From-SVN: r190013
      Paolo Carlini committed
    • tree-flow.h (struct var_ann_d): Remove need_phi_state and current_def members. · b4e209fd
      2012-07-31  Richard Guenther  <rguenther@suse.de>
      
      	* tree-flow.h (struct var_ann_d): Remove need_phi_state
      	and current_def members.
      	* tree-into-ssa.c (struct def_blocks_d): Remove var member.
      	(def_blocks): Remove.
      	(struct var_info_d): New.
      	(var_infos): New hashtable.
      	(struct ssa_name_info): Add def_blocks member.
      	(get_ssa_name_ann): Adjust.
      	(get_var_info): New function.
      	(get_phi_state, set_phi_state, get_current_def,
      	set_current_def, get_def_blocks_for, find_def_blocks_for): Adjust.
      	(insert_phi_nodes_compare_def_blocks): Rename to ...
      	(insert_phi_nodes_compare_var_infos): ... this and adjust.
      	(insert_phi_nodes): Adjust.
      	(dump_tree_ssa, dump_tree_ssa_stats): Adjust.
      	(def_blocks_hash, def_blocks_eq, def_blocks_free): Remove.
      	(debug_def_blocks_r): Rename to ...
      	(debug_var_infos_r): ... this and adjust.
      	(var_info_hash): New function.
      	(var_info_eq): Likewise.
      	(rewrite_blocks): Adjust.
      	(init_ssa_renamer): Likewise.
      	(fini_ssa_renamer): Likewise.
      	(delete_update_ssa): Likewise.
      	(update_ssa): Likewise.
      	* tree-ssanames.c (release_dead_ssa_names): Do not clear
      	current defs.
      
      From-SVN: r190012
      Richard Guenther committed
    • re PR fortran/54134 ([OOP] ICE overriding derived type bound function with… · 8539d639
      re PR fortran/54134 ([OOP] ICE overriding derived type bound function with allocatable character as result)
      
      2012-07-31  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/54134
      	* dependency.c (gfc_dep_compare_expr): Check if arguments are NULL.
      
      2012-07-31  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/54134
      	* gfortran.dg/typebound_override_3.f90: New.
      
      From-SVN: r190010
      Janus Weil committed
    • stormy16.c (xstormy16_expand_prologue): Add support for reporting stack usage. · 315bdf71
      	* config/stormy16/stormy16.c (xstormy16_expand_prologue): Add
      	support for reporting stack usage.
      
      	* gcc.dg/stack-usage-1.c (SIZE): Define for FRV,
      	and for XStormy16.
      
      From-SVN: r190009
      Nick Clifton committed
    • re PR tree-optimization/53773 (Vectorizer generates non-canonical multiplies) · 3393a711
      gcc:
      
      2012-07-31  Bill Schmidt  <wschmidt@linux.ibm.com>
      
      	PR tree-optimization/53773
      	* tree-vectorizer.h (struct _loop_vec_info): Add operands_swapped.
      	(LOOP_VINFO_OPERANDS_SWAPPED): New macro.
      	* tree-vect-loop.c (new_loop_vec_info): Initialize
      	LOOP_VINFO_OPERANDS_SWAPPED field.
      	(destroy_loop_vec_info): Restore canonical form.
      	(vect_is_slp_reduction): Set LOOP_VINFO_OPERANDS_SWAPPED field.
      	(vect_is_simple_reduction_1): Likewise.
      
      gcc/testsuite:
      
      2012-07-31  Bill Schmidt  <wschmidt@linux.ibm.com>
      
      	PR tree-optimization/53773
      	* testsuite/gcc.dg/vect/pr53773.c: New test.
      
      From-SVN: r190007
      Bill Schmidt committed
    • sched-vis.c (dump_insn_slim): Print print_rtx_head at the start of each new line. · 8c503f0d
      	* sched-vis.c (dump_insn_slim): Print print_rtx_head at the
      	start of each new line.
      	* final.c (final_scan_insn): If the final dump is requested as
      	slim RTL, dump slim RTL to the assembly file also.
      
      From-SVN: r190006
      Steven Bosscher committed
    • re PR target/53975 ([ia64] Target register of a speculative load moved to a… · 0d4acd90
      re PR target/53975 ([ia64] Target register of a speculative load moved to a branch register prior to the chk.s instruction)
      
              PR target/53975
      
              * sel-sched-ir.c (has_dependence_note_reg_use): Clarify comment.
      
              Revert
              2011-08-04  Sergey Grechanik  <mouseentity@ispras.ru>
      
              * sel-sched-ir.c (has_dependence_note_reg_use): Call ds_full_merge
              only if producer writes to the register given by regno.
      
      From-SVN: r190005
      Andrey Belevantsev committed
    • frv.c (frv_expand_prologue): Report stack usage. · 7027164c
      	* config/frv/frv.c (frv_expand_prologue): Report stack usage.
      
      	* gcc.dg/stack-usage-1.c (SIZE): Define for FRV.
      
      From-SVN: r190004
      Nick Clifton committed
    • interface.c (gfc_procedure_use): Return gfc_try instead of · f8552cd4
      2012-07-31  Tobias Burnus  <burnus@net-b.de>
      
              * interface.c (gfc_procedure_use): Return gfc_try instead of
              * void.
              * gfortran.h (gfc_procedure_use): Update prototype.
              * resolve.c (gfc_iso_c_func_interface): Allow noninteroperable
              procedures for c_funloc for TS29113.
              * (gfc_iso_c_sub_interface): Ditto for c_f_procpointer. Add
              diagnostic for c_ptr vs. c_funptr for c_f_(proc)pointer.
      
      2012-07-31  Tobias Burnus  <burnus@net-b.de>
      
              * gfortran.dg/c_funloc_tests_6.f90: New.
              * gfortran.dg/c_funloc_tests_7.f90: New.
              * gfortran.dg/c_funloc_tests_5.f03: Compile with -std=f2003.
      
      From-SVN: r190003
      Tobias Burnus committed
    • * config/frv/frv.c (QUAD): Fix typo. · 4adf72f1
      From-SVN: r190002
      Nick Clifton committed
    • re PR c++/53624 (GCC rejects function local types in template function with… · 8dca7e93
      re PR c++/53624 (GCC rejects function local types in template function with default template arguments)
      
      /cp
      2012-07-31  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/53624
      	* pt.c (check_default_tmpl_args): Don't check local types.
      
      /testsuite
      2012-07-31  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/53624
      	* g++.dg/cpp0x/temp_default5.C: New.
      
      From-SVN: r190001
      Paolo Carlini committed
    • re PR pch/53880 (compile time regression when generating precompiled headers for boost) · 3ad45f7f
      	PR pch/53880
      	* gengtype.c (struct walk_type_data): Add have_this_obj field.
      	(walk_type): For functions that take a this_obj argument and
      	that process fields with a GTY((length)) argument, write the
      	test that write_types_local_process_field will write also at the
      	head of the loop, effectively unswitching the loop.
      	(write_func_for_structure, write_local_func_for_structure): Clear
      	have_this_obj before calling walk_type.
      	(write_local_func_for_structure): Set have_this_obj before walk_type.
      	(write_array): Set have_this_obj for output of local pointer walking
      	functions but not for marker functions.
      	(write_types_local_process_field): Assert have_this_obj is set.
      
      	* rtl.h (simplify_using_condition): Adjust prototype using bitmap
      	from coretypes.h.
      
      From-SVN: r189999
      Steven Bosscher committed
    • lib2funcs.c (__clrsbhi2): New function. · 0d13c974
      	* config/stormy16/lib2funcs.c (__clrsbhi2): New function.
      	Implements __clrsb for an HImode argument.
      	* config/stormy16/clrsbhi2.c: New file:
      	* config/stormy16/t-stormy16 (LIB2ADD): Add clrsbhi2.c.
      
      From-SVN: r189997
      Nick Clifton committed
    • md5.c (md5_finish_ctx): Declare swap_bytes. · d555a90e
      2012-07-27  Mike Frysinger  <vapier@gentoo.org>
      
      	* md5.c (md5_finish_ctx): Declare swap_bytes.  Assign SWAP() output
      	to swap_bytes, and then call memcpy to move it to ctx->buffer.
      
      From-SVN: r189996
      Mike Frysinger committed
    • defaults.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete. · b0f6b612
      	* defaults.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
      	* targhooks.c (default_mode_dependent_address_p): Delete code
      	for GO_IF_MODE_DEPENDENT_ADDRESS.
      	* system.h (GO_IF_MODE_DEPENDENT_ADDRESS): Poison.
      	* doc/tm.texi.in (GO_IF_MODE_DEPENDENT_ADDRESS): Delete documention.
      	* doc/tm.texi: Regenerate.
      	* config/alpha.h (GO_IF_MODE_DEPENDENT_ADDRESS): Move code to...
      	* config/alpha.c (alpha_mode_dependent_address_p): ...here.  New
      	function.
      	(TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
      	* config/cr16/cr16.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
      	* config/mep/mep.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
      	* config/vax/vax-protos.h (vax_mode_dependent_address_p): Delete.
      	* config/vax/vax.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.
      	* config/vax/vax.c (vax_mode_dependent_address_p): Make static.
      	Take a const_rtx.
      	(TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
      
      From-SVN: r189995
      Nathan Froyd committed
    • expmed.h (NUM_MODE_VECTOR_INT): Define. · 2a261cd3
      	* expmed.h (NUM_MODE_VECTOR_INT): Define.
      	(struct expmed_op_cheap, struct expmed_op_costs): New structures.
      	(struct target_expmed): Convert x_mul_highpart_cost and
      	x_mul_widen_cost fields to be indexed by integer modes.
      	Convert x_sdiv_pow2_cheap and x_smod_pow2_cheap fields to be
      	of type struct expmed_op_cheap.  Convert other cost fields to be
      	of type struct_expmed_op_costs.
      	(mul_widen_cost_ptr, mul_highpart_cost_ptr): Adjust for new
      	indexing of respective fields.
      	(expmed_op_cheap_ptr): New function.
      	(sdiv_pow2_cheap_ptr, smod_pow2_cheap_ptr): Call it.
      	(expmed_op_cost_ptr): New function.
      	(add_cost_ptr, neg_cost_ptr, shift_cost_ptr, shiftadd_cost_ptr,
      	shiftsub0_cost_ptr, shiftsub1_cost_ptr, mul_cost_ptr,
      	sdiv_cost_ptr, udiv_cost_ptr): Call it.
      
      From-SVN: r189994
      Nathan Froyd committed
    • Daily bump. · b959718f
      From-SVN: r189993
      GCC Administrator committed
  3. 30 Jul, 2012 14 commits
    • invoke.texi (MIPS Options): Document -mno-float. · 3df0998b
      2012-07-30  Sandra Loosemore  <sandra@codesourcery.com>
      	    Julian Brown  <julian@codesourcery.com>
      
      	gcc/
      	* doc/invoke.texi (MIPS Options): Document -mno-float.
      	* config/mips/mips.h (MIPS_ARCH_FLOAT_SPEC): Make it know
      	about -mno-float.
      
      Co-Authored-By: Julian Brown <julian@codesourcery.com>
      
      From-SVN: r189989
      Sandra Loosemore committed
    • sourcebuild.texi (Subdirectories): Document common subdirectory. · 9a99299d
      	* doc/sourcebuild.texi (Subdirectories): Document common
      	subdirectory.
      
      From-SVN: r189988
      Joseph Myers committed
    • c++config (_GLIBCXX_END_NAMESPACE_CONTAINER): Fix order of closures. · 62d3d3d4
      2012-07-30  François Dumont  <fdumont@gcc.gnu.org>
      
      	* include/bits/c++config (_GLIBCXX_END_NAMESPACE_CONTAINER): Fix
      	order of closures.
      	(_GLIBCXX_END_NAMESPACE_ALGO): Likewise.
      
      From-SVN: r189986
      François Dumont committed
    • re PR fortran/51081 ([F03] Proc-pointer assignment: Rejects valid internal proc) · 2dda89a8
      2012-07-30  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/51081
      	* gfortran.h (gfc_resolve_intrinsic): Add prototype.
      	* expr.c (gfc_check_pointer_assign): Set INTRINSIC attribute if needed.
      	Check for invalid intrinsics.
      	* primary.c (gfc_match_rvalue): Check for intrinsics came too early.
      	Set procedure flavor if appropriate.
      	* resolve.c (resolve_intrinsic): Renamed to gfc_resolve_intrinsic.
      	(resolve_procedure_interface,resolve_procedure_expression,
      	resolve_function,resolve_fl_derived0,resolve_symbol): Ditto.
      
      2012-07-30  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/51081
      	* gfortran.dg/proc_ptr_37.f90: New.
      
      From-SVN: r189985
      Janus Weil committed
    • re PR middle-end/53823 (FAIL: gcc.c-torture/execute/930921-1.c execution at -O0 and -O1) · caf62455
      	PR middle-end/53823
      	* expmed.c (expand_mult): Skip synth_mult for constant double op1 except
      	for special cases.  Don't initialize coeff and is_neg.
      
      From-SVN: r189980
      John David Anglin committed
    • [multiple changes] · a5fe079c
      2012-07-30  Robert Dewar  <dewar@adacore.com>
      
      	* bindusg.adb: Clarify file in -A lines.
      
      2012-07-30  Robert Dewar  <dewar@adacore.com>
      
      	* freeze.adb: Minor reformatting.
      
      2012-07-30  Robert Dewar  <dewar@adacore.com>
      
      	* gnatcmd.adb, makeutl.adb, makeutl.ads: Minor code reorganization.
      
      2012-07-30  Vincent Pucci  <pucci@adacore.com>
      
      	* exp_ch9.adb (Build_Lock_Free_Unprotected_Subprogram_Body): Minor
      	reformatting.
      	* sem_ch9.adb (Allows_Lock_Free_Implementation): Minor reformatting.
      	Capture the correct error message in case of a quantified expression.
      
      2012-07-30  Thomas Quinot  <quinot@adacore.com>
      
      	* g-socket.adb (Get_Socket_Option, Set_Socket_Option): On Windows, the
      	value is a milliseconds count in a DWORD, not a struct timeval.
      
      From-SVN: r189979
      Arnaud Charlet committed
    • [multiple changes] · ea2af26a
      2012-07-30  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_ch12.adb (Earlier): Add local variables T1 and T2. Minor code
      	refactoring.
      
      2012-07-30  Thomas Quinot  <quinot@adacore.com>
      
      	* gnatcmd.adb, make.adb, makeutl.adb, makeutl.ads
      	(Test_If_Relative_Path): Rename to Ensure_Absolute_Path to better
      	reflect what this subprogram does. Rename argument Including_L_Switch
      	to For_Gnatbind, and also exempt -A from rewriting.
      	* bindusg.adb: Document optional =file argument to gnatbind -A.
      
      2012-07-30  Ed Schonberg  <schonberg@adacore.com>
      
      	* freeze.adb (Freeze_Entity): Do no apply restriction check on
      	storage pools to access to subprogram types.
      
      From-SVN: r189978
      Arnaud Charlet committed
    • par_sco.adb, [...]: Minor reformatting. · 29ba9f52
      2012-07-30  Robert Dewar  <dewar@adacore.com>
      
      	* par_sco.adb, a-cihama.adb, a-coinve.adb, exp_ch7.adb, a-ciorse.adb,
      	exp_ch9.adb, sem_dim.adb, par-ch13.adb, sem_ch9.adb, a-cidlli.adb,
      	a-cimutr.adb, freeze.adb, a-ciormu.adb, sem_res.adb, sem_attr.adb,
      	a-cihase.adb, exp_ch4.adb, sem_ch4.adb, a-ciorma.adb,
      	s-tasinf-linux.ads, sem_ch13.adb, a-coinho.adb: Minor reformatting.
      	Add comments.
      
      From-SVN: r189977
      Robert Dewar committed
    • sem_ch9.adb (Allows_Lock_Free_Implementation): Restrict implicit dereferences of access values. · b5059fa0
      2012-07-30  Vincent Pucci  <pucci@adacore.com>
      
      	* sem_ch9.adb (Allows_Lock_Free_Implementation): Restrict implicit
      	dereferences of access values.
      
      From-SVN: r189975
      Vincent Pucci committed
    • target.def (vector_alignment): New target hook. · 5aea1e76
      ChangeLog:
      
      	* target.def (vector_alignment): New target hook.
      	* doc/tm.texi.in (TARGET_VECTOR_ALIGNMENT): Document new hook.
      	* doc/tm.texi: Regenerate.
      	* targhooks.c (default_vector_alignment): New function.
      	* targhooks.h (default_vector_alignment): Add prototype.
      	* stor-layout.c (layout_type): Use targetm.vector_alignment.
      	* config/arm/arm.c (arm_vector_alignment): New function.
      	(TARGET_VECTOR_ALIGNMENT): Define.
      
      	* tree-vect-data-refs.c (vect_update_misalignment_for_peel): Use
      	vector type alignment instead of size.
      	* tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound): Use
      	element type size directly instead of computing it from alignment.
      	Fix variable naming and comment.
      
      testsuite/ChangeLog:
      
      	* lib/target-supports.exp
      	(check_effective_target_vect_natural_alignment): New function.
      	* gcc.dg/align-2.c: Only run on targets with natural alignment
      	of vector types.
      	* gcc.dg/vect/slp-25.c: Adjust tests for targets without natural
      	alignment of vector types.
      
      Co-Authored-By: Richard Earnshaw <rearnsha@arm.com>
      
      From-SVN: r189974
      Ulrich Weigand committed
    • i386-common.c (OPTION_MASK_ISA_RDSEED_SET): New. · 4c340b5d
      /
              * common/config/i386/i386-common.c (OPTION_MASK_ISA_RDSEED_SET): New.
              (OPTION_MASK_ISA_RDSEED_UNSET): Likewise.
              (ix86_handle_option): Handle mrdseed option.
              * config.gcc (i[34567]86-*-*): Add rdseedintrin.h.
              (x86_64-*-*): Likewise.
              * config/i386/prfchwintrin.h: New header.
              * config/i386/cpuid.h (bit_RDSEED): New.
              * config/i386/driver-i386.c (host_detect_local_cpu): Detect
              RDSEED support.
              * config/i386/i386-c.c: Define __RDSEED__ if needed.
              * config/i386/i386.c (ix86_target_string): Define
              -mrdseed option.
              (PTA_RDSEED): New.
              (ix86_option_override_internal): Handle new option.
              (ix86_valid_target_attribute_inner_p): Add OPT_mrdseed.
              (ix86_builtins): Add enum entries for RDSEED* builtins.
              (ix86_init_mmx_sse_builtins): Define new builtins.
              (ix86_expand_builtin): Expand RDSEED* builtins.
              * config/i386/i386.h (TARGET_RDSEED): New.
              * config/i386/i386.md (rdseed<mode>_1): New.
              * config/i386/i386.opt (mrdseed): New.
              * config/i386/x86intrin.h: Include rdseedintrin.h.
      
      testsuite/
              * gcc.target/i386/rdseed16-1.c: New.
              * gcc.target/i386/rdseed32-1.c: Ditto
              * gcc.target/i386/rdseed64-1.c: Ditto
              * gcc.target/i386/sse-12.c: Add -mrdseed.
              * gcc.target/i386/sse-13.c: Ditto.
              * gcc.target/i386/sse-14.c: Ditto.
              * g++.dg/other/i386-2.C: Ditto.
              * g++.dg/other/i386-3.C: Ditto.
      
      
      
      
      Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
      
      From-SVN: r189973
      Kirill Yukhin committed
    • tree-into-ssa.c (mark_def_sites): Also process virtual operands. · 39c58b3a
      2012-07-30  Richard Guenther  <rguenther@suse.de>
      
      	* tree-into-ssa.c (mark_def_sites): Also process virtual operands.
      	(rewrite_stmt): Likewise.
      	(rewrite_enter_block): Likewise.
      	(pass_build_ssa): Do not update virtual SSA form during TODO.
      	(mark_symbol_for_renaming): Do nothing if we are not in SSA form.
      	* lto-streamer-in.c (lto_read_body): Set in_ssa_p earlier.
      
      	* gcc.dg/ipa/ipa-pta-3.c: Adjust.
      	* gcc.dg/ipa/ipa-pta-4.c: Likewise.
      	* gcc.dg/tm/memopt-3.c: Likewise.
      
      From-SVN: r189969
      Richard Guenther committed
    • re PR target/39423 ([SH] performance regression: lost mov @(disp,Rn)) · 974f90ba
      	PR target/39423
      	* config/gcc/sh/sh.md (*movsi_index_disp, *movhi_index_disp): New insns.
      
      From-SVN: r189954
      Oleg Endo committed
    • re PR target/51244 ([SH] Inefficient conditional branch and code around T bit) · be8cbce1
      	PR target/51244
      	* config/sh/sh.md (mov_neg_si_t): Move to Scc instructions section.
      	Use t_reg_operand predicate.  Add split for negated case.
      	(ashrsi2_31): Pass get_t_reg_rtx to gen_mov_neg_si_t.
      	* config/sh/sh.c (expand_ashiftrt): Likewise.
      
      	PR target/51244
      	* gcc.target/sh/pr51244-4.c: New.
      
      From-SVN: r189953
      Oleg Endo committed