Commit Graph

118968 Commits

Author SHA1 Message Date
Steve Ellcey
b7f401de87 mt-sde: Change -mcode-xonly to -mcode-readable=pcrel.
2012-09-19  Steve Ellcey  <sellcey@mips.com>

	* mt-sde: Change -mcode-xonly to -mcode-readable=pcrel.

From-SVN: r191499
2012-09-19 20:42:01 +00:00
Steve Ellcey
5a0d8c3365 pr37362.c: Add mips*-mti-elf exception.
2012-09-19  Steve Ellcey  <sellcey@mips.com>

	* gcc.target/mips/pr37362.c: Add mips*-mti-elf exception.

From-SVN: r191497
2012-09-19 20:29:53 +00:00
Steve Ellcey
992bcfac4d config.gcc (mips*-mti-elf*): New target.
2012-09-19  Steve Ellcey  <sellcey@mips.com>

	* config.gcc (mips*-mti-elf*): New target.
	* config/mips/mti-elf.h: New file.
	* config/mips/t-mti-elf: New file.

From-SVN: r191496
2012-09-19 20:23:34 +00:00
Dehao Chen
5368224f42 Integrate lexical block into source_location.
gcc:
	2012-09-19  Dehao Chen  <dehao@google.com>

	* toplev.c (general_init): Init block_locations.
	* tree.c (tree_set_block): New.
	(tree_block): Change to use LOCATION_BLOCK.
	* tree.h (TREE_SET_BLOCK): New.
	* final.c (reemit_insn_block_notes): Change to use LOCATION_BLOCK.
	(final_start_function): Likewise.
	* input.c (expand_location_1): Likewise.
	* input.h (LOCATION_LOCUS): New.
	(LOCATION_BLOCK): New.
	(IS_UNKNOWN_LOCATION): New.
	* fold-const.c (expr_location_or): Change to use new location.
	* reorg.c (emit_delay_sequence): Likewise.
	(try_merge_delay_insns): Likewise.
	* modulo-sched.c (dump_insn_location): Likewise.
	* lto-streamer-out.c (lto_output_location_bitpack): Likewise.
	* lto-cgraph.c (output_node_opt_summary): Likewise.
	* jump.c (rtx_renumbered_equal_p): Likewise.
	* ifcvt.c (noce_try_move): Likewise.
	(noce_try_store_flag): Likewise.
	(noce_try_store_flag_constants): Likewise.
	(noce_try_addcc): Likewise.
	(noce_try_store_flag_mask): Likewise.
	(noce_try_cmove): Likewise.
	(noce_try_cmove_arith): Likewise.
	(noce_try_minmax): Likewise.
	(noce_try_abs): Likewise.
	(noce_try_sign_mask): Likewise.
	(noce_try_bitop): Likewise.
	(noce_process_if_block): Likewise.
	(cond_move_process_if_block): Likewise.
	(find_cond_trap): Likewise.
	* ipa-prop.c (ipa_set_jf_constant): Likewise.
	(ipa_write_jump_function): Likewise.
	* dwarf2out.c (add_src_coords_attributes): Likewise.
	* expr.c (expand_expr_real): Likewise.
	* tree-parloops.c (create_loop_fn): Likewise.
	* recog.c (peep2_attempt): Likewise.
	* function.c (free_after_compilation): Likewise.
	(expand_function_end): Likewise.
	(set_insn_locations): Likewise.
	(thread_prologue_and_epilogue_insns): Likewise.
	* print-rtl.c (print_rtx): Likewise.
	* profile.c (branch_prob): Likewise.
	* trans-mem.c (ipa_tm_scan_irr_block): Likewise.
	* gimplify.c (gimplify_call_expr): Likewise.
	* except.c (duplicate_eh_regions_1): Likewise.
	* emit-rtl.c (try_split): Likewise.
	(make_insn_raw): Likewise.
	(make_debug_insn_raw): Likewise.
	(make_jump_insn_raw): Likewise.
	(make_call_insn_raw): Likewise.
	(emit_pattern_after_setloc): Likewise.
	(emit_pattern_after): Likewise.
	(emit_debug_insn_after): Likewise.
	(emit_pattern_before): Likewise.
	(emit_insn_before_setloc): Likewise.
	(emit_jump_insn_before): Likewise.
	(emit_call_insn_before_setloc): Likewise.
	(emit_call_insn_before): Likeise.
	(emit_debug_insn_before_setloc): Likewise.
	(emit_copy_of_insn_after): Likewise.
	(insn_locators_alloc): Remove.
	(insn_locators_finalize): Remove.
	(insn_locators_free): Remove.
	(set_curr_insn_source_location): Remove.
	(get_curr_insn_source_location): Remove.
	(set_curr_insn_block): Remove.
	(get_curr_insn_block): Remove.
	(locator_scope): Remove.
	(insn_scope): Change to use new location.
	(locator_location): Remove.
	(insn_line): Change to use new location.
	(locator_file): Remove.
	(insn_file): Change to use new location.
	(locator_eq): Remove.
	(insn_locations_init): New.
	(insn_locations_finalize): New.
	(set_curr_insn_location): New.
	(curr_insn_location): New.
	* cfgexpand.c (gimple_assign_rhs_to_tree): Change to use new location.
	(expand_gimple_cond): Likewise.
	(expand_call_stmt): Likewise.
	(expand_gimple_stmt_1): Likewise.
	(expand_gimple_basic_block): Likewise.
	(construct_exit_block): Likewise.
	(gimple_expand_cfg): Likewise.
	* cfgcleanup.c (try_forward_edges): Likewise.
	* tree-ssa-live.c (remove_unused_scope_block_p): Likewise.
	(dump_scope_block): Likewise.
	(remove_unused_locals): Likewise.
	* rtl.c (rtx_equal_p_cb): Likewise.
	(rtx_equal_p): Likewise.
	* rtl.h (XUINT): New.
	(INSN_LOCATOR): Remove.
	(CURR_INSN_LOCATION): Remove.
	(INSN_LOCATION): New.
	(INSN_HAS_LOCATION): New.
	* tree-inline.c (remap_gimple_op_r): Change to use new location.
	(copy_tree_body_r): Likewise.
	(copy_phis_for_bb): Likewise.
	(expand_call_inline): Likewise.
	* tree-streamer-in.c (lto_input_ts_exp_tree_pointers): Likewise.
	* tree-streamer-out.c (write_ts_decl_minimal_tree_pointers): Likewise.
	* gimple-streamer-out.c (output_gimple_stmt): Likewise.
	* combine.c (try_combine): Likewise.
	* tree-outof-ssa.c (set_location_for_edge): Likewise.
	(insert_partition_copy_on_edge): Likewise.
	(insert_value_copy_on_edge): Likewise.
	(insert_rtx_to_part_on_edge): Likewise.
	(insert_part_to_rtx_on_edge): Likewise.
	* basic-block.h (edge_def): Remove field.
	* gimple.h (gimple_statement_base): Remove field.
	(gimple_bb): Change to use new location.
	(gimple_set_block): Likewise.
	(gimple_has_location): Likewise.
	* tree-cfg.c (make_cond_expr_edges): Likewise.
	(make_goto_expr_edges): Likewise.
	(gimple_can_merge_blocks_p): Likewise.
	(move_stmt_op): Likewise.
	(move_block_to_fn): Likewise.
	* config/alpha/alpha.c (alpha_output_mi_thunk_osf): Likewise.
	* config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
	* config/i386/i386.c (x86_output_mi_thunk): Likewise.
	* config/tilegx/tilegx.c (tilegx_output_mi_thunk): Likewise.
	* config/sh/sh.c (sh_output_mi_thunk): Likewise.
	* config/ia64/ia64.c (ia64_output_mi_thunk): Likewise.
	* config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
	* config/score/score.c (score_output_mi_thunk): Likewise.
	* config/tilepro/tilepro.c (tilepro_asm_output_mi_thunk): Likewise.
	* config/mips/mips.c (mips_output_mi_thunk): Likewise.
	* cfgrtl.c (unique_locus_on_edge_between_p): Likewise.
	(unique_locus_on_edge_between_p): Likewise.
	(emit_nop_for_unique_locus_between): Likewise.
	(force_nonfallthru_and_redirect): Likewise.
	(fixup_reorder_chain): Likewise.
	(cfg_layout_merge_blocks): Likewise.
	* stmt.c (emit_case_nodes): Likewise.

