Commit Graph

119051 Commits

Author SHA1 Message Date
Eric Botcazou
b383e25548 re PR rtl-optimization/54290 (wrong code at -O2 with large offset)
PR rtl-optimization/54290
	PR rtl-optimization/54644
	* reload1.c (choose_reload_regs): Fix thinko in previous change.

From-SVN: r191609
2012-09-21 11:06:51 +00:00
Paolo Carlini
88a4c78be1 stl_algobase.h (max, min): Use conditional operator.
2012-09-21  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_algobase.h (max, min): Use conditional operator.

From-SVN: r191608
2012-09-21 10:48:30 +00:00
Marc Glisse
a3e531ec34 re PR c++/54427 (Expose more vector extensions)
2012-09-21  Marc Glisse  <marc.glisse@inria.fr>

	PR c++/54427
	* c-c++-common/torture/vector-compare-2.c: Add -w.

From-SVN: r191604
2012-09-21 09:19:39 +00:00
Segher Boessenkool
d476e32900 rs6000.md (define_split for plus_eqsi): Fix output pattern.
2012-09-20  Segher Boessenkool  <segher@kernel.crashing.org>

gcc/
        * config/rs6000/rs6000.md (define_split for plus_eqsi):
        Fix output pattern.

From-SVN: r191600
2012-09-21 02:33:27 +02:00
GCC Administrator
7c9174093d Daily bump.
From-SVN: r191599
2012-09-21 00:18:32 +00:00
Eric Botcazou
c2d0918754 * reload1.c (choose_reload_regs): Add missing #ifdef/#endif pair.
From-SVN: r191596
2012-09-20 22:38:42 +00:00
Bernd Schmidt
4f66c9bcbe re PR bootstrap/54643 (Build hangs compiling unwind-arm.c)
PR bootstrap/54643
	* haifa-sched.c (schedule_block): Skip find_modifiable_mems if using
	SCHED_PRESSURE_MODEL.

From-SVN: r191595
2012-09-20 22:01:47 +00:00
Eric Botcazou
8604dde066 opt20.ads: Move dg directive to...
* gnat.dg/opt20.ads: Move dg directive to...
	* gnat.dg/opt20.adb: ...here.
	* gnat.dg/addr1.ad[sb]: Likewise.
	* gnat.dg/concat2.ad[sb]: Likewise.
	* gnat.dg/array16.ad[sb]: Likewise.
	* gnat.dg/atomic5.ad[sb]: Likewise.
	* gnat.dg/discr29.ad[sb]: Likewise.
	* gnat.dg/noreturn5.ad[sb]: Likewise.
	* gnat.dg/vect8.ad[sb]: Likewise.  Add dg-options.
	* gnat.dg/discr23.ads: Remove dg directive.
	* gnat.dg/nested_float_packed.ads: Likewise.
	* gnat.dg/oconst6.ads: Move to...
	* gnat.dg/specs/oconst6.ads: ...here.

From-SVN: r191592
2012-09-20 21:58:46 +00:00
Tobias Burnus
dee1c26531 re PR fortran/54599 (Issues found in gfortran by the Coverity Scan)
2012-09-20  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54599
        * cpp.c (print_line): Properly handle extern C.

From-SVN: r191590
2012-09-20 22:49:20 +02:00
Joern Rennecke
10439b597d * rtlanal.c (dead_or_set_regno_p): Fix COND_EXEC handling.
From-SVN: r191586
2012-09-20 21:17:34 +01:00
Walter Lee
8750dfc52c Add tilegx to list of targets that support gold.
* configure.ac: Add tilegx to list of targets that support gold.
       * configure: Regenerate.

