aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2012-08-01tree-flow-inline.h (referenced_var): Remove.Richard Guenther4-118/+123
2012-08-01 Richard Guenther <rguenther@suse.de> * tree-flow-inline.h (referenced_var): Remove. * tree-ssa-coalesce.c (create_outofssa_var_map): Remove duplicate checking code. * tree-sra.c (candidates): New global hashtable. (candidate): New function. (sra_initialize): Initialize candidates. (sra_deinitialize): Free candidates. (disqualify_candidate): Remove candidate from candidates. (maybe_add_sra_candidate): New function. (find_var_candidates): Walk over all local decls and parameters, add candidates to candidates hashtable. (find_param_candidates): Add candidates to candidates hashtable. (analyze_all_variable_accesses): Use candidate instead of referenced_var. From-SVN: r190047
2012-08-01vrp76.c: New test.Tom de Vries2-0/+39
2012-08-01 Tom de Vries <tom@codesourcery.com> * gcc.dg/tree-ssa/vrp76.c: New test. From-SVN: r190044
2012-08-01tree-vrp.c (find_case_label_ranges): New function.Tom de Vries2-6/+107
2012-08-01 Tom de Vries <tom@codesourcery.com> * tree-vrp.c (find_case_label_ranges): New function. (vrp_visit_switch_stmt, simplify_switch_using_ranges): Use find_case_label_ranges instead of find_case_label_range. Handle second range. From-SVN: r190043
2012-08-01tree-complex.c (init_parameter_lattice_values): Don't call var_ann.Michael Matz14-239/+144
* tree-complex.c (init_parameter_lattice_values): Don't call var_ann. * tree-dfa.c (struct dfa_stats_d): Remove num_var_anns member. (dump_dfa_stats): Don't dump stats about var anns. (collect_dfa_stats): Don't collect them. (add_referenced_var_1): Don't set var annotation pointers. (remove_referenced_var): Ditto, and only remove it it's in the hash table. * tree-flow-inline.h (var_ann): Remove. * tree-flow.h (struct var_ann_d, var_ann_t): Remove. * tree-inline.c (remapped_type): Remove. (can_be_nonlocal): Most variable will be considered live here, return false earlier. (remap_decls): Don't call var_ann, all variables will be considered referenced here. (copy_debug_stmt): Ditto, and use is_global_var. * tree-into-ssa.c (rewrite_debug_stmt_uses): Use get_current_def to determine if a variable was referred to, not var_ann. * tree-ssa-live.c (remove_unused_scope_block_p): Don't check var_ann. (remove_unused_locals): Ditto. * tree-ssa.c (delete_tree_ssa): Don't free/clear var ann pointers. * tree-tailcall.c (arg_needs_copy_p): Don't check var_ann. * tree.c (copy_node_stat): Don't clear var ann pointer. * tree.h (tree_result_decl, tree_parm_decl, tree_var_decl): Remove ann member. (DECL_VAR_ANN_PTR): Remove. * tree-flow.h (struct var_ann_d): Rename used member. (set_is_used): Don't declare. * tree-flow-inline.h (clear_is_used): Remove. (set_is_used, is_used_p): Move to ... * tree-ssa-live.c (set_is_used, is_used_p): ... here, and use on the side bitmap. (usedvars): New bitmap. (dump_scope_block): Don't dump unusedness. (remove_unused_locals): Allocate and free usedvars. * tree-nrv.c (tree_nrv): Don't clear used flags here. * tree-flow.h (struct var_ann_d): Remove base_var_processed and base_index members. * tree-ssa-live.h (struct _var_map): Remove basevars member. (VAR_ANN_BASE_INDEX): Remove. * tree-ssa-live.c (var_map_base_init): Use a hash table instead of var annotation to compress index space. Don't deal with above removed members. (var_map_base_fini): Don't free basevars. (init_var_map): Don't clear basevars. From-SVN: r190039
2012-08-01gimple-ssa-strength-reduction.c (struct slsr_cand_d): Change base_name to ↵Bill Schmidt2-38/+59
base_expr. 2012-08-01 Bill Schmidt <wschmidt@linux.ibm.com> * gimple-ssa-strength-reduction.c (struct slsr_cand_d): Change base_name to base_expr. (struct cand_chain_d): Likewise. (base_cand_hash): Likewise. (base_cand_eq): Likewise. (record_potential_basis): Likewise. (alloc_cand_and_find_basis): Likewise. (create_mul_ssa_cand): Likewise. (create_mul_imm_cand): Likewise. (create_add_ssa_cand): Likewise. (create_add_imm_cand): Likewise. (slsr_process_cast): Likewise. (slsr_process_copy): Likewise. (dump_candidate): Likewise. (base_cand_dump_callback): Likewise. (unconditional_cands_with_known_stride_p): Likewise. (cand_increment): Likewise. From-SVN: r190038
2012-08-01re PR tree-optimization/46556 (Code size regression in struct access)Bill Schmidt6-47/+404
gcc: PR tree-optimization/46556 * gimple-ssa-strength-reduction.c (enum cand_kind): Add CAND_REF. (base_cand_map): Change to hash table. (base_cand_hash): New function. (base_cand_free): Likewise. (base_cand_eq): Likewise. (lookup_cand): Change base_cand_map to hash table. (find_basis_for_candidate): Likewise. (base_cand_from_table): Exclude CAND_REF. (restructure_reference): New function. (slsr_process_ref): Likewise. (find_candidates_in_block): Call slsr_process_ref. (dump_candidate): Handle CAND_REF. (base_cand_dump_callback): New function. (dump_cand_chains): Change base_cand_map to hash table. (replace_ref): New function. (replace_refs): Likewise. (analyze_candidates_and_replace): Call replace_refs. (execute_strength_reduction): Change base_cand_map to hash table. gcc/testsuite: PR tree-optimization/46556 * testsuite/gcc.dg/tree-ssa/slsr-27.c: New. * testsuite/gcc.dg/tree-ssa/slsr-28.c: New. * testsuite/gcc.dg/tree-ssa/slsr-29.c: New. From-SVN: r190037
2012-08-01i386.c (ix86_address_subreg_operand): Reject stack pointer.Uros Bizjak2-18/+26
* config/i386/i386.c (ix86_address_subreg_operand): Reject stack pointer. (ix86_print_operand_address): Assert that parts.base and parts.index are non-NULL after call to simplify_subreg. From-SVN: r190036
2012-08-01tree-ssa.texi: Remove pieces mentioning mark_sym_for_renaming.Richard Guenther2-4/+5
2012-08-01 Richard Guenther <rguenther@suse.de> * doc/tree-ssa.texi: Remove pieces mentioning mark_sym_for_renaming. From-SVN: r190035
2012-08-01graphite-clast-to-gimple.c (translate_clast_user): Rename virtual operands.Richard Guenther15-67/+56
2012-08-01 Richard Guenther <rguenther@suse.de> * graphite-clast-to-gimple.c (translate_clast_user): Rename virtual operands. * sese.c (graphite_copy_stmts_from_block): Do not rename virtual operands here. * tree-call-cdce.c (tree_call_cdce): Use mark_virtual_operands_for_renaming. * tree-eh.c (sink_clobbers): Simplify. * tree-flow.h (mark_sym_for_renaming): Remove. (mark_virtual_operands_for_renaming): New function. * tree-if-conv.c (tree_if_conversion): Use mark_virtual_operands_for_renaming. * tree-inline.c (update_ssa_across_abnormal_edges): Likewise. * tree-into-ssa.c (mark_sym_for_renaming): Remove. (mark_virtual_operands_for_renaming): New function. * tree-loop-distribution.c (tree_loop_distribution): Use mark_virtual_operands_for_renaming. * tree-ssa-dce.c (mark_virtual_operand_for_renaming): Do not update stmts, use mark_virtual_operands_for_renaming. * tree-ssa-tail-merge.c (release_last_vdef): Remove. (replace_block_by): Adjust. (tail_merge_optimize): Use mark_virtual_operands_for_renaming. * tree-tailcall.c (tree_optimize_tail_calls_1): Use mark_virtual_operands_for_renaming. * tree-vect-slp.c (vect_slp_transform_bb): Likewise. * tree-vectorizer.c (vectorize_loops): Likewise. From-SVN: r190034
2012-08-01tree-flow.h (struct gimple_df): Remove syms_to_rename member, add ↵Richard Guenther17-206/+243
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
2012-08-01Daily bump.GCC Administrator1-1/+1
From-SVN: r190028
2012-07-31s390.c (s390_option_override): Disable DWARF 3/4 extensions for TPF, unless ↵DJ Delorie2-0/+15
specifically selected. * config/s390/s390.c (s390_option_override): Disable DWARF 3/4 extensions for TPF, unless specifically selected. From-SVN: r190023
2012-08-01re PR target/54131 (ICE building 416.gamess, reload_cse_simplify_operands)Alan Modra2-6/+27
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
2012-07-31rs6000.c (rs6000_builtin_vectorization_cost): Revise costs for vec_perm and ↵Bill Schmidt2-12/+84
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
2012-07-31re PR fortran/42418 (PROCEDURE: Rejects interface which is both specific and ↵Janus Weil7-52/+111
generic procedure) 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
2012-07-31sched-vis.c (print_exp): Handle FMA explicitly.Steven Bosscher2-44/+54
* 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
2012-07-31predict.c (tree_estimate_probability_driver): Normalize the loop when ↵Dehao Chen4-1/+27
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
2012-07-31pt.c (check_default_tmpl_args): Change is_primary and is_partial parameters ↵Paolo Carlini5-17/+26
to bool type, adjust. 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
2012-07-31tree-flow.h (struct var_ann_d): Remove need_phi_state and current_def members.Richard Guenther4-142/+162
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
2012-07-31re PR fortran/54134 ([OOP] ICE overriding derived type bound function with ↵Janus Weil4-0/+47
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
2012-07-31stormy16.c (xstormy16_expand_prologue): Add support for reporting stack usage.Nick Clifton4-1/+10
* 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
2012-07-31re PR tree-optimization/53773 (Vectorizer generates non-canonical multiplies)Bill Schmidt5-0/+67
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
2012-07-31sched-vis.c (dump_insn_slim): Print print_rtx_head at the start of each new ↵Steven Bosscher3-2/+16
line. * 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
2012-07-31re PR target/53975 ([ia64] Target register of a speculative load moved to a ↵Andrey Belevantsev2-4/+18
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
2012-07-31frv.c (frv_expand_prologue): Report stack usage.Nick Clifton4-0/+10
* config/frv/frv.c (frv_expand_prologue): Report stack usage. * gcc.dg/stack-usage-1.c (SIZE): Define for FRV. From-SVN: r190004
2012-07-31interface.c (gfc_procedure_use): Return gfc_try instead ofTobias Burnus8-23/+126
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
2012-07-31* config/frv/frv.c (QUAD): Fix typo.Nick Clifton2-1/+5
From-SVN: r190002
2012-07-31re PR c++/53624 (GCC rejects function local types in template function with ↵Paolo Carlini4-4/+26
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
2012-07-31re PR pch/53880 (compile time regression when generating precompiled headers ↵Steven Bosscher3-1/+28
for boost) 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
2012-07-31defaults.h (GO_IF_MODE_DEPENDENT_ADDRESS): Delete.Nathan Froyd13-77/+40
* 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
2012-07-31expmed.h (NUM_MODE_VECTOR_INT): Define.Nathan Froyd2-26/+116
* 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
2012-07-31Daily bump.GCC Administrator1-1/+1
From-SVN: r189993
2012-07-30invoke.texi (MIPS Options): Document -mno-float.Sandra Loosemore3-2/+22
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
2012-07-30sourcebuild.texi (Subdirectories): Document common subdirectory.Joseph Myers2-0/+11
* doc/sourcebuild.texi (Subdirectories): Document common subdirectory. From-SVN: r189988
2012-07-30re PR fortran/51081 ([F03] Proc-pointer assignment: Rejects valid internal proc)Janus Weil7-12/+71
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
2012-07-30re PR middle-end/53823 (FAIL: gcc.c-torture/execute/930921-1.c execution at ↵John David Anglin2-2/+10
-O0 and -O1) 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
2012-07-30[multiple changes]Arnaud Charlet9-252/+340
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
2012-07-30[multiple changes]Arnaud Charlet8-50/+79
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
2012-07-30par_sco.adb, [...]: Minor reformatting.Robert Dewar23-105/+201
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
2012-07-30sem_ch9.adb (Allows_Lock_Free_Implementation): Restrict implicit ↵Vincent Pucci2-4/+12
dereferences of access values. 2012-07-30 Vincent Pucci <pucci@adacore.com> * sem_ch9.adb (Allows_Lock_Free_Implementation): Restrict implicit dereferences of access values. From-SVN: r189975
2012-07-30target.def (vector_alignment): New target hook.Ulrich Weigand14-12/+113
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
2012-07-30i386-common.c (OPTION_MASK_ISA_RDSEED_SET): New.Kirill Yukhin22-12/+248
/ * 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
2012-07-30tree-into-ssa.c (mark_def_sites): Also process virtual operands.Richard Guenther6-19/+23
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
2012-07-30re PR target/39423 ([SH] performance regression: lost mov @(disp,Rn))Oleg Endo2-0/+131
PR target/39423 * config/gcc/sh/sh.md (*movsi_index_disp, *movhi_index_disp): New insns. From-SVN: r189954
2012-07-30re PR target/51244 ([SH] Inefficient conditional branch and code around T bit)Oleg Endo5-11/+53
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
2012-07-30re PR target/54089 ([SH] Refactor shift patterns)Oleg Endo2-1/+12
PR target/54089 * config/sh/sh.md (ashlsi3_d): Invoke gen_shifty_op directly instead of trying to emit ashlsi3_n. From-SVN: r189952
2012-07-30gengtype.c (adjust_field_type): Diagnose duplicate "length" option ↵Laurynas Biveinis8-22/+76
applications and option being applied to... gcc: 2012-07-27 Laurynas Biveinis <laurynas.biveinis@gmail.com> Steven Bosscher <steven@gcc.gnu.org> * gengtype.c (adjust_field_type): Diagnose duplicate "length" option applications and option being applied to arrays of atomic types. (walk_type): Allow "atomic" option on strings too. * dwarf2out.h (struct dw_vec_struct): Use the "atomic" GTY option for the array field. * vec.h: Describe the atomic object "A" type of the macros in the header comment. (VEC_T_GTY_ATOMIC, DEF_VEC_A, DEF_VEC_ALLOC_A): Define. * emit-rtl.c (locations_locators_vals): use the atomic object vector. * doc/gty.texi: Clarify that GTY option "length" is only for arrays of non-atomic objects. Fix typo in the description of the "atomic" option. gcc/java: 2012-07-24 Laurynas Biveinis <laurynas.biveinis@gmail.com> * jcf.h (CPool): Use the "atomic" GTY option for the tags field. (bootstrap_method): Likewise for the bootstrap_arguments field. libcpp: 2012-07-24 Laurynas Biveinis <laurynas.biveinis@gmail.com> * include/line-map.h (line_map_macro): Use the "atomic" GTY option for the macro_locations field. Co-Authored-By: Steven Bosscher <steven@gcc.gnu.org> From-SVN: r189951
2012-07-30Daily bump.GCC Administrator1-1/+1
From-SVN: r189950
2012-07-29Daily bump.GCC Administrator1-1/+1
From-SVN: r189929
2012-07-28i386.c (ix86_avoid_lea_for_addr): Handle zero-extended addresses.Uros Bizjak3-21/+82
* config/i386/i386.c (ix86_avoid_lea_for_addr): Handle zero-extended addresses. Return false if the address has less than two components. (ix86_split_lea_for_addr): Unconditionally convert target and all address operands to requested mode. * config/i386/i386.md (*lea<mode>): Recover operands from curr_insn. Pass SImode to ix86_split_lea_for_addr when splitting zero-extended address. (zero-extended add splitter): New splitter to conditionally split non-destructive adds. (*zero_extendsidi2_rex64): Conditionally emit leal instead of movl. From-SVN: r189925