gcc/lto:
	2012-09-19  Dehao Chen  <dehao@google.com>

	* lto/lto.c (lto_fixup_prevailing_decls): Remove tree.exp.block field.

libcpp:
	2012-09-19  Dehao Chen  <dehao@google.com>

	* include/line-map.h (MAX_SOURCE_LOCATION): New value.
	(location_adhoc_data_fini): New.
	(get_combined_adhoc_loc): New.
	(get_data_from_adhoc_loc): New.
	(get_location_from_adhoc_loc): New.
	(location_adhoc_data_map): New.
	(COMBINE_LOCATION_DATA): New.
	(IS_ADHOC_LOC): New.
	(expanded_location): New field.
	(line_maps): New field.
	* line-map.c (location_adhoc_data): New.
	(location_adhoc_data_hash): New.
	(location_adhoc_data_eq): New.
	(location_adhoc_data_update): New.
	(get_combined_adhoc_loc): New.
	(get_data_from_adhoc_loc): New.
	(get_location_from_adhoc_loc): New.
	(location_adhoc_data_init): New.
	(location_adhoc_data_fini): New.
	(linemap_init): Initialize location_adhoc_data.
	(linemap_lookup): Change to use new location.
	(linemap_ordinary_map_lookup): Likewise.
	(linemap_macro_map_lookup): Likewise.
	(linemap_macro_map_loc_to_def_point): Likewise.
	(linemap_macro_map_loc_unwind_toward_spel): Likewise.
	(linemap_get_expansion_line): Likewise.
	(linemap_get_expansion_filename): Likewise.
	(linemap_location_in_system_header_p): Likewise.
	(linemap_location_from_macro_expansion_p): Likewise.
	(linemap_macro_loc_to_spelling_point): Likewise.
	(linemap_macro_loc_to_def_point): Likewise.
	(linemap_macro_loc_to_exp_point): Likewise.
	(linemap_resolve_location): Likewise.
	(linemap_unwind_toward_expansion): Likewise.
	(linemap_unwind_to_first_non_reserved_loc): Likewise.
	(linemap_expand_location): Likewise.
	(linemap_dump_location): Likewise.
	(linemap_line_start): Likewise.