From-SVN: r191585
2012-09-20 19:17:51 +00:00
Ian Lance Taylor
9af5c88c8f compiler: Update for GCC push_cfun changes.
From-SVN: r191582
2012-09-20 17:33:26 +00:00
Marek Polacek
5ae27c9c1f Merge identical cases.
From-SVN: r191581
2012-09-20 17:05:41 +00:00
Marek Polacek
97a74ddb85 Don't cast XNEWVEC's result.
From-SVN: r191580
2012-09-20 17:02:40 +00:00
Marek Polacek
61e12affc2 Add myself to MAINTAINERS.
From-SVN: r191578
2012-09-20 16:45:28 +00:00
Martin Jambor
af16bc762a function.c (push_cfun): Check old current_function_decl matches old cfun...
2012-09-20  Martin Jambor  <mjambor@suse.cz>

	* function.c (push_cfun): Check old current_function_decl matches
	old cfun, set new current_function_decl to the decl of the new
	cfun.
	(push_struct_function): Likewise.
	(pop_cfun): Likewise.
	(allocate_struct_function): Move call to
	invoke_set_current_function_hook to the end of the function.
	* cfgexpand.c (estimated_stack_frame_size): Do not set and restore
	current_function_decl.
	* cgraph.c (cgraph_release_function_body): Likewise.
	* cgraphunit.c (cgraph_process_new_functions): Likewise.
	(cgraph_add_new_function): Likewise.
	(cgraph_analyze_function): Likewise.
	(assemble_thunk): Set cfun to NULL at the end.
	(expand_function): Move call to set_cfun downwards.
	* gimple-low.c (record_vars_into): Only check current_function_decl
	before possibly doing push_cfun.
	* gimplify.c (gimplify_function_tree): Do not set and restore
	current_function_decl.
	* ipa-inline-analysis.c (compute_inline_parameters): Likewise.
	(inline_analyze_function): Likewise.
	* ipa-prop.c (ipa_analyze_node): Likewise.
	* ipa-pure-const.c (analyze_function): Likewise.
	* lto-streamer-in.c (lto_input_function_body): Do not set
	current_function_decl.
	* lto-streamer-out.c (output_function): Do not set and restore
	current_function_decl.
	* omp-low.c (finalize_task_copyfn): Likewise.
	(expand_omp_taskreg): Likewise.
	(create_task_copyfn): Likewise, move push_cfun up quite a bit.
	* passes.c (dump_passes): Do not set and restore current_function_decl.
	(do_per_function): Likewise.
	(do_per_function_toporder): Likewise.
	* trans-mem.c (ipa_tm_scan_irr_function): Likewise.
	(ipa_tm_transform_transaction): Likewise.
	(ipa_tm_transform_clone): Likewise.
	(ipa_tm_execute): Likewise.
	* tree-emutls.c (lower_emutls_function_body): Likewise.
	* tree-inline.c (initialize_cfun): Do not call pop_cfun.
	(tree_function_versioning): Do not call push_cfun, do not set and
	restore current_function_decl.  Remove assert checking consistency of
	cfun and current_function_decl.
	* tree-profile.c (tree_profiling): Do not set and restore
	current_function_decl.
	* tree-sra.c (convert_callers_for_node): Do not set
	current_function_decl.
	(convert_callers): Do not restore current_function_decl.
	(modify_function): Do not set current_function_decl.
	* tree-ssa-structalias.c (ipa_pta_execute): Do not set and restore
	current_function_decl.

fortran/
	* trans-decl.c (gfc_get_extern_function_decl): Push NULL cfun.  Do not
	set and restore current_function_decl.
	(gfc_init_coarray_decl): Do not set and restore current_function_decl.

lto/
	* lto.c (lto_materialize_function): Call push_struct_function and
	pop_cfun.

From-SVN: r191577
2012-09-20 18:35:40 +02:00
Ian Lance Taylor
ee6440f8d8 libgo: Add no-dist and -Wno-portability to AM_INIT_AUTOMAKE.
From-SVN: r191575
2012-09-20 16:32:27 +00:00
Diego Novillo
fc1bc21b52 re PR target/54631 (vxworks.c fails to compile)
PR target/54631
	* config/vxworks.c (vxworks_emutls_var_init): Update for new
	VEC_quick_push interface.

