1. 24 Apr, 2014 15 commits
  2. 23 Apr, 2014 25 commits
    • Fix DEFHOOKPOD argument order in target-hooks-macros.h comment · 74e4d71a
      2014-04-23  Tom de Vries  <tom@codesourcery.com>
      
      	* target-hooks-macros.h: Fix DEFHOOKPOD argument order in comment.
      
      From-SVN: r209725
      Tom de Vries committed
    • Fix for c++/PR57958 · 3734964f
      From-SVN: r209721
      Dinar Temirbulatov committed
    • Change is-a.h to support typedefs of pointers · 7de90a6c
      gcc/
      	* is-a.h: Update comments to reflect the following changes to the
      	"pointerness" of the API, making the template parameter match the
      	return type, allowing use of is-a.h with typedefs of pointers.
      	(is_a_helper::cast): Return a T rather then a pointer to a T, so
      	that the return type matches the parameter to the is_a_helper.
      	(as_a): Likewise.
      	(dyn_cast): Likewise.
      
      	* cgraph.c (cgraph_node_for_asm): Update for removal of implicit
      	pointer from the is-a.h API.
      
      	* cgraph.h (is_a_helper <cgraph_node>::test): Convert to...
      	(is_a_helper <cgraph_node *>::test): ...this, matching change to
      	is-a.h API.
      	(is_a_helper <varpool_node>::test): Likewise, convert to...
      	(is_a_helper <varpool_node *>::test): ...this.
      
      	(varpool_first_variable): Update for removal of implicit pointer
      	from the is-a.h API.
      	(varpool_next_variable): Likewise.
      	(varpool_first_static_initializer): Likewise.
      	(varpool_next_static_initializer): Likewise.
      	(varpool_first_defined_variable): Likewise.
      	(varpool_next_defined_variable): Likewise.
      	(cgraph_first_defined_function): Likewise.
      	(cgraph_next_defined_function): Likewise.
      	(cgraph_first_function): Likewise.
      	(cgraph_next_function): Likewise.
      	(cgraph_first_function_with_gimple_body): Likewise.
      	(cgraph_next_function_with_gimple_body): Likewise.
      	(cgraph_alias_target): Likewise.
      	(varpool_alias_target): Likewise.
      	(cgraph_function_or_thunk_node): Likewise.
      	(varpool_variable_node): Likewise.
      	(symtab_real_symbol_p): Likewise.
      	* cgraphunit.c (referred_to_p): Likewise.
      	(analyze_functions): Likewise.
      	(handle_alias_pairs): Likewise.
      	* gimple-fold.c (can_refer_decl_in_current_unit_p): Likewise.
      	* gimple-ssa.h (gimple_vuse_op): Likewise.
      	(gimple_vdef_op): Likewise.
      	* gimple-streamer-in.c (input_gimple_stmt): Likewise.
      	* gimple.c (gimple_build_asm_1): Likewise.
      	(gimple_build_try): Likewise.
      	(gimple_build_resx): Likewise.
      	(gimple_build_eh_dispatch): Likewise.
      	(gimple_build_omp_for): Likewise.
      	(gimple_omp_for_set_clauses): Likewise.
      
      	* gimple.h (is_a_helper <gimple_statement_asm>::test): Convert to...
      	(is_a_helper <gimple_statement_asm *>::test): ...this.
      	(is_a_helper <gimple_statement_bind>::test): Convert to...
      	(is_a_helper <gimple_statement_bind *>::test): ...this.
      	(is_a_helper <gimple_statement_call>::test): Convert to...
      	(is_a_helper <gimple_statement_call *>::test): ...this.
      	(is_a_helper <gimple_statement_catch>::test): Convert to...
      	(is_a_helper <gimple_statement_catch *>::test): ...this.
      	(is_a_helper <gimple_statement_resx>::test): Convert to...
      	(is_a_helper <gimple_statement_resx *>::test): ...this.
      	(is_a_helper <gimple_statement_eh_dispatch>::test): Convert to...
      	(is_a_helper <gimple_statement_eh_dispatch *>::test): ...this.
      	(is_a_helper <gimple_statement_eh_else>::test): Convert to...
      	(is_a_helper <gimple_statement_eh_else *>::test): ...this.
      	(is_a_helper <gimple_statement_eh_filter>::test): Convert to...
      	(is_a_helper <gimple_statement_eh_filter *>::test): ...this.
      	(is_a_helper <gimple_statement_eh_mnt>::test): Convert to...
      	(is_a_helper <gimple_statement_eh_mnt *>::test): ...this.
      	(is_a_helper <gimple_statement_omp_atomic_load>::test): Convert to...
      	(is_a_helper <gimple_statement_omp_atomic_load *>::test): ...this.
      	(is_a_helper <gimple_statement_omp_atomic_store>::test): Convert to...
      	(is_a_helper <gimple_statement_omp_atomic_store *>::test): ...this.
      	(is_a_helper <gimple_statement_omp_return>::test): Convert to...
      	(is_a_helper <gimple_statement_omp_return *>::test): ...this.
      	(is_a_helper <gimple_statement_omp_continue>::test): Convert to...
      	(is_a_helper <gimple_statement_omp_continue *>::test): ...this.
      	(is_a_helper <gimple_statement_omp_critical>::test): Convert to...
      	(is_a_helper <gimple_statement_omp_critical *>::test): ...this.
      	(is_a_helper <gimple_statement_omp_for>::test): Convert to...
      	(is_a_helper <gimple_statement_omp_for *>::test): ...this.
      	(is_a_helper <gimple_statement_omp_taskreg>::test): Convert to...
      	(is_a_helper <gimple_statement_omp_taskreg *>::test): ...this.
      	(is_a_helper <gimple_statement_omp_parallel>::test): Convert to...
      	(is_a_helper <gimple_statement_omp_parallel *>::test): ...this.
      	(is_a_helper <gimple_statement_omp_target>::test): Convert to...
      	(is_a_helper <gimple_statement_omp_target *>::test): ...this.
      	(is_a_helper <gimple_statement_omp_sections>::test): Convert to...
      	(is_a_helper <gimple_statement_omp_sections *>::test): ...this.
      	(is_a_helper <gimple_statement_omp_single>::test): Convert to...
      	(is_a_helper <gimple_statement_omp_single *>::test): ...this.
      	(is_a_helper <gimple_statement_omp_teams>::test): Convert to...
      	(is_a_helper <gimple_statement_omp_teams *>::test): ...this.
      	(is_a_helper <gimple_statement_omp_task>::test): Convert to...
      	(is_a_helper <gimple_statement_omp_task *>::test): ...this.
      	(is_a_helper <gimple_statement_phi>::test): Convert to...
      	(is_a_helper <gimple_statement_phi *>::test): ...this.
      	(is_a_helper <gimple_statement_transaction>::test): Convert to...
      	(is_a_helper <gimple_statement_transaction *>::test): ...this.
      	(is_a_helper <gimple_statement_try>::test): Convert to...
      	(is_a_helper <gimple_statement_try *>::test): ...this.
      	(is_a_helper <gimple_statement_wce>::test): Convert to...
      	(is_a_helper <gimple_statement_wce *>::test): ...this.
      	(is_a_helper <const gimple_statement_asm>::test): Convert to...
      	(is_a_helper <const gimple_statement_asm *>::test): ...this.
      	(is_a_helper <const gimple_statement_bind>::test): Convert to...
      	(is_a_helper <const gimple_statement_bind *>::test): ...this.
      	(is_a_helper <const gimple_statement_call>::test): Convert to...
      	(is_a_helper <const gimple_statement_call *>::test): ...this.
      	(is_a_helper <const gimple_statement_catch>::test): Convert to...
      	(is_a_helper <const gimple_statement_catch *>::test): ...this.
      	(is_a_helper <const gimple_statement_resx>::test): Convert to...
      	(is_a_helper <const gimple_statement_resx *>::test): ...this.
      	(is_a_helper <const gimple_statement_eh_dispatch>::test):
      	Convert to...
      	(is_a_helper <const gimple_statement_eh_dispatch *>::test):
      	...this.
      	(is_a_helper <const gimple_statement_eh_filter>::test): Convert
      	to...
      	(is_a_helper <const gimple_statement_eh_filter *>::test): ...this.
      	(is_a_helper <const gimple_statement_omp_atomic_load>::test):
      	Convert to...
      	(is_a_helper <const gimple_statement_omp_atomic_load *>::test):
      	...this.
      	(is_a_helper <const gimple_statement_omp_atomic_store>::test):
      	Convert to...
      	(is_a_helper <const gimple_statement_omp_atomic_store *>::test):
      	...this.
      	(is_a_helper <const gimple_statement_omp_return>::test): Convert
      	to...
      	(is_a_helper <const gimple_statement_omp_return *>::test): ...this.
      	(is_a_helper <const gimple_statement_omp_continue>::test): Convert
      	to...
      	(is_a_helper <const gimple_statement_omp_continue *>::test): ...this.
      	(is_a_helper <const gimple_statement_omp_critical>::test): Convert
      	to...
      	(is_a_helper <const gimple_statement_omp_critical *>::test): ...this.
      	(is_a_helper <const gimple_statement_omp_for>::test): Convert to...
      	(is_a_helper <const gimple_statement_omp_for *>::test): ...this.
      	(is_a_helper <const gimple_statement_omp_taskreg>::test): Convert
      	to...
      	(is_a_helper <const gimple_statement_omp_taskreg *>::test): ...this.
      	(is_a_helper <const gimple_statement_omp_parallel>::test): Convert
      	to...
      	(is_a_helper <const gimple_statement_omp_parallel *>::test): ...this.
      	(is_a_helper <const gimple_statement_omp_target>::test): Convert
      	to...
      	(is_a_helper <const gimple_statement_omp_target *>::test): ...this.
      	(is_a_helper <const gimple_statement_omp_sections>::test): Convert
      	to...
      	(is_a_helper <const gimple_statement_omp_sections *>::test): ...this.
      	(is_a_helper <const gimple_statement_omp_single>::test): Convert
      	to...
      	(is_a_helper <const gimple_statement_omp_single *>::test): ...this.
      	(is_a_helper <const gimple_statement_omp_teams>::test): Convert
      	to...
      	(is_a_helper <const gimple_statement_omp_teams *>::test): ...this.
      	(is_a_helper <const gimple_statement_omp_task>::test): Convert
      	to...
      	(is_a_helper <const gimple_statement_omp_task *>::test): ...this.
      	(is_a_helper <const gimple_statement_phi>::test): Convert to...
      	(is_a_helper <const gimple_statement_phi *>::test): ...this.
      	(is_a_helper <const gimple_statement_transaction>::test): Convert
      	to...
      	(is_a_helper <const gimple_statement_transaction *>::test): ...this.
      	(is_a_helper <const gimple_statement_with_ops>::test): Convert
      	to...
      	(is_a_helper <const gimple_statement_with_ops *>::test): ...this.
      	(is_a_helper <gimple_statement_with_ops>::test): Convert to...
      	(is_a_helper <gimple_statement_with_ops *>::test): ...this.
      	(is_a_helper <const gimple_statement_with_memory_ops>::test):
      	Convert to...
      	(is_a_helper <const gimple_statement_with_memory_ops *>::test):
      	...this.
      	(is_a_helper <gimple_statement_with_memory_ops>::test): Convert
      	to...
      	(is_a_helper <gimple_statement_with_memory_ops *>::test): ...this.
      
      	(gimple_use_ops): Update for removal of implicit pointer from the
      	is-a.h API.
      	(gimple_set_use_ops): Likewise.
      	(gimple_vuse): Likewise.
      	(gimple_vdef): Likewise.
      	(gimple_vuse_ptr): Likewise.
      	(gimple_vdef_ptr): Likewise.
      	(gimple_set_vuse): Likewise.
      	(gimple_set_vdef): Likewise.
      	(gimple_omp_return_set_lhs): Likewise.
      	(gimple_omp_return_lhs): Likewise.
      	(gimple_omp_return_lhs_ptr): Likewise.
      	(gimple_call_fntype): Likewise.
      	(gimple_call_set_fntype): Likewise.
      	(gimple_call_set_internal_fn): Likewise.
      	(gimple_call_use_set): Likewise.
      	(gimple_call_clobber_set): Likewise.
      	(gimple_bind_vars): Likewise.
      	(gimple_bind_set_vars): Likewise.
      	(gimple_bind_body_ptr): Likewise.
      	(gimple_bind_set_body): Likewise.
      	(gimple_bind_add_stmt): Likewise.
      	(gimple_bind_block): Likewise.
      	(gimple_bind_set_block): Likewise.
      	(gimple_asm_ninputs): Likewise.
      	(gimple_asm_noutputs): Likewise.
      	(gimple_asm_nclobbers): Likewise.
      	(gimple_asm_nlabels): Likewise.
      	(gimple_asm_input_op): Likewise.
      	(gimple_asm_input_op_ptr): Likewise.
      	(gimple_asm_output_op): Likewise.
      	(gimple_asm_output_op_ptr): Likewise.
      	(gimple_asm_set_output_op): Likewise.
      	(gimple_asm_clobber_op): Likewise.
      	(gimple_asm_set_clobber_op): Likewise.
      	(gimple_asm_label_op): Likewise.
      	(gimple_asm_set_label_op): Likewise.
      	(gimple_asm_string): Likewise.
      	(gimple_catch_types): Likewise.
      	(gimple_catch_types_ptr): Likewise.
      	(gimple_catch_handler_ptr): Likewise.
      	(gimple_catch_set_types): Likewise.
      	(gimple_catch_set_handler): Likewise.
      	(gimple_eh_filter_types): Likewise.
      	(gimple_eh_filter_types_ptr): Likewise.
      	(gimple_eh_filter_failure_ptr): Likewise.
      	(gimple_eh_filter_set_types): Likewise.
      	(gimple_eh_filter_set_failure): Likewise.
      	(gimple_eh_must_not_throw_fndecl): Likewise.
      	(gimple_eh_must_not_throw_set_fndecl): Likewise.
      	(gimple_eh_else_n_body_ptr): Likewise.
      	(gimple_eh_else_e_body_ptr): Likewise.
      	(gimple_eh_else_set_n_body): Likewise.
      	(gimple_eh_else_set_e_body): Likewise.
      	(gimple_try_eval_ptr): Likewise.
      	(gimple_try_cleanup_ptr): Likewise.
      	(gimple_try_set_eval): Likewise.
      	(gimple_try_set_cleanup): Likewise.
      	(gimple_wce_cleanup_ptr): Likewise.
      	(gimple_wce_set_cleanup): Likewise.
      	(gimple_phi_capacity): Likewise.
      	(gimple_phi_num_args): Likewise.
      	(gimple_phi_result): Likewise.
      	(gimple_phi_result_ptr): Likewise.
      	(gimple_phi_set_result): Likewise.
      	(gimple_phi_arg): Likewise.
      	(gimple_phi_set_arg): Likewise.
      	(gimple_resx_region): Likewise.
      	(gimple_resx_set_region): Likewise.
      	(gimple_eh_dispatch_region): Likewise.
      	(gimple_eh_dispatch_set_region): Likewise.
      	(gimple_omp_critical_name): Likewise.
      	(gimple_omp_critical_name_ptr): Likewise.
      	(gimple_omp_critical_set_name): Likewise.
      	(gimple_omp_for_clauses): Likewise.
      	(gimple_omp_for_clauses_ptr): Likewise.
      	(gimple_omp_for_set_clauses): Likewise.
      	(gimple_omp_for_collapse): Likewise.
      	(gimple_omp_for_index): Likewise.
      	(gimple_omp_for_index_ptr): Likewise.
      	(gimple_omp_for_set_index): Likewise.
      	(gimple_omp_for_initial): Likewise.
      	(gimple_omp_for_initial_ptr): Likewise.
      	(gimple_omp_for_set_initial): Likewise.
      	(gimple_omp_for_final): Likewise.
      	(gimple_omp_for_final_ptr): Likewise.
      	(gimple_omp_for_set_final): Likewise.
      	(gimple_omp_for_incr): Likewise.
      	(gimple_omp_for_incr_ptr): Likewise.
      	(gimple_omp_for_set_incr): Likewise.
      	(gimple_omp_for_pre_body_ptr): Likewise.
      	(gimple_omp_for_set_pre_body): Likewise.
      	(gimple_omp_parallel_clauses): Likewise.
      	(gimple_omp_parallel_clauses_ptr): Likewise.
      	(gimple_omp_parallel_set_clauses): Likewise.
      	(gimple_omp_parallel_child_fn): Likewise.
      	(gimple_omp_parallel_child_fn_ptr): Likewise.
      	(gimple_omp_parallel_set_child_fn): Likewise.
      	(gimple_omp_parallel_data_arg): Likewise.
      	(gimple_omp_parallel_data_arg_ptr): Likewise.
      	(gimple_omp_parallel_set_data_arg): Likewise.
      	(gimple_omp_task_clauses): Likewise.
      	(gimple_omp_task_clauses_ptr): Likewise.
      	(gimple_omp_task_set_clauses): Likewise.
      	(gimple_omp_task_child_fn): Likewise.
      	(gimple_omp_task_child_fn_ptr): Likewise.
      	(gimple_omp_task_set_child_fn): Likewise.
      	(gimple_omp_task_data_arg): Likewise.
      	(gimple_omp_task_data_arg_ptr): Likewise.
      	(gimple_omp_task_set_data_arg): Likewise.
      	(gimple_omp_taskreg_clauses): Likewise.
      	(gimple_omp_taskreg_clauses_ptr): Likewise.
      	(gimple_omp_taskreg_set_clauses): Likewise.
      	(gimple_omp_taskreg_child_fn): Likewise.
      	(gimple_omp_taskreg_child_fn_ptr): Likewise.
      	(gimple_omp_taskreg_set_child_fn): Likewise.
      	(gimple_omp_taskreg_data_arg): Likewise.
      	(gimple_omp_taskreg_data_arg_ptr): Likewise.
      	(gimple_omp_taskreg_set_data_arg): Likewise.
      	(gimple_omp_task_copy_fn): Likewise.
      	(gimple_omp_task_copy_fn_ptr): Likewise.
      	(gimple_omp_task_set_copy_fn): Likewise.
      	(gimple_omp_task_arg_size): Likewise.
      	(gimple_omp_task_arg_size_ptr): Likewise.
      	(gimple_omp_task_set_arg_size): Likewise.
      	(gimple_omp_task_arg_align): Likewise.
      	(gimple_omp_task_arg_align_ptr): Likewise.
      	(gimple_omp_task_set_arg_align): Likewise.
      	(gimple_omp_single_clauses): Likewise.
      	(gimple_omp_single_clauses_ptr): Likewise.
      	(gimple_omp_single_set_clauses): Likewise.
      	(gimple_omp_target_clauses): Likewise.
      	(gimple_omp_target_clauses_ptr): Likewise.
      	(gimple_omp_target_set_clauses): Likewise.
      	(gimple_omp_target_child_fn): Likewise.
      	(gimple_omp_target_child_fn_ptr): Likewise.
      	(gimple_omp_target_set_child_fn): Likewise.
      	(gimple_omp_target_data_arg): Likewise.
      	(gimple_omp_target_data_arg_ptr): Likewise.
      	(gimple_omp_target_set_data_arg): Likewise.
      	(gimple_omp_teams_clauses): Likewise.
      	(gimple_omp_teams_clauses_ptr): Likewise.
      	(gimple_omp_teams_set_clauses): Likewise.
      	(gimple_omp_sections_clauses): Likewise.
      	(gimple_omp_sections_clauses_ptr): Likewise.
      	(gimple_omp_sections_set_clauses): Likewise.
      	(gimple_omp_sections_control): Likewise.
      	(gimple_omp_sections_control_ptr): Likewise.
      	(gimple_omp_sections_set_control): Likewise.
      	(gimple_omp_for_set_cond): Likewise.
      	(gimple_omp_for_cond): Likewise.
      	(gimple_omp_atomic_store_set_val): Likewise.
      	(gimple_omp_atomic_store_val): Likewise.
      	(gimple_omp_atomic_store_val_ptr): Likewise.
      	(gimple_omp_atomic_load_set_lhs): Likewise.
      	(gimple_omp_atomic_load_lhs): Likewise.
      	(gimple_omp_atomic_load_lhs_ptr): Likewise.
      	(gimple_omp_atomic_load_set_rhs): Likewise.
      	(gimple_omp_atomic_load_rhs): Likewise.
      	(gimple_omp_atomic_load_rhs_ptr): Likewise.
      	(gimple_omp_continue_control_def): Likewise.
      	(gimple_omp_continue_control_def_ptr): Likewise.
      	(gimple_omp_continue_set_control_def): Likewise.
      	(gimple_omp_continue_control_use): Likewise.
      	(gimple_omp_continue_control_use_ptr): Likewise.
      	(gimple_omp_continue_set_control_use): Likewise.
      	(gimple_transaction_body_ptr): Likewise.
      	(gimple_transaction_label): Likewise.
      	(gimple_transaction_label_ptr): Likewise.
      	(gimple_transaction_set_body): Likewise.
      	(gimple_transaction_set_label): Likewise.
      
      	* ipa-devirt.c (build_type_inheritance_graph): Likewise.
      	* ipa-inline-analysis.c (inline_write_summary): Likewise.
      	* ipa-ref.c (ipa_record_reference): Likewise.
      	* ipa-reference.c (analyze_function): Likewise.
      	(ipa_reference_write_optimization_summary): Likewise.
      	* ipa.c (symtab_remove_unreachable_nodes): Likewise.
      	(address_taken_from_non_vtable_p): Likewise.
      	(comdat_can_be_unshared_p_1): Likewise.
      	* lto-cgraph.c (lto_output_ref): Likewise.
      	(add_references): Likewise.
      	(compute_ltrans_boundary): Likewise.
      	(output_symtab): Likewise.
      	(input_ref): Likewise.
      	(input_cgraph_1): Likewise.
      	(output_cgraph_opt_summary): Likewise.
      	* lto-streamer-out.c (lto_output): Likewise.
      	(output_symbol_p): Likewise.
      	* lto-streamer.h (lsei_next_function_in_partition): Likewise.
      	(lsei_start_function_in_partition): Likewise.
      	(lsei_next_variable_in_partition): Likewise.
      	(lsei_start_variable_in_partition): Likewise.
      	* symtab.c (insert_to_assembler_name_hash): Likewise.
      	(unlink_from_assembler_name_hash): Likewise.
      	(symtab_unregister_node): Likewise.
      	(symtab_remove_node): Likewise.
      	(dump_symtab_node): Likewise.
      	(verify_symtab_base): Likewise.
      	(verify_symtab_node): Likewise.
      	(symtab_make_decl_local): Likewise.
      	(symtab_alias_ultimate_target): Likewise.
      	(symtab_resolve_alias): Likewise.
      	(symtab_get_symbol_partitioning_class): Likewise.
      	* tree-phinodes.c (allocate_phi_node): Likewise.
      	(reserve_phi_args_for_new_edge): Likewise.
      	(remove_phi_args): Likewise.
      	* varpool.c (varpool_node_for_asm): Likewise.
      	(varpool_remove_unreferenced_decls): Likewise.
      
      gcc/lto/
      	* lto-partition.c (add_references_to_partition): Update for
      	removal of implicit pointer from the is-a.h API.
      	(add_symbol_to_partition_1): Likewise.
      	(contained_in_symbol): Likewise.
      	(undo_partition): Likewise.
      	(lto_balanced_map): Likewise.
      	(promote_symbol): Likewise.
      	* lto-symtab.c (lto_symtab_merge_symbols_1): Likewise.
      	(lto_symtab_merge_symbols): Likewise.
      	* lto.c (lto_wpa_write_files): Likewise.
      
      From-SVN: r209719
      David Malcolm committed
    • re PR tree-optimization/60902 (ffmpeg built with gcc 4.9 RC produces incorrect flac playback code) · 9219922e
      	PR tree-optimization/60902
      	* tree-ssa-threadedge.c
      	(record_temporary_equivalences_from_stmts_at_dest): Make sure to
      	invalidate outputs from statements that do not produce useful
      	outputs for threading.
      
      	PR tree-optimization/60902
      	* gcc.target/i386/pr60902.c: New test.
      
      From-SVN: r209716
      Jeff Law committed
    • [AArch64] VDUP Testcases · 0e4d63c5
      This patch adds vdup intrinsic testcases for AArch64. those testcases
      are nice to have, as it allows to reason about vdup consistency for
      both LE and BE compiler flavors.
      
      From-SVN: r209713
      Alex Velenko committed
    • [AARCH64] Use standard patterns for stack protection. · 36e17020
      From-SVN: r209712
      Venkataramanan Kumar committed
    • [AArch64] Fully support rotate on logical operations. · 57b77d46
      From-SVN: r209711
      Richard Earnshaw committed
    • [ARM] Initialize new tune_params values · 984c2f30
      gcc/
      
      	* config/arm/arm.c (arm_cortex_a57_tune): Initialize all fields.
      	(arm_cortex_a12_tune): Likewise.
      
      From-SVN: r209710
      James Greenhalgh committed
    • [AArch64] Add handling of bswap operations in rtx costs · 18b42b2a
      	* config/aarch64/aarch64.c (aarch64_rtx_costs): Handle BSWAP.
      
      From-SVN: r209706
      Kyrylo Tkachov committed
    • [ARM][3/3] Recognise bitwise operations leading to SImode rev16 · ea1e9168
      	* config/arm/arm.md (arm_rev16si2): New pattern.
      	(arm_rev16si2_alt): Likewise.
      	* config/arm/arm.c (arm_new_rtx_costs): Handle rev16 case.
      
      	* gcc.target/arm/rev16.c: New test.
      
      From-SVN: r209705
      Kyrylo Tkachov committed
    • [AArch64][2/3] Recognise rev16 operations on SImode and DImode data · f7d5cf8d
             * config/aarch64/aarch64.md (rev16<mode>2): New pattern.
             (rev16<mode>2_alt): Likewise.
             * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle rev16 case.
             * config/arm/aarch-common.c (aarch_rev16_shright_mask_imm_p): New.
             (aarch_rev16_shleft_mask_imm_p): Likewise.
             (aarch_rev16_p_1): Likewise.
             (aarch_rev16_p): Likewise.
             * config/arm/aarch-common-protos.h (aarch_rev16_p): Declare extern.
             (aarch_rev16_shright_mask_imm_p): Likewise.
             (aarch_rev16_shleft_mask_imm_p): Likewise.
      
             * gcc.target/aarch64/rev16_1.c: New test.
      
      From-SVN: r209704
      Kyrylo Tkachov committed
    • [ARM][1/3] Add rev field to rtx cost tables · 9ac05ae5
             * config/arm/aarch-common-protos.h (alu_cost_table): Add rev field.
             * config/arm/aarch-cost-tables.h (generic_extra_costs): Specify
             rev cost.
             (cortex_a53_extra_costs): Likewise.
             (cortex_a57_extra_costs): Likewise.
             * config/arm/arm.c (cortexa9_extra_costs): Likewise.
             (cortexa7_extra_costs): Likewise.
             (cortexa8_extra_costs): Likewise.
             (cortexa12_extra_costs): Likewise.
             (cortexa15_extra_costs): Likewise.
             (v7m_extra_costs): Likewise.
             (arm_new_rtx_costs): Handle BSWAP.
      
      From-SVN: r209703
      Kyrylo Tkachov committed
    • [ARM] Cortex-A8 rtx cost table · e0d8c86c
             * config/arm/arm.c (cortexa8_extra_costs): New table.
             (arm_cortex_a8_tune): New tuning struct.
             * config/arm/arm-cores.def (cortex-a8): Use cortex_a8 tuning struct.
      
      From-SVN: r209702
      Kyrylo Tkachov committed
    • [ARM] Handle FMA code in rtx costs. · ba9b1a63
             * config/arm/arm.c (arm_new_rtx_costs): Handle FMA.
      
      From-SVN: r209701
      Kyrylo Tkachov committed
    • Makefile.in (OBJS): Remove loop-unswitch.o. · da4cfeac
      2014-04-23  Richard Biener  <rguenther@suse.de>
      
      	* Makefile.in (OBJS): Remove loop-unswitch.o.
      	* loop-unswitch.c: Delete.
      	* tree-pass.h (make_pass_rtl_unswitch): Remove.
      	* passes.def (pass_rtl_unswitch): Likewise.
      	* loop-init.c (gate_rtl_unswitch): Likewise.
      	(rtl_unswitch): Likewise.
      	(pass_data_rtl_unswitch): Likewise.
      	(pass_rtl_unswitch): Likewise.
      	(make_pass_rtl_unswitch): Likewise.
      	* rtl.h (reversed_condition): Likewise.
      	(compare_and_jump_seq): Likewise.
      	* loop-iv.c (reversed_condition): Move here from loop-unswitch.c
      	and make static.
      	* loop-unroll.c (compare_and_jump_seq): Likewise.
      
      From-SVN: r209698
      Richard Biener committed
    • re PR tree-optimization/60903 (ICE: in verify_loop_structure, at cfgloop.c:1647:… · 22718afe
      re PR tree-optimization/60903 (ICE: in verify_loop_structure, at cfgloop.c:1647: : edge from 13 to 14 should be marked irreducible)
      
      2014-04-23  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/60903
      	* tree-ssa-loop-im.c (analyze_memory_references): Remove
      	commented code block.
      	(execute_sm_if_changed): Properly apply IRREDUCIBLE_LOOP
      	loop flags to newly created BBs and edges.
      
      	* gcc.dg/torture/pr60903.c: New testcase.
      
      From-SVN: r209694
      Richard Biener committed
    • c-common.c (handle_tm_wrap_attribute): Tweak error message. · c07d7c02
      	* c-common.c (handle_tm_wrap_attribute): Tweak error message.
      
      From-SVN: r209693
      Marek Polacek committed
    • msp430.c (msp430_handle_option): Move function to msp430-common.c · f7961364
      	* config/msp430/msp430.c (msp430_handle_option): Move function
      	to msp430-common.c
      	(msp430_option_override): Simplify mcu and mcpu option handling.
      	(msp430_is_f5_mcu): Rename to msp430_use_f5_series_hwmult.  Add
      	support for -mhwmult command line option.
      	(has_32bit_hwmult): Rename to use_32bit_hwmult.  Add support for
      	-mhwmult command line option.
      	(msp430_hwmult_enabled): Delete.
      	(msp43o_output_labelref): Add support for -mhwmult command line
      	option.
      	* config/msp430/msp430.md (mulhisi3, umulhisi3, mulsidi3)
      	(umulsidi3): Likewise.
      	* config/msp430/msp430.opt (mmcu): Add Report attribute.
      	(mcpu, mlarge, msmall): Likewise.
      	(mhwmult): New option.
      	* config/msp430/msp430-protos.h (msp430_hwmult_enabled): Remove
      	prototype.
      	(msp430_is_f5_mcu): Remove prototype.
      	(msp430_use_f5_series_hwmult): Add prototype.
      	* config/msp430/msp430-opts.h: New file.
      	* common/config/msp430: New directory.
      	* common/config/msp430/msp430-common.c: New file.
      	* config.gcc (msp430): Remove target_has_targetm_common.
      	* doc/invoke.texi: Document -mhwmult command line option.
      
      From-SVN: r209685
      Nick Clifton committed
    • Revert · 8f78ecdb
      	2014-04-22  Richard Henderson  <rth@redhat.com>
      
      	* gcc-interface/Makefile.in: Support aarch64-linux.
      
      	2014-04-22  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* fe.h (Compiler_Abort): Replace Fat_Pointer with String_Pointer.
      	(Error_Msg_N): Likewise.
      	(Error_Msg_NE): Likewise.
      	(Get_External_Name_With_Suffix): Likewise.
      	* types.h (Fat_Pointer): Delete.
      	(String_Pointer): New type.
      	(DECLARE_STRING_POINTER): New macro.
      	* gcc-interface/decl.c (create_concat_name): Adjust.
      	* gcc-interface/trans.c (post_error): Likewise.
      	(post_error_ne): Likewise.
      	* gcc-interface/misc.c (internal_error_function): Likewise.
      
      From-SVN: r209684
      Eric Botcazou committed
    • Update libstdc++ baseline symbols for m68k · eab264af
      * config/abi/post/m68k-linux-gnu/baseline_symbols.txt
      (CXXABI_1.3.9): New version.
      
      From-SVN: r209683
      Andreas Schwab committed
    • cygwin.h (ENDFILE_SPEC): Include default-manifest.o if it can be found in the search path. · f70df035
      	* config/i386/cygwin.h (ENDFILE_SPEC): Include
      	default-manifest.o if it can be found in the search path.
      	* config/i386/mingw32.h (ENDFILE_SPEC): Likewise.
      
      From-SVN: r209681
      Nick Clifton committed
    • arm.h (ASM_APP_OFF): Re-define it in a cleaner way. · 6a9accca
      2014-04-23  Terry Guo  <terry.guo@arm.com>
      
      	* config/arm/arm.h (ASM_APP_OFF): Re-define it in a cleaner way.
      
      From-SVN: r209678
      Terry Guo committed
    • re PR tree-optimization/60895 (error: address taken, but ADDRESSABLE bit not set) · 62ba699e
      2014-04-23  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/60895
      	* tree-inline.c (declare_return_variable): Use mark_addressable.
      
      	* g++.dg/torture/pr60895.C: New testcase.
      
      From-SVN: r209675
      Richard Biener committed
    • re PR tree-optimization/60891 (ICE: SIGSEGV (Invalid write/read) in… · 92562f88
      re PR tree-optimization/60891 (ICE: SIGSEGV (Invalid write/read) in pre_and_rev_post_order_compute_fn with -O -fno-tree-ch -fno-tree-cselim -fno-tree-dominator-opts)
      
      2014-04-23  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/60891
      	* loop-init.c (loop_optimizer_init): Make sure to apply
      	LOOPS_MAY_HAVE_MULTIPLE_LATCHES before fixing up loops.
      
      	* gcc.dg/torture/pr60891.c: New testcase.
      
      From-SVN: r209673
      Richard Biener committed
    • re PR sanitizer/60275 ([UBSAN] Add… · 1c33c9b7
      re PR sanitizer/60275 ([UBSAN] Add -f[no-]sanitize-recover/-fsanitize-undefined-trap-on-error to make UBSAN's runtime errors fatal)
      
      	PR sanitizer/60275
      	* common.opt (fsanitize-recover, fsanitize-undefined-trap-on-error):
      	New options.
      	* gcc.c (sanitize_spec_function): Don't return "" for "undefined"
      	if flag_sanitize_undefined_trap_on_error.
      	* sanitizer.def (BUILT_IN_UBSAN_HANDLE_DIVREM_OVERFLOW_ABORT,
      	BUILT_IN_UBSAN_HANDLE_SHIFT_OUT_OF_BOUNDS_ABORT,
      	BUILT_IN_UBSAN_HANDLE_VLA_BOUND_NOT_POSITIVE_ABORT,
      	BUILT_IN_UBSAN_HANDLE_TYPE_MISMATCH_ABORT,
      	BUILT_IN_UBSAN_HANDLE_ADD_OVERFLOW_ABORT,
      	BUILT_IN_UBSAN_HANDLE_SUB_OVERFLOW_ABORT,
      	BUILT_IN_UBSAN_HANDLE_MUL_OVERFLOW_ABORT,
      	BUILT_IN_UBSAN_HANDLE_NEGATE_OVERFLOW_ABORT,
      	BUILT_IN_UBSAN_HANDLE_LOAD_INVALID_VALUE_ABORT): New builtins.
      	* ubsan.c (ubsan_instrument_unreachable): Return
      	__builtin_trap () if flag_sanitize_undefined_trap_on_error.
      	(ubsan_expand_null_ifn): Emit __builtin_trap ()
      	if flag_sanitize_undefined_trap_on_error and
      	__ubsan_handle_type_mismatch_abort if !flag_sanitize_recover.
      	(ubsan_expand_null_ifn, ubsan_build_overflow_builtin,
      	instrument_bool_enum_load): Emit __builtin_trap () if
      	flag_sanitize_undefined_trap_on_error and
      	__builtin_handle_*_abort () if !flag_sanitize_recover.
      	* doc/invoke.texi (-fsanitize-recover,
      	-fsanitize-undefined-trap-on-error): Document.
      c-family/
      	* c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
      	if flag_sanitize_undefined_trap_on_error.
      	(ubsan_instrument_division, ubsan_instrument_shift,
      	ubsan_instrument_vla): Likewise.  Use __ubsan_handle_*_abort ()
      	if !flag_sanitize_recover.
      testsuite/
      	* g++.dg/ubsan/return-2.C: Revert 2014-03-24 changes, add
      	-fno-sanitize-recover to dg-options.
      	* g++.dg/ubsan/cxx11-shift-1.C: Remove c++11 target restriction,
      	add -std=c++11 to dg-options.
      	* g++.dg/ubsan/cxx11-shift-2.C: Likewise.
      	* g++.dg/ubsan/cxx1y-vla.C: Remove c++1y target restriction,
      	add -std=c++1y to dg-options.
      	* c-c++-common/ubsan/undefined-1.c: Revert 2014-03-24 changes, add
      	-fno-sanitize-recover to dg-options.
      	* c-c++-common/ubsan/overflow-sub-1.c: Likewise.
      	* c-c++-common/ubsan/vla-4.c: Likewise.
      	* c-c++-common/ubsan/pr59503.c: Likewise.
      	* c-c++-common/ubsan/vla-3.c: Likewise.
      	* c-c++-common/ubsan/save-expr-1.c: Likewise.
      	* c-c++-common/ubsan/overflow-add-1.c: Likewise.
      	* c-c++-common/ubsan/shift-3.c: Likewise.
      	* c-c++-common/ubsan/overflow-1.c: Likewise.
      	* c-c++-common/ubsan/overflow-negate-2.c: Likewise.
      	* c-c++-common/ubsan/vla-2.c: Likewise.
      	* c-c++-common/ubsan/overflow-mul-1.c: Likewise.
      	* c-c++-common/ubsan/pr60613-1.c: Likewise.
      	* c-c++-common/ubsan/shift-6.c: Likewise.
      	* c-c++-common/ubsan/overflow-mul-3.c: Likewise.
      	* c-c++-common/ubsan/overflow-add-3.c: New test.
      	* c-c++-common/ubsan/overflow-add-4.c: New test.
      	* c-c++-common/ubsan/div-by-zero-6.c: New test.
      	* c-c++-common/ubsan/div-by-zero-7.c: New test.
      
      From-SVN: r209672
      Jakub Jelinek committed