From-SVN: r191494
2012-09-19 19:56:42 +00:00
Bernd Schmidt
1a83e602a1 dbgcnt.def (sched_breakdep): New counter.
* dbgcnt.def (sched_breakdep): New counter.
	* haifa-sched.c (update_insn_after_change): New static function,
	broken out of haifa_change_pattern.
	(haifa_change_pattern): Call it.
	(dep_t heap vecs): Declare.
	(INSN_COST): Define earlier.
	(next_cycle_replace_deps, next_cycle_apply): New static
	variables.
	(apply_replacement): New static function.
	(recompute_todo_spec): New argument FOR_BACKTRACK.  All callers
	changed.  Handle DEP_REPLACE deps.
	(contributes_to_priority_p): False for replaceable deps.
	(must_restore_pattern_p, restore_pattern): New static functions.
	(schedule_insn): Use them.  Apply replacements for broken deps.
	(struct haifa_saved_data): Add new fields to keep track of
	replacements.
	(save_backtrack_point): Initialize them.
	(undo_replacements_for_backtrack): New static function.
	(restore_last_backtrack_point, free_topmost_backtrack_point):
	Use it and keep track of replacements.
	(perform_replacements_new_cycle, undo_all_replacements): New static
	functions.
	(schedule_block): Call these two as necessary.  Call
	find_modifiable_mems.
	(try_ready): Tweak the assert.  Check for DEP_POSTPONED.
	* sched-deps.c: Include "emit-rtl.h".
	(init_dep_1): Initialize DEP_NONREG, DEP_MULTIPLE and DEP_REPLACE.
	(dep_spec_p): True for DEP_REPLACE deps.
	(mark_as_hard): New static variable.
	(update_dep): Update DEP_NONREG and DEP_MULTIPLE.
	(add_dependence_list): New argument hard.  All callers changed.  Set
	and clear mark_as_hard around function body.
	(add_dependence_list_and_free): Likewise.
	(haifa_note_mem_dep): Set DEP_NONREG.
	(haifa_note_dep): Likewise if mark_as_hard is true.
	(sched_analyze_insn): Switch loop with if statement testing for
	sel_sched_p.
	(struct mem_inc_info): New.
	(attempt_change, parse_add_or_inc, find_inc, find_mem): New static
	functions.
	(find_modifiable_mems): New function.
	* sched-int.h (struct dep_replacement): New.
	(struct _dep): Add replace, nonreg and multiple fields.  Make type and
	cost bitfields.
	(UNKNOWN_DEP_COST): Change to match the bitfield.
	(DEP_NONREG, DEP_MULTIPLE, DEP_REPLACE): New macros.
	(DEP_POSTPONED): New macro.
	(DEP_CANCELLED): Renumber.
	(find_modifiable_mems): Declare.
	(enum SCHED_FLAGS): Add DONT_BREAK_DEPENDENCIES.
	* sched-rgn.c (init_ready_list): Set TODO_SPEC here.
	(new_ready): Don't set HARD_DEP, use DEP_POSTPONED.
	(debug_dependencies): Dump DEP_NONREG and DEP_MULTIPLE.
	* Makefile.in (sched-deps.o): Update dependencies.
	* config/c6x/c6x.c (in_hwloop): New static variable.
	(c6x_set_sched_flags): If it is true, add DONT_BREAK_DEPENDENCIES.
	(hwloop_optimize): Set and clear it around preliminary scheduling
	pass.

