Commit Graph

107793 Commits

Author SHA1 Message Date
Ian Lance Taylor
69dd762a99 gotest: Avoid echo -n.
From-SVN: r172000
2011-04-05 19:53:33 +00:00
Steven Bosscher
c1e2610ec1 cprop.c (struct reg_use): Remove.
* cprop.c (struct reg_use): Remove.
	(reg_use_table): Make an array of RTX.
	(find_used_regs, constprop_register, local_cprop_pass,
	bypass_block): Simplify users of reg_use_table.
	(cprop_insn): Likewise.  Iterate if copy propagation succeeded
	on one of the uses found by find_used_regs.

From-SVN: r171999
2011-04-05 19:49:52 +00:00
Nathan Froyd
e532f586e2 re PR bootstrap/48469 (bootstrap failure)
PR bootstrap/48469
	* combine.c (combine_instructions): #ifdef AUTO_INC_DEC links
	declaration.

From-SVN: r171998
2011-04-05 19:33:49 +00:00
Ralf Wildenhues
32827f18cd Sync config.sub from upstream.
/:
	* config.sub: Sync from upstream.

From-SVN: r171996
2011-04-05 19:05:27 +00:00
Nathan Froyd
3fb7c0552c fix compilation on AUTO_INC_DEC targets
fix compilation on AUTO_INC_DEC targets
	* combine.c (combine_instructions) [AUTO_INC_DEC]: Declare links
	as an rtx.
	(try_combine) [AUTO_INC_DEC]: Declare a local link rtx.

From-SVN: r171995
2011-04-05 18:36:15 +00:00
Steven Bosscher
b71b43d913 re PR middle-end/48441 (ICE in mark_oprs_set)
PR middle-end/48441
	* cprop.c (one_cprop_pass): Do not mark_oprs_set of deleted insns.

From-SVN: r171994
2011-04-05 18:15:04 +00:00
Nathan Froyd
b405b27425 combine.c: Include obstack.h.
* combine.c: Include obstack.h.
	(struct insn_link): Define.
	(uid_log_links): Adjust type.
	(FOR_EACH_LOG_LINK): New macro.
	(insn_link_obstack): Declare.
	(alloc_insn_link): Define.
	(create_log_links): Call it.  Use FOR_EACH_LOG_LINK and adjust
	type of link variables.
	(find_single_use, insn_a_feeds_b, combine_instructions): Likewise.
	(try_combine, record_promoted_values, distribute_notes): Likewise.
	(distribute_links): Likewise.  Tweak prototype.
	(clear_log_links): Delete.
	(adjust_for_new_dest): Call alloc_insn_link.
	* Makefile.in (combine.o): Depend on $(OBSTACK_H).

From-SVN: r171993
2011-04-05 17:24:06 +00:00
Nathan Froyd
6409abe3ab gcse.c (modify_mem_list): Convert to an array of VECs.
* gcse.c (modify_mem_list): Convert to an array of VECs.
	(canon_modify_mem_list, compute_transp): Tweak formatting.
	(alloc_gcse_mem): Likewise.  Adjust for modify_mem_list change.
	(load_killed_in_block_p): Likewise.
	(record_last_mem_set_info): Likewise.
	(clear_modify_mem_tables): Likewise.

From-SVN: r171992
2011-04-05 17:20:44 +00:00
Tom de Vries
170d8157ba re PR middle-end/48461 (function.c:5268:1: error: emit_use_return_register_into_block defined but not used)
2011-04-05  Tom de Vries  <tom@codesourcery.com>

	PR middle-end/48461
	* function.c (emit_use_return_register_into_block): Only define if
	HAVE_return.

From-SVN: r171990
2011-04-05 15:54:13 +00:00
Eric Botcazou
c5911a55ec * stor-layout.c (self_referential_size): Fix 2010-07-13 commit.
From-SVN: r171988
2011-04-05 14:34:28 +00:00
Nathan Froyd
a4437d18b9 trans-intrinsic.c (gfc_build_intrinsic_lib_fndecls): Use build_function_type_list instead of build_function_type.
* trans-intrinsic.c (gfc_build_intrinsic_lib_fndecls): Use
	build_function_type_list instead of build_function_type.  Correct
	argument order for func_frexp and func_scalbn.