From-SVN: r191574
2012-09-20 12:31:05 -04:00
Richard Guenther
f2ea3c151c re PR tree-optimization/54634 (miscompilation with -O3 -ftree-loop-distribution)
2012-09-20  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/54634
	* tree-data-ref.c (get_references_in_stmt): For now give
	up for pure functions.

From-SVN: r191567
2012-09-20 14:46:32 +00:00
Jakub Jelinek
c0758df921 re PR other/43620 ([4.3 Release Blocker] Uploading to gnu.org will fail due to automake security issue)
PR other/43620
libatomic/
	* configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
	* configure: Regenerate.
	* Makefile.in: Regenerate.
libitm/
	* configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
	* configure: Regenerate.
	* Makefile.in: Regenerate.

From-SVN: r191565
2012-09-20 16:41:17 +02:00
Paolo Carlini
01e721f30b re PR c++/52432 ([C++11] -fdump-tree-gimple causes ICE: Error reporting routines re-entered.)
/cp
2012-09-20  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/52432
	* pt.c (tsubst_copy_and_build): If tf_error is not set in the complain
	argument don't call unqualified_name_lookup_error.

/testsuite
2012-09-20  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/52432
	* g++.dg/cpp0x/decltype32.C: Tweak.

From-SVN: r191564
2012-09-20 14:05:19 +00:00
Marc Glisse
9606465f8c forwprop-19.c: Check in forwprop1.
2012-09-20  Marc Glisse  <marc.glisse@inria.fr>

	* gcc.dg/tree-ssa/forwprop-19.c: Check in forwprop1.
	* gcc.dg/tree-ssa/forwprop-20.c: Check in forwprop1.
	* gcc.dg/tree-ssa/forwprop-21.c: Check in copyprop1.
	* gcc.dg/tree-ssa/forwprop-22.c: Check in copyprop1.

From-SVN: r191560
2012-09-20 09:37:05 +00:00
Chen Wei-Ren
a77fa1fcce 2012-09-20 Chen Wei-Ren <chenwj@iis.sinica.edu.tw>
doc/lto.texi: Correct typo.

From-SVN: r191559
2012-09-20 09:26:07 +00:00
Ian Lance Taylor
6c74ce92d5 compiler: Fix struct hash and equality with _ fields.
From-SVN: r191511
2012-09-20 04:35:13 +00:00
Dehao Chen
9d12bc6876 s390.c (s390_chunkify_start): Replacing INSN_LOCATOR.
2012-09-19  Dehao Chen  <dehao@google.com>

	* config/s390/s390.c (s390_chunkify_start): Replacing INSN_LOCATOR.
	* config/spu/spu.c (emit_nop_for_insn): Likewise.
	(pad_bb): Likewise.
	(spu_emit_branch_hint): Likewise.
	(insert_hbrp_for_ilb_runout): Likewise.
	* config/mep/mep.c (mep_make_bundle): Likewise.
	(mep_bundle_insns): Likewise.
	* config/sh/sh.c (gen_block_redirect): Likewise.
	* config/c6x/c6x.c (gen_one_bundle): Likewise.
	* config/rs6000/rs6000.c (rs6000_final_prescan_insn): Likewise.
	* config/picochip/picochip.c (picochip_reorg): Likewise.
	* config/arm/arm.c (require_pic_register): Likewise.
	* config/mips/mips.c (mips16_gp_pseudo_reg): Likewise.
	* config/bfin/bfin.c (gen_one_bundle): Likewise.