From-SVN: r191493
2012-09-19 19:37:31 +00:00
Tulio Magno Quites Machado Filho
7b49d6db24 ppc-get-timebase.c: New file.
2012-09-19  Tulio Magno Quites Machado Filho  <tuliom@linux.vnet.ibm.com>

        * gcc.target/powerpc/ppc-get-timebase.c: New file.
        * gcc.target/powerpc/ppc-mftb.c: New file.

From-SVN: r191492
2012-09-19 15:08:00 -04:00
David Edelsohn
0efbf084f4 [multiple changes]
2012-09-19  Tulio Magno Quites Machado Filho  <tuliom@linux.vnet.ibm.com>

        * config/rs6000/rs6000-builtin.def: Add __builtin_ppc_get_timebase
        and __builtin_ppc_mftb.
        * config/rs6000/rs6000.c (rs6000_expand_zeroop_builtin): New
        function to expand an expression that calls a built-in without
        arguments.
        (rs6000_expand_builtin): Add __builtin_ppc_get_timebase and
        __builtin_ppc_mftb.
        (rs6000_init_builtins): Likewise.
        * config/rs6000/rs6000.md (rs6000_get_timebase): New pattern.
        (rs6000_get_timebase_ppc32): New pattern.
        (rs6000_mftb_<mode>): New pattern.

        * doc/extend.texi (PowerPC Built-in Functions): New section.
        (PowerPC AltiVec/VSX Built-in Functions):
        Move some built-ins unrelated to Altivec/VSX to the new section.

2012-09-19  David Edelsohn  <dje.gcc@gmail.com>

        * rs6000.md (mac*): Remove extra spaces.
        (mulhw*): Same.

From-SVN: r191491
2012-09-19 15:05:34 -04:00
Oleg Endo
4eddc42b63 re PR target/54089 ([SH] Refactor shift patterns)
PR target/54089
	* config/sh/predicates.md (arith_reg_or_t_reg_operand): New predicate.
	* config/sh/sh.md (*rotcr): Use arith_reg_or_t_reg_operand predicate.
	Handle the case where one of the operands is T_REG.
	Add new pattern to handle MSB extraction.

	PR target/54089
	* gcc.target/sh/pr54089-1.c (test_11, test_12, test_13, test_14): New
	functions.

From-SVN: r191490
2012-09-19 17:48:25 +00:00
Oleg Endo
8b75f5506f re PR target/54236 ([SH] Improve addc and subc insn utilization)
PR target/54236
	* config/sh/sh.md (*addc): Add pattern to handle one bit left shifts.

	PR target/54236
	* gcc.target/sh/pr54236-1.c (test_08): Add one bit left shift case.

From-SVN: r191489
2012-09-19 17:45:37 +00:00
Oleg Endo
689653125b sh.md (prologue, epilogue): Use braced strings.
* config/sh/sh.md (prologue, epilogue): Use braced strings.

From-SVN: r191488
2012-09-19 17:42:28 +00:00
Ian Lance Taylor
69d4d74dff compiler: Ignore byte-order-mark at start of file.
From-SVN: r191485
2012-09-19 15:51:16 +00:00
Eric Botcazou
17fff17b06 re PR rtl-optimization/54290 (wrong code at -O2 with large offset)
PR rtl-optimization/54290
	* reload1.c (choose_reload_regs): Also take into account secondary MEMs
	to remove address replacements for inherited reloads.
	(replaced_subreg): Move around.

From-SVN: r191484
2012-09-19 15:38:16 +00:00
Joseph Myers
5b156feaf8 * cpplib.pot: Regenerate.
From-SVN: r191483
2012-09-19 15:58:40 +01:00
Joseph Myers
58420e6b30 * gcc.pot: Regenerate.
From-SVN: r191482
2012-09-19 15:58:08 +01:00
David Edelsohn
d36481c6ac aix61.h (TARGET_DEFAULT): Add MASK_PPC_GPOPT, MASK_PPC_GFXOPT, and MASK_MFCRF.
* config/rs6000/aix61.h (TARGET_DEFAULT): Add MASK_PPC_GPOPT,
        MASK_PPC_GFXOPT, and MASK_MFCRF.