From-SVN: r171987
2011-04-05 14:25:32 +00:00
Tom de Vries
6e66d62dae re PR target/43920 (Choosing conditional execution over conditional branches for code size in some cases.)
2011-04-05  Tom de Vries  <tom@codesourcery.com>

	PR target/43920
	* gcc.target/arm/pr43920-1.c: New test.

From-SVN: r171986
2011-04-05 13:01:50 +00:00
Joseph Myers
abd016e64f rx-opts.h: New.
* config/rx/rx-opts.h: New.
	* config/rx/rx.c (rx_cpu_type): Remove.
	(rx_handle_option): Don't assert that global structures are in
	use.  Access variables via opts pointer.  Defer most handling of
	OPT_mint_register_.  Use error_at.
	(rx_option_override): Handle deferred OPT_mint_register_ here.
	* config/rx/rx.h (enum rx_cpu_types): Move to rx-opts.h.
	* config/rx/rx.opt (config/rx/rx-opts.h: New HeaderInclude.
	(mcpu=): Use Enum and specifiy rx_cpu_type with Var.
	(rx_cpu_types): New Enum and EnumValue entries.
	(mint-register=): Use Defer and use Var accordingly.

From-SVN: r171984
2011-04-05 13:28:41 +01:00
Richard Guenther
3b8c1a3f49 re PR lto/48431 (patch to fix a compile error in lto-plugin.c when using older C compilers)
2011-04-05  Richard Guenther  <rguenther@suse.de>

	PR bootstrap/48431
	* lto-plugin.c (claim_file_handler): Do not declare vars in code.

From-SVN: r171982
2011-04-05 12:11:08 +00:00
Nathan Froyd
1ed13f83ff debug.h (debug_flush_symbol_queue, [...]): Delete.
* debug.h (debug_flush_symbol_queue, debug_queue_symbol): Delete.
	(debug_free_queue, debug_nesting, symbol_queue_index): Delete.
	* final.c (debug_flush_symbol_queue, debug_queue_symbol):
	Move these...
	(debug_free_queue, debug_nesting, symbol_queue_index):
	...and these...
	* dbxout.c: ...to here.  Make static.

From-SVN: r171981
2011-04-05 12:02:55 +00:00
Nathan Froyd
6ce1edcf61 gcse.c (modify_pair): Define.
* gcse.c (modify_pair): Define.  Define a VEC of it.
	(canon_modify_mem_list): Convert to an array of VECs.
	(free_insn_expr_list_list): Delete.
	(clear_modify_mem_tables): Call VEC_free instead.
	(record_last_mem_set_info): Don't modify canon_modify_mem_list.
	(alloc_gcse_mem): Adjust for canon_modify_mem_list change.
	(canon_list_insert, compute_transp): Likewise.

From-SVN: r171980
2011-04-05 11:40:10 +00:00
Tom de Vries
c201ac946d re PR target/43920 (Choosing conditional execution over conditional branches for code size in some cases.)
2011-04-05  Tom de Vries  <tom@codesourcery.com>

	PR target/43920
	* config/arm/arm.h (BRANCH_COST): Set to 1 for Thumb-2 when optimizing
	for size.

From-SVN: r171978
2011-04-05 10:33:13 +00:00
Tom de Vries
4c029f40bd re PR target/43920 (Choosing conditional execution over conditional branches for code size in some cases.)
2011-04-05  Tom de Vries  <tom@codesourcery.com>

	PR target/43920
	* function.c (emit_use_return_register_into_block): New function.
	(thread_prologue_and_epilogue_insns): Use
	emit_use_return_register_into_block.

From-SVN: r171977
2011-04-05 10:12:14 +00:00
Tom de Vries
2a562b0ab3 re PR target/43920 (Choosing conditional execution over conditional branches for code size in some cases.)
2011-04-05  Tom de Vries  <tom@codesourcery.com>

	PR target/43920
	* cfgcleanup.c (flow_find_cross_jump): Don't count USE or CLOBBER as
	insn.

From-SVN: r171976
2011-04-05 10:04:44 +00:00
Tom de Vries
0248bceb7b cfgcleanup.c (try_crossjump_bb): Remove 2 superfluous variables.
2011-04-05  Tom de Vries  <tom@codesourcery.com>

	* cfgcleanup.c (try_crossjump_bb): Remove 2 superfluous variables.

From-SVN: r171975
2011-04-05 09:43:12 +00:00
Eric Botcazou
720cf80f14 Minor tweaks
From-SVN: r171974
2011-04-05 08:41:58 +00:00
Yufeng Zhang
ffa94123bb For Yufeng Zhang.
2011-04-05  Yufeng Zhang  <yufeng.zhang@arm.com>

        * config/arm/arm.md (define_constants for unspec): Replace with
        define_c_enum.
        (define_constants for unspecv): Replace with define_c_enum.
        * config/arm/neon.md (define_constants for unspec): Replace with
        define_c_enum.

From-SVN: r171973
2011-04-05 08:35:31 +00:00
Duncan Sands
db7f455bc3 The parameters for functions from the frexp family were the wrong way round.
The parameters for functions from the frexp family were the wrong way
round.  Swap them.

From-SVN: r171971
2011-04-05 07:40:27 +00:00
Ian Lance Taylor
d56e667993 Use backend interface for labels and goto statements.
* go-gcc.c (class Blabel): Define.
	(Gcc_backend::make_expression): New function.
	(get_identifier_from_string): New function.
	(Gcc_backend::label): New function.
	(Gcc_backend::label_definition_statement): New function.
	(Gcc_backend::goto_statement): New function.
	(Gcc_backend::label_address): New function.
	(expression_to_tree): New function.
	* Make-lang.in (go/expressions.o): Depend on
	go/gofrontend/backend.h.
	(go/gogo.o): Likewise.

From-SVN: r171968
2011-04-05 05:57:39 +00:00
GCC Administrator
566475c800 Daily bump.
From-SVN: r171966
2011-04-05 00:18:31 +00:00
Ian Lance Taylor
9cc1bb97bc libgo: Use MAP_FIXED if necessary to grab arena.
From Rainer Orth.

	PR go/48240
	* configure.ac: Check for mincore.
	* configure: Regenerate.
	* config.h.in: Regenerate.
	* runtime/mem.c: Include unistd.h.
	(addrspace_free): New function.
	(runtime_SysMap): Retry 64-bit runtime_mmap with MAP_FIXED.

From-SVN: r171961
2011-04-05 00:02:15 +00:00
Rainer Orth
06ec98415a libgo: Always initialize semaphores.
2011-04-03  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	PR go/48222
	* runtime/malloc.goc (runtime_mallocinit): Call
	runtime_Mprof_Init, runtime_initfintab.
	* runtime/cpuprof.c (runtime_cpuprofinit): New function.
	* runtime/runtime.h (runtime_cpuprofinit): Declare it.
	* runtime/go-main.c (main): Use it.

From-SVN: r171960
2011-04-04 23:43:59 +00:00
Ian Lance Taylor
9403944776 Use backend interface for return statements.
* go-gcc.cc: #include "tree-iterator.h", "gimple.h", and "gogo.h".
	(class Bfunction): Define.
	(Gcc_backend::assignment_statement): Rename from assignment.
	Check for errors.
	(Gcc_backend::return_statement): New function.
	(tree_to_function): New function.
	* Make-lang.in (go/go-gcc.o): Depend on tree-iterator.h,
	$(GIMPLE_H), and $(GO_GOGO_H).

From-SVN: r171959
2011-04-04 23:19:09 +00:00
Yufeng Zhang
69387b92c1 For Yufeng Zhang - Fix typos and errors in testcase.
From-SVN: r171958
2011-04-04 23:15:55 +00:00
Joseph Myers
f56e5112f0 * es.po: Update.
From-SVN: r171956
2011-04-04 23:20:07 +01:00
Richard Henderson
3b8f9b4649 re PR bootstrap/48400 (powerpc-apple-darwin9 fails to bootstrap at revision 171824)
PR 48400
* dwarf2out.c (output_line_info): Always emit line info from
at least one section.
(dwarf2out_init): Create text_section_line_info here ...
(set_cur_line_info_table): ... not here.

From-SVN: r171955
2011-04-04 15:13:54 -07:00
Thomas Koenig
0bcd8186d9 frontend-passes: (optimize_lexical_comparison): New function.
2010-04-04  Thomas Koenig  <tkoenig@gcc.gnu.org>

	* frontend-passes: (optimize_lexical_comparison): New function.
	(optimize_expr): Call it.
	(optimize_comparison): Also handle lexical comparison functions.
	Return false instad of -2 for unequal comparison.

From-SVN: r171954
2011-04-04 21:02:24 +00:00
Thomas Koenig
9046a4dcc9 frontend-passes: (optimize_lexical_comparison): New function.
2010-04-04  Thomas Koenig  <tkoenig@gcc.gnu.org>

	* frontend-passes: (optimize_lexical_comparison): New function.
	(optimize_expr): Call it.
	(optimize_comparison): Also handle lexical comparison functions.
	Return false instad of -2 for unequal comparison.

2010-04-04  Thomas Koenig  <tkoenig@gcc.gnu.org>

	* gfortran.dg/character_comparison_8.f90:  New test.

From-SVN: r171953
2011-04-04 20:55:02 +00:00
Thomas Koenig
128e09f93d re PR fortran/48412 (CP2K miscompiled due to some Fortran frontend pass)
2011-04-04  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/48412
	* frontend-passes (cfe_expr_0):  Reverse the order of going
	through the loops.

2011-04-04  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/48412
	* function_optimize_4.f90:  New test.

From-SVN: r171952
2011-04-04 20:22:21 +00:00
Vladimir Makarov
e5b0e1cab4 re PR target/48380 (ICE in postreload.c while building trunk)
2011-04-01  Vladimir Makarov  <vmakarov@redhat.com>

	PR target/48380
	* ira.c (ira): Call grow_reg_equivs when fix_reg_equiv_init is
          not called.

	* ira-emit.c (emit_move_list): Update reg equiv init insn list.

From-SVN: r171951
2011-04-04 20:19:45 +00:00
Tobias Burnus
a3935ffcb7 re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
2011-04-04  Tobias Burnus  <burnus@net-b.de>
            Mikael Morin  <mikael.morin@sfr.fr>

        PR fortran/18918
        * check.c (is_coarray): Update - because of DIMEN_THIS_IMAGE.
        * expr.c (gfc_is_coindexed): Ditto.
        * gfortran.h (gfc_array_ref_dimen_type): Add DIMEN_THIS_IMAGE.
        * interface.c (compare_parameter): Use gfc_expr_attr and
        gfc_is_coindexed.
        * resolve.c (check_dimension, compare_spec_to_ref,
        resolve_allocate_expr, check_data_variable): Update for
        DIMEN_THIS_IMAGE.
        * simplify.c (gfc_simplify_lcobound, gfc_simplify_this_image,
        gfc_simplify_ucobound): Allow non-constant bounds.
        * trans-array.c (gfc_set_loop_bounds_from_array_spec,
        gfc_trans_create_temp_array, gfc_trans_constant_array_constructor,
        gfc_set_vector_loop_bounds, gfc_conv_array_index_offset,
        gfc_start_scalarized_body, gfc_trans_scalarizing_loops,
        gfc_trans_scalarized_loop_boundary, gfc_conv_section_startstride,
        gfc_conv_ss_startstride, gfc_conv_loop_setup,
        gfc_trans_array_bounds, gfc_conv_expr_descriptor,
        gfc_walk_variable_expr): Handle codimen.
        * trans-decl.c (gfc_build_qualified_array): Save cobounds.
        * trans-intrinsic.c (gfc_conv_intrinsic_bound): Use arg2.
        (conv_intrinsic_cobound): New function.
        (gfc_conv_intrinsic_function): Call it.
        (gfc_walk_intrinsic_function, gfc_add_intrinsic_ss_code): Handle
        ucobound, lcobound, this_image.
        * fortran/trans-types.c (gfc_build_array_type): Save cobounds.
        (gfc_get_dtype): Honour corank.
        (gfc_get_nodesc_array_type): Save corank and codimensions.
        (gfc_get_array_type_bounds): Save cobound.
        * fortran/trans.h (gfc_ss_info,gfc_loopinfo): Add codimen item.
        (gfc_array_kind): Add corank item.
        (GFC_TYPE_ARRAY_CORANK): New macro.

2011-04-04  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * gfortran.dg/coarray_10.f90: Add coarray descriptor diagnostic
        check.
        * gfortran.dg/coarray_13.f90: Add checks for run-time cobounds.
        * gfortran.dg/coarray_15.f90: New.


Co-Authored-By: Mikael Morin <mikael.morin@sfr.fr>

From-SVN: r171949
2011-04-04 20:35:13 +02:00
Steven Bosscher
b77f9eab26 cprop.c (struct expr): Split 'expr' field in 'dest' and 'src'.
* cprop.c (struct expr): Split 'expr' field in 'dest' and 'src'.
	(expr_equiv_p): Remove.
	(insert_set_in_table): Look at <dest, src> pair instead of expr.
	(hash_scan_set): Update call to insert_set_in_table.
	(dump_hash_table): Dump <dest, src> pair.
	(lookup_set): Simplify.  Lookup <dest, src> pair.
	(compute_transp): Remove, fold heavily simplified code into...
	(compute_local_properties): ...here.  Expect COMP and TRANSP
	unconditionally.
	(find_avail_set): Take set directly from struct expr.
	(find_bypass-set): Likewise.
	(bypass_block): Likewise.
	(cprop_insn): Likewise.  Remove redundant INSN_P test.

From-SVN: r171947
2011-04-04 18:27:17 +00:00
Steven Bosscher
384d7a5522 cprop.c (implicit_set_cond_p): Assume nothing about COND...
* cprop.c (implicit_set_cond_p): Assume nothing about COND, move
	checks on form of COND from find_implicit_sets to here.
	(find_implicit_sets): Cleanup control flow. Split critical edges
	if it exposes implicit sets.  Allocate/resize implicit_sets as
	necessary.
	(one_cprop_pass): Only delete unreachable blocks if local_cprop_pass
	changed something.  Run df_analyze after find_implicit_sets if any
	edges were split.  Do not allocate implicit_sets here.

From-SVN: r171946
2011-04-04 18:24:50 +00:00
Steven Bosscher
3084ce6991 cprop.c: s/gcse/cprop/ everywhere except for flag_gcse.
* cprop.c: s/gcse/cprop/ everywhere except for flag_gcse.
	(gcse_obstack): Renamed to cprop_obstack.
	(GNEW, GNEWVEC, GNEWVAR): Remove.
	(gmalloc): Remove.
	(alloc_hash_table): Use XNEWVAR instead of GNEWVAR.
	(GOBNEW, GOBNEWVAR): Adjust for gcse_obstack renaming.
	(gcse_alloc): Likewise, and rename to cprop_alloc.
	(alloc_gcse_men, free_gcse_mem): Remove.
	(gcse_constant_p): Rename to cprop_constant_p, and adjust all callers.
	(compute_hash_table_work): Allocate and free reg_set_bitmap here.
	(one_cprop_pass): Likewise. Adjust for gcse_obstack renaming.

From-SVN: r171945
2011-04-04 18:24:05 +00:00
Steven Bosscher
196565d499 cprop.c (oprs_not_set_p): Remove.
* cprop.c (oprs_not_set_p): Remove.
	(mark_set, mark_clobber): Remove.
	(mark_oprs_set): Rewrite using DF_INSN_INFO_DEFS cache.
	(reg_not_set_p): New function.
	(find_avail_set): Use reg_not_set_p instead of oprs_not_set_p.
	(cprop_insn): Likewise.
	(cprop_jump): Use FOR_EACH_EDGE.

From-SVN: r171944
2011-04-04 18:23:27 +00:00
Eric Botcazou
53e3000cd1 re PR ada/47163 (Failure building target-libada for MingW64)
PR ada/47163
	* s-oscons-tmplt.c (MSG_WAITALL): Fix thinko in previous change.

From-SVN: r171943
2011-04-04 18:06:55 +00:00
Bernd Schmidt
9b69cf836a re PR bootstrap/48403 (bootstrap comparison failure)
Fix PR bootstrap/48403.

2011-04-04  Bernd Schmidt  <bernds@codesourcery.com>

	PR bootstrap/48403
	* haifa-sched.c (nonscheduled_insns_begin): New static variable.
	(rank_for_schedule): Use scheduled_insns vector instead of
	last_scheduled_insn.
	(ok_for_early_queue_removal): Likewise.
	(queue_to_ready): Search forward in nonscheduled_insns_begin if
	we have a dbg_cnt.
	(choose_ready): Likewise.
	(commit_schedule): Use VEC_iterate.
	(schedule_block): Initialize nonscheduled_insns_begin.  If we have
	a dbg_cnt, use it and ensure the first insn is in the ready list.
	(haifa_sched_init): Allocate scheduled_insns.
	(sched_extend_ready_list): Don't allocate it; reserve space.
	(haifa_sched_finish): Free it.

From-SVN: r171942
2011-04-04 09:53:51 -07:00
Rainer Orth
d355ede7fd configure.ac: Redirect $JAR -cf@ output to /dev/null.
* configure.ac: Redirect $JAR -cf@ output to /dev/null.
	* configure: Regenerate.

From-SVN: r171941
2011-04-04 16:01:54 +00:00
Rainer Orth
7656526e37 bessel_6.f90: Use dg-add-options ieee.
* gfortran.dg/bessel_6.f90: Use dg-add-options ieee.
	* gfortran.dg/bessel_7.f90: Likewise.

From-SVN: r171939
2011-04-04 15:53:46 +00:00
Joseph Myers
24f48c2f53 optc-gen.awk: Always remove type from Variable entry before recording in var_seen.
* optc-gen.awk: Always remove type from Variable entry before
	recording in var_seen.

From-SVN: r171938
2011-04-04 15:18:31 +01:00
Eric Botcazou
8effe8566f cfghooks.c (tidy_fallthru_edges): Add ??? comment.
* cfghooks.c (tidy_fallthru_edges): Add ??? comment.
	* tree-inline.c (delete_unreachable_blocks_update_callgraph): Remove
	call to tidy_fallthru_edges.

From-SVN: r171936
2011-04-04 12:34:29 +00:00
Joseph Myers
413519aef8 options.texi (ToLower): Document.
* doc/options.texi (ToLower): Document.
	* opt-functions.awk (switch_bit_fields): Initialize cl_tolower
	field.
	* opts-common.c (decode_cmdline_option): Handle cl_tolower.
	* opts.h (cl_option): Add cl_tolower field.
	* config/rx/rx.c (rx_handle_option): Use strcmp of -mcpu=
	arguments with lowercase strings.
	* config/rx/rx.opt (mcpu=): Add ToLower.
	* config/rx/t-rx (MULTILIB_MATCHES): Don't handle uppercase -mcpu=
	argument.

From-SVN: r171932
2011-04-04 11:17:11 +01:00
Jakub Jelinek
2aeaa366ad re PR debug/48401 (ICE: RTL check: access of elt 4 of 'var_location' with last elt 2 in expand_gimple_basic_block, at cfgexpand.c:3585)
PR debug/48401
	* cfgexpand.c (expand_gimple_basic_block): Avoid useless assignment.
	Use PAT_VAR_LOCATION_LOC instead of INSN_VAR_LOCATION_LOC.

From-SVN: r171930
2011-04-04 11:48:45 +02:00
Richard Sandiford
7d34a1b095 pdp11.h (IRA_COVER_CLASSES): Delete.
gcc/
	* config/pdp11/pdp11.h (IRA_COVER_CLASSES): Delete.

From-SVN: r171929
2011-04-04 08:11:37 +00:00
Richard Sandiford
c30e7434d8 vax.c: Include reload.h.
gcc/
	* config/vax/vax.c: Include reload.h.

From-SVN: r171928
2011-04-04 08:09:34 +00:00