From-SVN: r191510
2012-09-20 03:17:26 +00:00
Benjamin Kosnik
ac6d1200be re PR libstdc++/28811 (--with-pic vs static libraries and libstdc++)
2012-09-18  Benjamin Kosnik  <bkoz@redhat.com>

        PR libstdc++/28811
        PR libstdc++/54482
        * configure.ac (glibcxx_lt_pic_flag,
          glibcxx_compiler_pic_flag,
          glibcxx_compiler_shared_flag): New. Use them.
        (lt_prog_compiler_pic_CXX): Set via glibcxx_*_flag(s) above.
        (pic_mode): Set to default.
        (PIC_CXXFLAGS): Remove.
        * Makefile.am (PICFLAG, PICFLAG_FOR_TARGET): Remove. Comment.
        * libsupc++/Makefile.am: Use glibcxx_ld_pic_flag and
          glibcxx_compiler_shared_flag. Comment.
        * src/c++11/Makefile.am: Same.
        * src/c++98/Makefile.am: Same.
        * src/Makefile.am: Use glibcxx_compiler_pic_flag.

        * Makefile.in: Regenerated.
        * aclocal.m4: Same.
        * configure: Same.
        * doc/Makefile.in: Same.
        * include/Makefile.in: Same.
        * libsupc++/Makefile.in: Same.
        * po/Makefile.in: Same.
        * python/Makefile.in: Same.
        * src/Makefile.in: Same.
        * src/c++11/Makefile.in: Same.
        * src/c++98/Makefile.in: Same.
        * testsuite/Makefile.in: Same.

        * src/c++11/compatibility-atomic-c++0x.cc: Use
          _GLIBCXX_SHARED instead of PIC to designate shared-only
          code blocks.
        * src/c++11/compatibility-c++0x.cc: Same.
        * src/c++11/compatibility-thread-c++0x.cc: Same.
        * src/c++98/compatibility-list-2.cc: Same.
        * src/c++98/compatibility.cc: : Same.

        * testsuite/17_intro/shared_with_static_deps.cc: New.

        * doc/xml/manual/build_hacking.xml: Separate configure from
        make/build issues, add build details.

From-SVN: r191509
2012-09-20 02:10:22 +00:00
Mark Kettenis
17f293b014 config.host (hppa-*-openbsd*): New target.
libgcc/:

        * config.host (hppa-*-openbsd*): New target.
        * config/pa/t-openbsd: New file.

gcc:/

        * config.gcc (hppa*-*-openbsd*): New target.
        * config/pa/pa-openbsd.h: New file.
        * config/pa/pa32-openbsd.h: New file.
        * config/host-openbsd.c: Update copyright year.
        (TRY_EXCEPT_VM_SPACE): Define for OpenBSD/hppa.

From-SVN: r191508
2012-09-20 01:20:34 +00:00
Ian Lance Taylor
e29941cef2 compiler: Give error for byte-order-mark in middle of file.
From-SVN: r191507
2012-09-20 00:54:30 +00:00
GCC Administrator
f8f72892e8 Daily bump.
From-SVN: r191506
2012-09-20 00:18:01 +00:00
Ian Lance Taylor
64b89453bc configure.ac: Only use GCC_CHECK_UNWIND_GETIPINFO when compiled as a target library.
* configure.ac: Only use GCC_CHECK_UNWIND_GETIPINFO when compiled
	as a target library.
	* configure: Rebuild.

From-SVN: r191503
2012-09-19 22:57:53 +00:00
Martin Jambor
7f7c819092 ipa-prop.c (prune_expression_for_jf): New function.
2012-09-19  Martin Jambor  <mjambor@suse.cz>

	* ipa-prop.c (prune_expression_for_jf): New function.
	(ipa_set_jf_constant): Use it.
	(ipa_set_jf_arith_pass_through): Likewise.
	(determine_known_aggregate_parts): Likewise.

From-SVN: r191502
2012-09-19 23:46:47 +02:00
Steve Ellcey
d91491e516 configure.ac: Add mips*-mti-elf* target.
2012-09-19  Steve Ellcey  <sellcey@mips.com>

	* configure.ac: Add mips*-mti-elf* target.
	* configure: Regenerate.

From-SVN: r191501
2012-09-19 20:46:44 +00:00
Marc Glisse
7cea661c88 re PR c++/54581 (decltype and opaque vector types)
2012-09-19  Marc Glisse  <marc.glisse@inria.fr>

	PR c++/54581

gcc/cp/
	* semantics.c (finish_decltype_type): Make vectors not opaque.

gcc/testsuite/
	* g++.dg/cpp0x/decltype-54581.C: New testcase.

From-SVN: r191500
2012-09-19 20:45:03 +00:00
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