From-SVN: r191480
2012-09-19 10:21:52 -04:00
Richard Guenther
471dc06d27 c-torture.exp (TORTURE_OPTIONS): Add -Og -g.
2012-09-19  Richard Guenther  <rguenther@suse.de>

	* lib/c-torture.exp (TORTURE_OPTIONS): Add -Og -g.

From-SVN: r191478
2012-09-19 14:05:26 +00:00
Richard Guenther
2d5fec4e65 passes.c (init_optimization_passes): For -Og move pass_object_sizes inbetween CCP and copyprop.
2012-09-19  Richard Guenther  <rguenther@suse.de>

	* passes.c (init_optimization_passes): For -Og move
	pass_object_sizes inbetween CCP and copyprop.

From-SVN: r191476
2012-09-19 13:46:34 +00:00
Rainer Orth
768505569c configure.ac (GCC_HEADER_STDINT): Invoke.
* configure.ac (GCC_HEADER_STDINT): Invoke.
        * backtrace.h: If we can't find <stdint.h>, use "gstdint.h".
        * btest.c: Don't include <stdint.h>.
        * dwarf.c: Likewise.
        * configure, aclocal.m4, Makefile.in, config.h.in: Rebuild.

Co-Authored-By: Ian Lance Taylor <iant@google.com>

From-SVN: r191474
2012-09-19 13:41:33 +00:00
Richard Guenther
fb522d96cc builtin-unreachable-6.c: Adjust.
2012-09-19  Richard Guenther  <rguenther@suse.de>

	* gcc.dg/builtin-unreachable-6.c: Adjust.

From-SVN: r191472
2012-09-19 13:29:08 +00:00
Richard Guenther
56f9667fa6 builtin-object-size-10.c: Adjust.
2012-09-19  Richard Guenther  <rguenther@suse.de>

	* gcc.dg/builtin-object-size-10.c: Adjust.
	* gcc.dg/builtin-unreachable-5.c: Adjust.
	* gcc.dg/tree-ssa/builtin-fprintf-1.c: Adjust.
	* gcc.dg/tree-ssa/builtin-fprintf-chk-1.c: Adjust.
	* gcc.dg/tree-ssa/builtin-printf-1.c: Adjust.
	* gcc.dg/tree-ssa/builtin-printf-chk-1.c: Adjust.
	* gcc.dg/tree-ssa/builtin-vfprintf-1.c: Adjust.
	* gcc.dg/tree-ssa/builtin-vfprintf-chk-1.c: Adjust.
	* gcc.dg/tree-ssa/builtin-vprintf-1.c: Adjust.
	* gcc.dg/tree-ssa/builtin-vprintf-chk-1.c: Adjust.
	* gcc.dg/tree-ssa/ssa-ccp-10.c: Adjust.
	* gcc.dg/vect/vec-scal-opt.c: Adjust.
	* gcc.dg/vect/vec-scal-opt1.c: Adjust.
	* gcc.dg/vect/vec-scal-opt2.c: Adjust.

From-SVN: r191468
2012-09-19 11:13:09 +00:00
Richard Guenther
ef78c9c7e6 tree-ssa-forwprop.c (get_prop_source_stmt): Simplify.
2012-09-19  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-forwprop.c (get_prop_source_stmt): Simplify.

From-SVN: r191467
2012-09-19 11:03:51 +00:00
Jan Hubicka
b5493fb2fa symtab.c (insert_to_assembler_name_hash): Do not insert register vars.
* symtab.c (insert_to_assembler_name_hash): Do not insert
	register vars.
	(unlink_from_assembler_name_hash): NULL out pointers of unlinked
	var.
	(symtab_prevail_in_asm_name_hash): New.
	(symtab_initialize_asm_name_hash): Break out from ...
	(symtab_node_for_asm): ... here.
	(dump_symtab_base): Dump LTO file data.
	(verify_symtab_base): Register vars are not in symtab.
	* cgraph.h (symtab_initialize_asm_name_hash,
	symtab_prevail_in_asm_name_hash): New functions.
	(symtab_real_symbol_p): New inline.
	* lto-symtab.c: Do not include gt-lto-symtab.h.
	(lto_symtab_entry_def): Remove.
	(lto_symtab_entry_t): Remove.
	(lto_symtab_identifiers): Remove.
	(lto_symtab_free): Remove.
	(lto_symtab_entry_hash): Remove.
	(lto_symtab_entry_eq): Remove.
	(lto_symtab_entry_marked_p): Remove.
	(lto_symtab_maybe_init_hash_table): Remove.
	(resolution_guessed_p, set_resolution_guessed): New functions.
	(lto_symtab_register_decl): Only set resolution info.
	(lto_symtab_get, lto_symtab_get_resolution): Remove.
	(lto_symtab_merge): Reorg to work across symtab; do nothing if decls
	are same.
	(lto_symtab_resolve_replaceable_p): Reorg to work on symtab.
	(lto_symtab_resolve_can_prevail_p): Likewise; only real symbols can
	prevail.
	(lto_symtab_resolve_symbols): Reorg to work on symtab.
	(lto_symtab_merge_decls_2): Likewise.
	(lto_symtab_merge_decls_1): Likewise; add debug dumps.
	(lto_symtab_merge_decls): Likewise; do not merge at ltrans stage.
	(lto_symtab_merge_cgraph_nodes_1): Reorg to work on symtab.
	(lto_symtab_merge_cgraph_nodes): Likewise; do not merge at ltrans stage.
	(lto_symtab_prevailing_decl): Rewrite to lookup into symtab.
	* lto-streaer.h (lto_symtab_free): Remove.
	* lto-cgraph.c (add_references): Cleanup.
	* varpool.c (varpool_assemble_decl): Skip hard regs.

	* lto.c (lto_materialize_function): Update confused comment.
	(read_cgraph_and_symbols): Do not free symtab.

From-SVN: r191466
2012-09-19 10:01:56 +00:00
Richard Guenther
9745abfd1c re PR other/53316 (Introduce -Og)
2012-09-19  Richard Guenther  <rguenther@suse.de>

	PR other/53316
	* common/common-target.h (OPT_LEVELS_1_PLUS_NOT_DEBUG): Add.

From-SVN: r191465
2012-09-19 09:31:49 +00:00
Richard Guenther
bf7a718571 re PR other/53316 (Introduce -Og)
2012-09-19  Richard Guenther  <rguenther@suse.de>

	PR other/53316
	* common.opt (optimize_debug): New variable.
	(Og): New optimization level.
	* doc/invoke.texi (Og): Document.
	* opts.c (maybe_default_option): Add debug parameter.
	(maybe_default_options): Likewise.
	(default_options_optimization): Handle -Og.
	(common_handle_option): Likewise.
	* passes.c (gate_all_optimizations): Do not run with -Og.
	(gate_all_optimizations_g): New gate, run with -Og.
	(pass_all_optimizations_g): New container pass, run with -Og.
	(init_optimization_passes): Schedule pass_all_optimizations_g
	alongside pass_all_optimizations.

From-SVN: r191464
2012-09-19 09:29:57 +00:00
Richard Guenther
f20132e7ae re PR tree-optimization/54132 (Incorrect loop transformation with -ftree-loop-distribute-patterns)
2012-09-19  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/54132
	* tree-loop-distribution.c (classify_partition): Properly
	check dependences for memmove.
	* tree-data-ref.h (compute_affine_dependence): Declare.
	* tree-data-ref.c (compute_affine_dependence): Export.

	* gcc.dg/tree-ssa/ldist-21.c: New testcase.
	* gcc.dg/torture/pr54132.c: Likewise.

From-SVN: r191463
2012-09-19 08:59:06 +00:00
Zhenqiang Chen
f7d0c571f7 re PR middle-end/54364 (Tail call jumps not threaded)
PR middle-end/54364
	* bb-reorder.c (connect_better_edge_p): New added.
	(find_traces_1_round): When optimizing for size, ignore edge frequency
	and probability, and handle all in one round.
	(bb_to_key): Use bb->index as key when optimizing for size.
	(better_edge_p): The bb with smaller index is better when optimizing
	for size.
	(connect_traces): When optimizing for size, connect block n with
	block n + 1; connect trace m with trace m + 1 if falling through.
	(gate_handle_reorder_blocks): Enable bbro when optimizing for -Os.

From-SVN: r191462
2012-09-19 07:40:15 +00:00
Ian Lance Taylor
878b569c6a compiler: Fix multiple types with same name in function.
From-SVN: r191461
2012-09-19 05:27:19 +00:00
Terry Guo
06e28db05e gcc-dg.exp (dg_runtest_extra_prunes): New variable to define extra prune rules that will be applied to all tests in a...
2012-09-19  Terry Guo  <terry.guo@arm.com>

        * lib/gcc-dg.exp (dg_runtest_extra_prunes): New variable to define
        extra prune rules that will be applied to all tests in a .exp file.
        (gcc-dg-prune): Use rules defined by the above variable.
        * gcc.target/arm/arm.exp (dg_runtest_extra_prunes): Skip all the
        harmless warnings on architecture switch conflict.

From-SVN: r191460
2012-09-19 05:17:22 +00:00
Ian Lance Taylor
9425c00b8e re PR bootstrap/54623 (install fails with libbacktrace/backtrace.c:35:20: error: unwind.h: No such file or directory)
PR bootstrap/54623
	* Makefile.am (AM_CPPFLAGS): Define.
	(AM_CFLAGS): Remove -I options.
	* Makefile.in: Rebuild.

From-SVN: r191459
2012-09-19 04:37:40 +00:00
Bin Cheng
467d90329d Fix ChangeLog entry for r191457.
From-SVN: r191458
2012-09-19 01:53:23 +00:00
Bin Cheng
afb0c9cda9 * fold-const.c (fold_truth_andor) Remove duplicated check on
BRANCH_COST.

From-SVN: r191457
2012-09-19 01:49:09 +00:00
Hans-Peter Nilsson
7a99a2514e nested-3.C: Match a sequence of asm-comment characters instead of a single one.
* g++.dg/debug/dwarf2/nested-3.C: Match a sequence
	of asm-comment characters instead of a single one.
	* g++.dg/debug/dwarf2/nested-2.C: Similar.

From-SVN: r191456
2012-09-19 01:36:31 +00:00
GCC Administrator
92058131cf Daily bump.
From-SVN: r191455
2012-09-19 00:17:30 +00:00
Eric Botcazou
63d94e58b1 re PR middle-end/54617 (ICE on gcc.c-torture/compile/pr42025-2.c with -m64 and -O1)
PR middle-end/54617
	* expr.c (store_field): Handle a PARALLEL in more cases.

From-SVN: r191451
2012-09-18 22:42:18 +00:00
Segher Boessenkool
4f60e9d38f rs6000.md (sminsi3, [...]): Delete.
2012-09-18  Segher Boessenkool  <segher@kernel.crashing.org>

gcc/
	* config/rs6000/rs6000.md (sminsi3, smaxsi3, uminsi3, umaxsi3):
	Delete.
	(abssi2, abs<mode>2_isel, nabs<mode>2_isel, abssi2_nopower,
	nabs_nopower): Delete.
	(absdi2, absdi2_internal, nabsdi2): Delete.
	(smindi3, smaxdi3, umindi3, umaxdi3): Delete.

From-SVN: r191450
2012-09-18 23:13:45 +02:00
Janis Johnson
65c247eefc * gcc.dg/vect/fast-math-pr35982.c: Skip check instead of xfail.
From-SVN: r191448
2012-09-18 19:47:39 +00:00
Janis Johnson
672df68093 no-vfa-vect-101.c: Skip a check for an irrelevant target instead of xfailing it.
* gcc.dg/vect/no-vfa-vect-101.c: Skip a check for an irrelevant
	target instead of xfailing it.
	* gcc.dg/vect/no-vfa-vect-102.c: Likewise.
	* gcc.dg/vect/no-vfa-vect-102a.c: Likewise.
	* gcc.dg/vect/no-vfa-vect-37.c: Likewise.
	* gcc.dg/vect/no-vfa-vect-79.c: Likewise.
	* gcc.dg/vect/vect-104.c: Likewise.
	* gcc.dg/vect/vect-outer-1-big-array.c: Likewise.
	* gcc.dg/vect/vect-outer-1.c: Likewise.
	* gcc.dg/vect/vect-outer-1a-big-array.c: Likewise.
	* gcc.dg/vect/vect-outer-1a.c: Likewise.
	* gcc.dg/vect/vect-outer-1b-big-array.c: Likewise.
	* gcc.dg/vect/vect-outer-1b.c: Likewise.
	* gcc.dg/vect/vect-outer-2b.c: Likewise.
	* gcc.dg/vect/vect-outer-3a-big-array.c: Likewise.
	* gcc.dg/vect/vect-outer-3a.c: Likewise.
	* gcc.dg/vect/vect-outer-3b.c: Likewise.
	* gcc.dg/vect/vect-reduc-dot-s8b.c: Likewise.

From-SVN: r191447
2012-09-18 19:46:52 +00:00
Janis Johnson
1401c91389 target-supports.exp (check_effective_target_vect_widen_mult_qi_to_hi, [...]): Check arm_neon_ok instead of arm_none.
* lib/target-supports.exp
	(check_effective_target_vect_widen_mult_qi_to_hi,
	check_effective_target_vect_widen_mult_hi_to_si,
	check_effective_target_vect_widen_mult_qi_to_hi_pattern,
	check_effective_target_vect_widen_mult_hi_to_si_pattern,
	check_effective_target_vect_pack_trunc,
	check_effective_target_vect_unpack,
	check_effective_target_vect_multiple_sizes): Check arm_neon_ok
	instead of arm_none.

From-SVN: r191446
2012-09-18 19:46:01 +00:00
Janis Johnson
67fae09fb0 * gcc.dg/vect/pr52298.c: Remove "dg-do run".
From-SVN: r191445
2012-09-18 19:45:11 +00:00
Senthil Kumar Selvaraj
3d3bdc6767 target-supports-dg.exp (check-flags): Add cflags from board config to compiler_flags.
2012-09-18  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>

	* lib/target-supports-dg.exp (check-flags): Add cflags from board
	config to compiler_flags.

From-SVN: r191444
2012-09-18 19:42:13 +00:00
Ian Lance Taylor
3319ef17d2 posix.c (O_BINARY): Define if not defined.
* posix.c (O_BINARY): Define if not defined.
	(backtrace_open): Pass O_BINARY to open.  Only call fcntl if
	HAVE_FCNTL is defined.
	* configure.ac: Test for the fcntl function.
	* configure, config.h.in: Rebuild.

From-SVN: r191443
2012-09-18 18:06:28 +00:00
Ian Lance Taylor
bd3e497d0b * btest.c (test1, test2, test3, test4): Add the unused attribute.
From-SVN: r191440
2012-09-18 17:10:01 +00:00
Ian Lance Taylor
30e15876ff * dwarf.c: Correct test of HAVE_DECL_STRNLEN.
From-SVN: r191437
2012-09-18 16:50:29 +00:00
Georg-Johann Lay
487e359c28 avr.md: Tidy up empty "".
* config/avr/avr.md: Tidy up empty "".  Fix C code indentation.
	* config/avr/avr-fixed.md: Ditto.

From-SVN: r191436
2012-09-18 16:43:27 +00:00
Ian Lance Taylor
d4c059d582 configure.ac: Add AC_USE_SYSTEM_EXTENSIONS.
* configure.ac: Add AC_USE_SYSTEM_EXTENSIONS.
	* mmapio.c: Don't define _GNU_SOURCE.
	* configure, config.h.in: Rebuild.

From-SVN: r191435
2012-09-18 16:36:48 +00:00
Edward Smith-Rowland
19ece7ec02 Implement the Nakagami statistical distribution as an extension.
From-SVN: r191434
2012-09-18 16:14:09 +00:00
Ian Lance Taylor
772a71a959 configure.ac: Check whether strnlen is declared.
* configure.ac: Check whether strnlen is declared.
	* dwarf.c: Declare strnlen if not declared.
	* configure, config.h.in: Rebuild.

From-SVN: r191433
2012-09-18 16:06:53 +00:00
Ian Lance Taylor
9a9baa5254 strnlen.c: New file.
* strnlen.c: New file.
	* configure.ac: Check for strnlen, add it to AC_LIBOBJ if it's not
	present.
	* Makefile.in: Rebuild dependencies.
	(CFILES): Add strnlen.c.
	(CONFIGURED_OFILES): Add ./strnlen.$(objext).
	* configure, config.in, functions.texi: Rebuild.

	* maint-tool: Accept .def files in the include directory.

From-SVN: r191432
2012-09-18 16:03:01 +00:00
Maciej W. Rozycki
fb5e0707d1 rs6000.c (print_operand): Remove.
* config/rs6000/rs6000.c (print_operand) <'c'>: Remove.
	* config/rs6000/spe.md: Remove a leftover comment.

From-SVN: r191431
2012-09-18 15:57:53 +00:00
Jakub Jelinek
68e28cfd16 re PR rtl-optimization/54592 (Cannot fuse SSE move and add together)
PR target/54592
	* config/i386/i386.c (ix86_rtx_costs): Limit > UNITS_PER_WORD
	AND/IOR/XOR cost calculation to MODE_INT class modes.

	* gcc.target/i386/pr54592.c: New test.

From-SVN: r191430
2012-09-18 17:14:15 +02:00