Commit Graph

84287 Commits

Author SHA1 Message Date
David Daney
876fa8ec87 * gcc.dg/tree-ssa/update-threading.c: Remove xfail.
From-SVN: r129608
2007-10-24 18:02:34 +00:00
Richard Sandiford
a35de34276 re PR target/33755 (Gcc 4.2.2 broken for mips linux kernel builds)
gcc/
	PR target/33755
	* config/mips/mips.c (mips_lo_sum_offset): New structure.
	(mips_hash_base, mips_lo_sum_offset_hash, mips_lo_sum_offset_eq)
	(mips_lo_sum_offset_lookup, mips_record_lo_sum)
	(mips_orphaned_high_part_p: New functions.
	(mips_avoid_hazard): Don't check INSN_P here.
	(mips_avoid_hazards): Rename to...
	(mips_reorg_process_insns): ...this.  Cope with
	!TARGET_EXPLICIT_RELOCS.  Delete orphaned high-part relocations,
	or turn them into nops.
	(mips_reorg): Remove TARGET_EXPLICIT_RELOCS check from calls to
	dbr_schedule and mips_avoid_hazards/mips_reorg_process_insns.
	(mips_set_mips16_mode): Don't set flag_delayed_branch here.
	(mips_override_options): Set flag_delayed_branch to 0.

gcc/testsuite/
	PR target/33755
	* gcc.target/mips/pr33755.c: New test.

From-SVN: r129606
2007-10-24 17:52:16 +00:00
Richard Sandiford
a1c6b246b5 mips.h (MOVE_MAX): Use UNITS_PER_WORD and describe MIPS-specific implementation details.
gcc/
	* config/mips/mips.h (MOVE_MAX): Use UNITS_PER_WORD and describe
	MIPS-specific implementation details.
	(MIPS_MAX_MOVE_BYTES_PER_LOOP_ITER): New macro.
	(MIPS_MAX_MOVE_BYTES_STRAIGHT): Likewise.
	(MOVE_RATIO): Define to MIPS_MAX_MOVE_BYTES_STRAIGHT / UNITS_PER_WORD
	for targets with movmemsi.
	(MOVE_BY_PIECES_P): Define.
	* config/mips/mips.c (MAX_MOVE_REGS, MAX_MOVE_BYTES): Delete.
	(mips_block_move_loop): Add a bytes_per_iter argument.
	(mips_expand_block_move): Use MIPS_MAX_MOVE_BYTES_STRAIGHT.
	Update call to mips_block_move_loop.

From-SVN: r129605
2007-10-24 17:46:39 +00:00
Paolo Carlini
32e520abfc array (_M_instance): Align naturally.
2007-10-24  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1_impl/array (_M_instance): Align naturally.
	* testsuite/ext/array_allocator/1.cc: Use ext/vstring,
	more solid than our current basic_string vs alignment.
	* testsuite/ext/array_allocator/2.cc: Likewise.
	* testsuite/ext/array_allocator/3.cc: Likewise.

From-SVN: r129604
2007-10-24 15:21:22 +00:00
Jason Merrill
510359760e comment typo
From-SVN: r129603
2007-10-24 10:58:49 -04:00
Michael Matz
e56f915286 re PR debug/33868 (Gross memory usage of var-tracking)
PR debug/33868
        * var-tracking.c (variable_union): Don't break after one loop
        * iteration
        but only when a difference is found.
        (dump_variable): Also print DECL_UID.

From-SVN: r129602
2007-10-24 12:54:24 +00:00
Olga Golovanevsky
32154c8905 Fogot to commit ipa-struct-reorg.c ipa-struct-reorg.h.
From-SVN: r129601
2007-10-24 12:48:41 +00:00
Olga Golovanevsky
e1dc98b235 ipa-type-escape.h: Expose function is_array_access_through_pointer_and_index.
2007-10-24  Olga Golovanevsky  <olga@il.ibm.com>

      * ipa-type-escape.h: Expose function
      is_array_access_through_pointer_and_index.
      * ipa-type-escape.c
      (is_array_access_through_pointer_and_index):
      Add three new parameters. Add support of
      POINTER_PLUS_EXPR tree code.

2007-10-24  Olga Golovanevsky  <olga@il.ibm.com>

      * ipa-struct-reorg.c, ipa-struct-reorg.h: New files.
      * tree-pass.h: Add pass_ipa_struct_reorg.
      * common.opt: Add ipa-struct-reorg flag.
      * Makefile.in: Add ipa-strcut-reorg.o compilation.
      * passes.c: Add pass pass_ipa_struct_reorg.
      * params.h:  Add STRUCT_REORG_COLD_STRUCT_RATIO.
      * params.def: Add PARAM_STRUCT_REORG_COLD_STRUCT_RATIO.

From-SVN: r129600
2007-10-24 10:36:30 +00:00
Ira Rosen
712f117220 re PR tree-optimization/33804 (ICE in vect_transform_stmt, at tree-vect-transform.c:6131 with -ftree-vectorize)
PR tree-optimization/33804
	* tree-vect-transform.c (vectorizable_operation): Remove the
	checks that the vectorization is worthwhile from the transformation
	phase.

From-SVN: r129599
2007-10-24 09:35:00 +00:00
Ira Rosen
20e545c381 tree-vect-analyze.c (vect_build_slp_tree): Return false if vectype cannot be determined for the scalar type.
* tree-vect-analyze.c (vect_build_slp_tree): Return false if
	vectype cannot be determined for the scalar type.
	(vect_analyze_slp_instance): Likewise.
	* tree-vect-transform.c (vect_model_reduction_cost): Change the
	return type to bool. Return false if vectype cannot be determined 
	for the scalar type.
	(vect_get_constant_vectors): Return false if vectype cannot be
	determined for the scalar type.
	(get_initial_def_for_induction, vect_get_vec_def_for_operand,
	get_initial_def_for_reduction, vect_create_epilog_for_reduction,
	vectorizable_reduction): Likewise.

From-SVN: r129598
2007-10-24 07:51:09 +00:00
Jason Merrill
6f4fd5362d PR c++/25950 (DR 391)
PR c++/25950 (DR 391)
        * call.c (struct conversion): Remove check_copy_constructor_p.
        (reference_binding): Always bind a reference directly to a
        compatible class rvalue.  Pass down LOOKUP_NO_TEMP_BIND during
        temporary creation.
        (check_constructor_callable): Remove.
        (convert_like_real): Don't call it.
        (initialize_reference): Don't call check_constructor_callable.
        (standard_conversion): Check LOOKUP_NO_CONVERSION instead of
        LOOKUP_CONSTRUCTOR_CALLABLE.  Don't require a temporary for base
        conversions if LOOKUP_NO_TEMP_BIND.
        (implicit_conversion): Pass through LOOKUP_NO_TEMP_BIND.
        (build_user_type_conversion_1): Pass through LOOKUP_NO_TEMP_BIND for
        second conversion.
        * cp-tree.h (LOOKUP_CONSTRUCTOR_CALLABLE): Remove.

From-SVN: r129596
2007-10-23 23:45:37 -04:00
Jerry DeLisle
d72702e2cb re PR fortran/33849 (Fix misleading error message "GENERIC non-INTRINSIC procedure not allowed as an actual argument")
2007-10-23  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR forrtran/33849
	gfortran.dg/generic_actual_arg.f90: Fix dg-error message.

From-SVN: r129595
2007-10-24 03:39:03 +00:00
GCC Administrator
6a8204bbe1 Daily bump.
From-SVN: r129593
2007-10-24 00:17:28 +00:00
Craig Rodrigues
b2449d40f0 config.gcc: For a FreeBSD target...
* config.gcc: For a FreeBSD target, parse the value of ${target}
	to determine the value of FBSD_MAJOR, instead of adding an
	explicit check for every possible FreeBSD major version.

From-SVN: r129590
2007-10-23 23:53:31 +00:00
Uros Bizjak
881ef7be46 re PR rtl-optimization/33846 (ICE in trunc_int_for_mode, at explow.c:55)
PR rtl-optimization/33846
        * combine.c (simplify_shift_const_1) [NOT]: Skip vector modes.

testsuite/ChangeLog:

        PR rtl-optimization/33846
        * gcc.dg/vect/pr33846.c: New testcase.

From-SVN: r129589
2007-10-23 22:15:04 +02:00
Dorit Nuzman
68cba9eee7 re PR tree-optimization/33860 (ICE in vectorizable_load, at tree-vect-transform.c:5503)
PR tree-optimization/33860
        * tree-vect-transform.c (vect_analyze_data_ref_access): Don't allow
        interleaved accesses in case the dr is inside the inner-loop during
        outer-loop vectorization.

From-SVN: r129587
2007-10-23 19:50:18 +00:00
Eric Botcazou
d1ed933d78 rtl.texi (Flags): Fix MEM_SCALAR_P entry.
* doc/rtl.texi (Flags): Fix MEM_SCALAR_P entry.
	Document MEM_POINTER.  Replace mentions of "integrated"
	field with "return_val".  Delete outdated stuff.

From-SVN: r129584
2007-10-23 19:24:13 +00:00
Eric Botcazou
6d1e8bff96 misc.c (gnat_handle_option): Replace call to abort with call to gcc_unreachable.
* misc.c (gnat_handle_option): Replace call to abort with
	call to gcc_unreachable.
	(gnat_init): Likewise.
	(gnat_expand_expr): Likewise.
	(fp_prec_to_size): Likewise.
	(fp_size_to_prec): Likewise.

From-SVN: r129583
2007-10-23 17:36:51 +00:00
David Edelsohn
0db747be5b rs6000.c (rs6000_override_options): Set rs6000_altivec_abi on AIX.
* config/rs6000/rs6000.c (rs6000_override_options): Set
        rs6000_altivec_abi on AIX.
        (conditional_register_usage): Set VR20:31 fixed on AIX.

From-SVN: r129582
2007-10-23 13:12:01 -04:00
Daniel Jacobowitz
e00e98585b Makefile.def (dependencies): Make configure-gdb depend on all-intl.
* Makefile.def (dependencies): Make configure-gdb depend on
	all-intl.
	* Makefile.in: Regenerated.

From-SVN: r129581
2007-10-23 15:53:18 +00:00
Richard Guenther
90310d368f alias.c (get_alias_set): For INDIRECT_REFs, deal with SSA_NAME pointers.
2007-10-23  Richard Guenther  <rguenther@suse.de>

	* alias.c (get_alias_set): For INDIRECT_REFs, deal with
	SSA_NAME pointers.

From-SVN: r129577
2007-10-23 11:20:56 +00:00
Richard Guenther
262e7125e7 re PR bootstrap/33608 (Bootstrap with ada fails linking gnatbind with 4.3 host compiler)
2007-10-23  Richard Guenther  <rguenther@suse.de>

        PR bootstrap/33608
        * tracebak.c: #undef abort after including system.h.

From-SVN: r129576
2007-10-23 08:54:56 +00:00
Tehila Meyzels
1be3290eae SMS: Add new testcase
Co-Authored-By: Revital Eres <eres@il.ibm.com>

From-SVN: r129575
2007-10-23 07:53:42 +00:00
David S. Miller
f168817602 df-scan.c (df_get_call_refs): Mark global registers as both a DF_REF_REG_USE and a non-clobber DF_REF_REG_DEF.
gcc/:

2007-10-22  Seongbae Park <seongbae.park@gmail.com>
	David S. Miller  <davem@davemloft.net>

	* df-scan.c (df_get_call_refs): Mark global registers as both a
	DF_REF_REG_USE and a non-clobber DF_REF_REG_DEF.


gcc/testsuite/:

2007-10-22  David S. Miller  <davem@davemloft.net>

	* gcc.dg/globalreg-1.c: New test.

From-SVN: r129572
2007-10-22 21:33:26 -07:00
Dorit Nuzman
7de5c6a447 re PR tree-optimization/33834 (ICE in vect_get_vec_def_for_operand, at tree-vect-transform.c:1829)
PR tree-optimization/33834
        PR tree-optimization/33835
        * tree-vect-analyze.c (vect_analyze_operations): RELEVANT and LIVE stmts
        need to be checked for success seperately.
        * tree-vect-transform.c (vectorizable_call, vectorizable_conversion):
        Remove the check that stmt is not LIVE.
        (vectorizable_assignment, vectorizable_induction): Likewise.
        (vectorizable_operation, vectorizable_type_demotion): Likewise.
        (vectorizable_type_promotion, vectorizable_load, vectorizable_store):
        Likewise.
        (vectorizable_live_operation): Check that op is not NULL.

From-SVN: r129571
2007-10-23 03:24:06 +00:00
GCC Administrator
fc629e9660 Daily bump.
From-SVN: r129568
2007-10-23 00:17:13 +00:00
Janis Johnson
7d95b692ea invoke.texi (Optimization Options): In the summary...
* doc/invoke.texi (Optimization Options): In the summary, show
	that the value for options -falign-jumps, -falign-labels,
	-falign-loops, -falign-functions, -fsched-stalled-insns, and
	-fsched-stalled-insns-dep is optional.  In the summary, show that
	-fsched-stalled-insns takes an optional argument and that
	-fparallelize-loops takes an argument.  Add opindex for several
	optimization options, and fix typos in the opindex commands for
	several others.  In the descriptions for -fsched-stalled-insns
	and -fsched-stalled-insns-dep, show the options with and without
	values.

From-SVN: r129565
2007-10-22 23:21:49 +00:00
Jerry DeLisle
8d6d0e8e0a re PR fortran/33849 (Fix misleading error message "GENERIC non-INTRINSIC procedure not allowed as an actual argument")
2007-10-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/33849
	* resolve.c (resolve_actual_arglist): Fix error message text.

From-SVN: r129564
2007-10-22 23:08:16 +00:00
Steven G. Kargl
def14a3ccd MAINTAINERS (Fortran maintainer): Remove myself.
2007-10-22  Steven G. Kargl  <kargl@gcc.gnu.org>

        * MAINTAINERS (Fortran maintainer): Remove myself.

From-SVN: r129562
2007-10-22 22:23:33 +00:00
Steven G. Kargl
f2112868c6 re PR fortran/31244 (data initialization with more than 2**32 elements)
2007-10-22  Steven G. Kargl  <kargl@gcc.gnu.org>

        PR fortran/31244
        * gfortran.h (gfc_data_value): Change repeat from unsigned int
        to mpz_t.
        * decl.c(top_val_list): Remove msg variable.  Use mpz_t for
        repeat count.
        * resolve.c (values):  Change left from unsigned int to mpz_t.
        (next_data_value): Change for mpz_t.
        (check_data_variable): Change ??? to FIXME in a comment.  Use
        "mpz_t left".
        (resolve_data ): Use "mpz_t left".

From-SVN: r129561
2007-10-22 22:10:42 +00:00
David Daney
61c9bbb782 jvm.h (_Jv_SetGCFreeSpaceDivisor): Declare new function.
* include/jvm.h (_Jv_SetGCFreeSpaceDivisor): Declare new function.
	* boehm.cc (_Jv_SetGCFreeSpaceDivisor): Define it.

From-SVN: r129560
2007-10-22 21:24:35 +00:00
Eric B. Weddington
0c71b4541a avr.c (avr_mcu_types): Remove ATmega603 which was never produced.
* config/avr/avr.c (avr_mcu_types): Remove ATmega603 which was never
	produced.
	* config/avr/avr.h (LINK_SPEC): Likewise.
	(CRT_BINUTILS_SPECS): Likewsie.
	* config/avr/t-avr (MULTILIB_MATCHES): Likewise.

From-SVN: r129557
2007-10-22 23:58:16 +04:00
Eric Botcazou
9ed7b22165 re PR rtl-optimization/33644 (ICE in local_cprop_pass with -ftrapv for crafty)
PR rtl-optimization/33644
	* cfgcleanup.c: Do not include dce.h.
	* cfgrtl.c (delete_insn_chain_and_edges): Resurrect.
	* combine.c (distribute_notes): Delete REG_LIBCALL_ID case.
	* dce.c (something_changed): Delete.
	(libcall_dead_p): New predicate.
	(delete_unmarked_insns): Use it to delete dead libcalls.
	Deal with REG_LIBCALL and REG_RETVAL notes.
	(prescan_libcall_for_dce): New function.
	(prescan_insns_for_dce): Use it to deal with libcalls.
	(mark_reg_dependencies): Do nothing special for libcalls.
	(dce_process_block): Likewise.
	(fast_dce): Delete unused local variable.
	(run_fast_dce): Do not return a value.
	* dce.h (struct df): Delete.
	(run_fast_dce): Adjust prototype.
	* optabs.c (libcall_id): Delete.
	(maybe_encapsulate_block): Do not emit REG_LIBCALL_ID notes.
	(emit_no_conflict_block): Do not look for REG_LIBCALL_ID notes.
	* reload1.c (reload): Delete REG_LIBCALL_ID case.
	* rtl.h (delete_insn_chain_and_edges): Resurrect prototype.
	* see.c (see_update_relevancy): Look for REG_LIBCALL and REG_RETVAL
	notes instead of REG_LIBCALL_ID notes.
	* reg-notes.def (LIBCALL_ID): Delete.
	* Makefile.in (see.o): Add dce.h dependency.
	(cfgcleanup.o): Remove dce.h dependency.

From-SVN: r129556
2007-10-22 19:28:23 +00:00
Jakub Jelinek
6e684eee8d re PR c++/33372 (segfault on incomplete code in openmp mode)
PR c++/33372
	* semantics.c (finish_omp_clauses): Check !type_dependent_expression_p
	before checking if its type is integral.

	* g++.dg/gomp/pr33372-1.C: New test.
	* g++.dg/gomp/pr33372-2.C: New test.
	* g++.dg/gomp/pr33372-3.C: New test.

From-SVN: r129555
2007-10-22 21:11:36 +02:00
Jason Merrill
5818c8e436 re PR c++/33620 (internal compiler error: canonical types differ for identical types const QList<QStringList> and const QList<QStringList>)
PR c++/33620
        * class.c (finish_struct_bits): Copy TYPE_ATTRIBUTES.
        * pt.c (apply_late_template_attributes): Splice out dependent
        attributes from DECL_ATTRIBUTES.

        * decl.c (cxx_maybe_build_cleanup): Use build_address.

From-SVN: r129553
2007-10-22 14:03:10 -04:00
Michael Matz
22a5d0133d re PR tree-optimization/33855 (Segfault in verify_ssa/execute_function_todo with -O)
PR tree-optimization/33855

        * tree-ssa-phiopt.c (cond_store_replacement): Handle
        * COMPLEX_TYPE
        and VECTOR_TYPE.

        * gcc.c-torture/compile/pr33855.c: New testcase.

From-SVN: r129551
2007-10-22 15:29:17 +00:00
Ira Rosen
174f8765a8 re PR tree-optimization/33854 (ICE in vectorizable_conversion, at tree-vect-transform.c:3374)
PR tree-optimization/33854
	* tree-vect-analyze.c (vect_determine_vectorization_factor): Add
	FLOAT_EXPR to the list of promotion operations.

From-SVN: r129549
2007-10-22 12:05:36 +00:00
Rask Ingemann Lambertsen
9ad5e54f95 re PR target/29473 (-masm=intel combined with -march=athlon64 has some issues.)
PR target/29473
	PR target/29493
	* config/i386/i386.c (output_pic_addr_const): Support Intel asm syntax.
	(print_reg): Print register prefix only with AT&T asm syntax. 
	Support pc_rtx for RIP register.
	(print_operand_address): Use print_reg()'s pc_rtx support for RIP
	relative addressing.  Always print segment register prefix with AT&T
	asm syntax and never with Intel asm syntax.
	(print_operand): Suppress 'XXX PTR' prefix for BLKmode operands. 
	Fix prefix for 16-byte XFmode operands.
	(output_addr_const_extra): Support Intel asm syntax.
	(x86_file_start): Don't use register prefix with Intel asm syntax.
	* config/i386/i386.md ("*zero_extendqihi2_movzbl"): Fix typo.
	("return_internal_long"): Fix Intel asm syntax output.
	("set_got_rex64"): Support Intel asm syntax.
	("set_rip_rex64"): Likewise.
	("set_got_offset_rex64"): Likewise.
	("*sibcall_1_rex64_v"): Print register prefix only with AT&T asm
	syntax.
	("*tls_global_dynamic_64"): Likewise.
	("*tls_local_dynamic_base_64"): Likewise.
	("*load_tp_si")("*load_tp_di"): Likewise.
	("*add_tp_si")("*add_tp_di"): Likewise.
	("*tls_dynamic_lea_64"): Likewise.
	("*sibcall_value_1_rex64_v"): Likewise.
	("stack_tls_protect_set_si"): Likewise.
	("stack_tls_protect_set_di"): Likewise.
	("stack_tls_protect_test_si"): Likewise.
	("stack_tls_protect_test_di"): Likewise.
	* config/i386/mmx.md ("*mov<mode>_internal_rex64"): Fix Intel asm
	syntax output.
	("*movv2sf_internal_rex64"): Likewise.
	* config/i386/cpuid.h (__cpuid): Support Intel asm syntax.
	(__get_cpuid_max): Likewise.

From-SVN: r129548
2007-10-22 11:50:56 +00:00
GCC Administrator
cc6c53a3f7 Daily bump.
From-SVN: r129545
2007-10-22 00:17:11 +00:00
David Edelsohn
2e880904b4 unwind-1.c: Disable on AIX.
* gcc.dg/unwind-1.c: Disable on AIX.
        * gcc.dg/cpp/_Pragma6.c: Disable on AIX.

From-SVN: r129540
2007-10-21 16:48:51 -04:00
Paul Thomas
c54224622d re PR fortran/33749 (Wrong evaluation of expressions in lhs of assignment statements)
2007-10-21  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/33749
	* resolve.c (resolve_ordinary_assign): New function that takes
	the code to resolve an assignment from resolve_code. In
	addition, it makes a temporary of any vector index, on the
	lhs, using gfc_get_parentheses.
	(resolve_code): On EXEC_ASSIGN call the new function.

2007-10-21  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/33749
	* gfortran.dg/assign_9.f90: New test.

From-SVN: r129539
2007-10-21 18:10:00 +00:00
Joseph Myers
68d9cb44ae * es.po, vi.po: Update.
From-SVN: r129537
2007-10-21 18:58:21 +01:00
Joseph Myers
1c5aeb0f49 * de.po, es.po, zh_CN.po: Update.
From-SVN: r129535
2007-10-21 18:56:29 +01:00
Richard Sandiford
65239d2068 mips-protos.h (mips_regno_mode_ok_for_base_p): Give the STRICT_P argument type "bool" rather than "int".
gcc/
	* config/mips/mips-protos.h (mips_regno_mode_ok_for_base_p): Give
	the STRICT_P argument type "bool" rather than "int".
	(mips_legitimate_address_p): Likewise.
	(fp_register_operand, lo_operand): Delete.
	(mips_subword): Give the HIGH_P argument type "bool" rather than "int".
	(mips_emit_scc): Rename to...
	(mips_expand_scc): ...this.
	(gen_conditional_branch): Rename to...
	(mips_expand_conditional_branch): ...this.
	(gen_conditional_move): Rename to...
	(mips_expand_conditional_move): ...this.
	(mips_gen_conditional_trap): Rename to...
	(mips_expand_conditional_trap): ...this and take an rtx code instead
	of an operands array.
	(mips_expand_call): Give the SIBCALL_P argument type "bool"
	rather than "int".
	(mips_emit_fcc_reload): Rename to...
	(mips_expand_fcc_reload): ...this.
	(init_cumulative_args): Rename to...
	(mips_init_cumulative_args): ...this and remove the libname argument.
	(function_arg_advance): Rename to...
	(mips_function_arg_advance): ...this.
	(function_arg): Rename to...
	(mips_function_arg): ...this and use "rtx" instead of
	"struct rtx_def *".
	(function_arg_boundary): Rename to...
	(mips_function_arg_boundary): ...this.
	(mips_expand_unaligned_load): Rename to...
	(mips_expand_ext_as_unaligned_load): ...this and give the WIDTH
	and BITPOS arguments type "HOST_WIDE_INT".
	(mips_expand_unaligned_store): Rename to...
	(mips_expand_ins_as_unaligned_store): ...this and give the WIDTH
	and BITPOS arguments type "HOST_WIDE_INT".
	(override_options): Rename to...
	(mips_override_options): ...this.
	(print_operand): Rename to...
	(mips_print_operand): ...this.
	(print_operand_address): Rename to...
	(mips_print_operand_address): ...this.
	(mips_output_ascii): Remove the PREFIX argument.
	(mips_expand_epilogue): Give the SIBCALL_P argument type "bool"
	rather than "int".
	(mips_can_use_return_insn): Return a "bool" rather than an "int".
	(mips_function_value): Remove the FUNC argument.  Use "rtx" instead
	of "struct rtx_def *".
	(mips_secondary_reload_class): Give the IN_P argument type "bool"
	rather than "int".
	(build_mips16_call_stub): Delete.
	(mips_store_data_bypass_p): Return a "bool" rather than an "int".
	(mips_use_ins_ext_p): Give the second and third arguments type
	"HOST_WIDE_INT" rather than "rtx".
	* config/mips/mips.h: Update after the above changes.  Tweak comments
	and formatting.
	(SECONDARY_INPUT_RELOAD_CLASS): Pass a boolean IN_P argument.
	(SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
	(mips_print_operand_punct, mips_hard_regno_mode_ok): Change the
	element type from "char" to "bool".
	(mips_section_threshold, sym_lineno, set_noat, mips_branch_likely)
	(mips_cpu_info_table): Delete.
	* config/mips/mips.md: Update after the above changes.  Tweak some
	formatting.
	* config/mips/mips-ps-3d.md: Likewise.
	* config/mips/mips.c: Tweak comments and formatting.
	Use NULL-like macros rather than 0 in various places.
	(mips_section_threshold): Rename to...
	(mips_small_data_threshold): ...this and give it an unsigned type.
	(num_source_filenames): Remove explicit initialization.
	(sdb_label_count): Likewise.
	(sym_lineno): Delete.
	(set_noat): Make static.
	(mips_branch_likely): Likewise, and give it type "bool".
	(mips_isa_info): Rename to...
	(mips_isa_option_info): ...this.
	(mips_flag_delayed_branch): Rename to...
	(mips_base_delayed_branch): ...this.
	(mips_split_addresses): Delete.
	(mips_print_operand_punct, mips_hard_regno_mode_ok): Change the
	element type from "char" to "bool".
	(mips_regno_to_class): Add an explicit array size.
	(mips16_flipper): Change from type "int" to type "bool".
	(mips_comp_type_attributes): Remove redundant FUNCTION_TYPE check.
	(mips_tls_operand_p): Rename to...
	(mips_tls_symbol_p): ...this.
	(mips_global_symbol_p): Remove redundant "const".
	(mips_offset_within_alignment_p): Simplify.
	(mips_regno_mode_ok_for_base_p): Change the name of the last argument
	to STRICT_P and give it type bool.
	(mips_valid_base_register_p): Likewise.
	(mips_classify_address): Likewise.
	(mips_legitimate_address_p): Likewise.
	(mips16_unextended_reference_p): Take the offset as an
	"unsigned HOST_WIDE_INT" rather than an "rtx".  Simplify.
	(mips_const_insns): Use IN_RANGE.
	(mips_force_temporary): Remove an unnecessary copy_rtx.
	(mips16_gp_pseudo_reg): Simplify.
	(mips_split_symbol): Remove an unnecessary copy_rtx.
	(mips_legitimize_tls_address): Only create registers if we need them.
	(mips_legitimize_address): Use mips_split_plus.
	(mips_move_integer): Swap DEST and TEMP arguments.  Rename local
	variable COST to NUM_OPS.
	(mips_legitimize_move): Use gen_lowpart.
	(mips_rewrite_small_data): Rename the OP parameter to PATTERN.
	(m16_check_op): Use IN_RANGE.
	(mips_subword): Give the HIGH_P argument type "bool" rather than "int".
	(mips_split_doubleword_move): Pass booleans to mips_subword.
	(mips_output_move): Store the mode in a local variable.
	Explicitly assert that this function does not deal with
	MFLO and MFHI.  Use SMALL_OPERAND_UNSIGNED.  Make order of
	cases more consistent.
	(mips_relational_operand_ok_p): Rename to...
	(mips_int_order_operand_ok_p): ...this.
	(mips_canonicalize_comparison): Rename to...
	(mips_canonicalize_int_order_test): ...this.
	(mips_emit_int_relational): Rename to...
	(mips_emit_int_order_test): ...this.  Store the mode in a local
	variable.
	(mips_reverse_fp_cond_p): Rename to...
	(mips_reversed_fp_cond): ...this.
	(mips_emit_compare): Make the order of the statements more consistent.
	(mips_emit_scc): Rename to...
	(mips_expand_scc): ...this.
	(gen_conditional_branch): Rename to...
	(mips_expand_conditional_branch): ...this.
	(gen_conditional_move): Rename to...
	(mips_expand_conditional_move): ...this.  Build the condition
	separately from the main pattern.
	(mips_gen_conditional_trap): Rename to...
	(mips_expand_conditional_trap): ...this and take an rtx code instead
	of an operands array.  Simplify.
	(init_cumulative_args): Rename to...
	(mips_init_cumulative_args): ...this.  Use memset rather than a
	copy from a zeroed static.  Use prototype_p and stdarg_p.
	(mips_arg_info): Rename to...
	(mips_get_arg_info): ...this and put the INFO argument first.
	(function_arg): Rename to...
	(mips_function_arg): ...this and use "rtx" instead of
	"struct rtx_def *".  Only split structures into chunks if 
	TARGET_HARD_FLOAT, rather than checking !TARGET_SOFT_FLOAT on
	a chunk-by-chunk basis.  Use SCALAR_FLOAT_TYPE_P instead of a
	comparison with REAL_TYPE.  Rename local variable REG to REGNO
	and make it unsigned.
	(function_arg_advance): Rename to...
	(mips_function_arg_advance): ...this.
	(function_arg_boundary): Rename to...
	(mips_function_arg_boundary): ...this.
	(mips_pad_arg_upward): Use SCALAR_INT_MODE_P instead of a comparison
	with MODE_INT.
	(mips_fpr_return_fields): Use SCALAR_FLOAT_TYPE_P instead of a
	comparison with REAL_TYPE.
	(mips_function_value): Remove the FUNC argument.  Rename local
	variable UNSIGNEDP to UNSIGNED_P.
	(mips_return_in_memory): Use IN_RANGE.
	(mips_setup_incoming_varargs): Pass a boolean rather than an int
	to FUNCTION_ARG_ADVANCE.
	(mips_gimplify_va_arg_expr): Rename local variable INDIRECT
	to INDIRECT_P.  Remove a redundant mips_abi check.  Only calculate
	SIZE and RSIZE if needed.
	(mips16_stub): Rename FPRET to FP_RET_P and give it type "bool"
	rather than "int".
	(build_mips16_function_stub): Rename to...
	(mips16_build_function_stub): ...this.
	(build_mips16_call_stub): Rename to...
	(mips16_build_call_stub): ...this.  Make static, and return a
	"bool" rather than an "int".  Rename the ARG_SIZE argument to
	ARGS_SIZE.  Rename the local variable FPRET to FP_RET_P and give
	it type "bool".  Use "jr" rather than "j".  Use XNEW.  Simplify.
	(mips_load_call_address): Give the SIBCALL_P argument type "bool"
	rather than "int".
	(mips_expand_call): Likewise.  Assert that MIPS16 calls via stubs
	are not sibling ones.
	(mips_emit_fcc_reload): Rename to...
	(mips_expand_fcc_reload): ...this.
	(mips_get_unaligned_mem): Give the WIDTH and BITPOS arguments type
	"HOST_WIDE_INT".
	(mips_expand_unaligned_load): Rename to...
	(mips_expand_ext_as_unaligned_load): ...this and give the WIDTH
	and BITPOS arguments type "HOST_WIDE_INT".  Remove redundant
	SUBREG_BYTE check.
	(mips_expand_unaligned_store): Rename to...
	(mips_expand_ins_as_unaligned_store): ...this and give the WIDTH
	and BITPOS arguments type "HOST_WIDE_INT".
	(mips_use_ins_ext_p): Rename second and third arguments to WIDTH
	and BITPOS and give them type "HOST_WIDE_INT" rather than "rtx".
	Use IN_RANGE.
	(mips_init_split_addresses): Replace with...
	(mips_split_addresses_p): ...this new function.
	(mips_init_relocs): Check mips_split_addresses_p () rather than
	mips_split_addresses.  Always initialize mips_split_p with booleans.
	(print_operand_reloc): Rename to...
	(mips_print_operand_reloc): ...this.  Use a gcc_assert rather than
	a fatal_error.
	(print_operand): Rename to...
	(mips_print_operand): ...this.
	(print_operand_address): Rename to...
	(mips_print_operand_address): ...this.  Use GP_REG_FIRST.
	(mips_in_small_data_p): Simplify.
	(mips_output_ascii): Remove the PREFIX argument and "register"
	keywords.  Use the STRING parameter directly and cast to
	"unsigned char".
	(mips16e_collect_argument_save_p): Use IN_RANGE.
	(mips_function_has_gp_insn): Simplify.
	(mips_set_return_address): Use BITSET_P.
	(mips_restore_gp): Use a separate statement to pick the base
	register.
	(mips_output_function_prologue): Use a local FRAME variable.
	(mips_save_reg): Pass booleans to mips_subword.
	(mips_expand_prologue): Use a local FRAME variable.  Use
	cprestore_size to detect when .cprestore is needed.
	(mips_restore_reg): Use GP_REG_FIRST.
	(mips_expand_epilogue): Give the SIBCALL_P argument type "bool"
	rather than "int".  Use local FRAME and REGNO variables.
	(mips_can_use_return_insn): Return a "bool" rather than an "int".
	(mips_secondary_reload_class): Give the IN_P argument type "bool"
	rather than "int".
	(mips_linked_madd_p): Rename arguments to OUT_INSN and IN_INSN.
	(mips_store_data_bypass_p): Return a "bool" rather than an "int".
	(vr4130_swap_insns_p): Rename local variables to DEP1_P and DEP2_P.
	(mips_74k_agen_init): Assume INSN satisfies USEFUL_INSN_P.
	(mips_variable_issue): Do nothing unless INSN satisfies USEFUL_INSN_P.
	(builtin_description): Rename to...
	(mips_builtin_description): ...this.
	(mips_bdesc): Rename to...
	(mips_ps_bdesc): ...this.
	(sb1_bdesc): Rename to...
	(mips_sb1_bdesc): ...this.
	(dsp_bdesc): Rename to...
	(mips_dsp_bdesc): ...this.
	(dsp_32only_bdesc): Rename to...
	(mips_dsp_32only_bdesc): ...this.
	(bdesc_map): Rename to...
	(mips_bdesc_map): ...this.
	(bdesc_arrays): Rename to...
	(mips_bdesc_arrays): ...this.
	(mips_prepare_builtin_arg): Rename OP to OPNO and ARGNUM to ARGNO.
	Tweak error message.
	(mips_expand_builtin_direct): Rename HAS_TARGET to HAS_TARGET_P.
	Rename local variables I and J to OPNO and ARGNO respectively.
	Assert that the number of arguments is no more than the number of
	input operands.
	(mips_expand_builtin_compare): Use an array of arguments rather
	than an array of operands.  Assert that the number of operands is
	as expected.
	(add_constant): Rename to...
	(mips16_add_constant): ...this.  Use XNEW.
	(dump_constants_1): Rename to...
	(mips16_emit_constants_1): ...this.  Use ALL_SCALAR_FIXED_POINT_MODE_P.
	(dump_constants): Rename to...
	(mips16_emit_constants): ...this.
	(mips_sim_wait_reg, mips_sim_record_set): Use END_REGNO.
	(mips_set_mips16_mode): Don't call mips_init_split_addresses.
	Assign mips16_p to was_mips16_p.
	(mips_parse_cpu): Tweak warning message.
	(override_options): Rename to...
	(mips_override_options): ...this.  Move the mips_cost initialization
	out of the "shared with GAS" block.  Quote option names in error
	messages.
	(mips_conditional_register_usage): Make local variable REGNO unsigned.
	(mips_order_regs_for_local_alloc): Remove register keyword.

From-SVN: r129532
2007-10-21 11:19:40 +00:00
Richard Sandiford
b5edaa2ca1 system.h (IN_RANGE): Cast each argument individually.
gcc/
	* system.h (IN_RANGE): Cast each argument individually.

From-SVN: r129531
2007-10-21 10:47:22 +00:00
Richard Sandiford
d375fd5e62 gcc/
* config/mips/mips.c (mips_set_mips16_mode) Say sorry for hard-float
	MIPS16 code unless using o32 or o64.  

gcc/testsuite/
	* gcc.target/mips/mips.exp (setup_mips_tests): Set mips_mips16.
	(dg-mips-options): Skip tests that specify an ABI other than o32
	and o64 if generating MIPS16 hard-float code.

From-SVN: r129530
2007-10-21 10:05:43 +00:00
Ira Rosen
8d0e5316e7 vect-ifcvt-5.c: Require vect_int.
* gcc.dg/vect/vect-ifcvt-5.c: Require vect_int.
	* gcc.dg/vect/vect-16.c: Fix comment.
	* gcc.dg/vect/pr33369.c: Require vect_int.
	* gcc.dg/vect/slp-33.c: Add spaces.
	* gcc.dg/vect/no-scevccp-outer-18.c: Enable only for vect_interleave
	targets.
	* gcc.dg/vect/vect-ifcvt-6.c: Require vect_int.
	* gcc.dg/vect/no-scevccp-outer-19.c: Enable only for vect_unpack
	targets.
	* gcc.dg/vect/vect-ifcvt-7.c: Require vect_int.
	* gcc.dg/vect/vect-strided-store-u16-i4.c: Add vect_unpack to
	targets.
	* gcc.dg/vect/slp-10.c: Add spaces.
	* gcc.dg/vect/no-scevccp-outer-21.c: Enable only for vect_pack_trunc
	targets.
	* gcc.dg/vect/slp-36.c: Require vect_int.
	* gcc.dg/vect/vect-ifcvt-9.c, gcc.dg/vect/vect-strided-store-u32-i2.c,
	gcc.dg/vect/vect-ifcvt-2.c, gcc.dg/vect/vect-ifcvt-3.c,
	gcc.dg/vect/vect-82.c, gcc.dg/vect/vect-83.c: Likewise.
	* gcc.dg/vect/no-scevccp-outer-16.c: Enable only for vect_unpack
	targets.
	* gcc.dg/vect/no-scevccp-outer-17.c: Likewise.
	* gcc.dg/vect/pr25413.c: Use vector alignment_reachable_for_64bit
	instead of vector_alignment_reachable_for_double.
	* lib/target-supports.exp (vect_aligned_arrays): Add spu-*-*.
	(natural_alignment): Split into...
	(natural_alignment_32, natural_alignment_64): New.
	(vector_alignment_reachable): Depend on natural_alignment_32.
	(vector_alignment_reachable_for_double): Rename to ...
	(vector_alignment_reachable_for_64bit): And depend on
	natural_alignment_64.


Co-Authored-By: Revital Eres <eres@il.ibm.com>

From-SVN: r129529
2007-10-21 10:01:16 +00:00
Richard Sandiford
43029c1033 mips.c (mips_cannot_change_mode_class): Don't check for modes smaller than 4 bytes.
gcc/
	* config/mips/mips.c (mips_cannot_change_mode_class): Don't check
	for modes smaller than 4 bytes.
	* config/mips/mips.md (*movhi_internal, *movqi_internal): Remove
	FPR alternatives.

From-SVN: r129528
2007-10-21 09:24:16 +00:00
Richard Sandiford
7c6794f484 mips-protos.h (mips_output_aligned_bss): Delete.
gcc/
	* config/mips/mips-protos.h (mips_output_aligned_bss): Delete.
	* config/mips/linux.h (BSS_SECTION_ASM_OP): Delete.
	(ASM_OUTPUT_ALIGNED_BSS): Delete.
	* config/mips/mips.c (mips_output_aligned_bss): Delete.

From-SVN: r129527
2007-10-21 09:20:49 +00:00
Richard Sandiford
9be10a7944 mips.c (mips_function_ok_for_sibcall): Only forbid sibling calls to "mips16" functions if...
gcc/
	* config/mips/mips.c (mips_function_ok_for_sibcall): Only forbid
	sibling calls to "mips16" functions if the function satisfies
	const_call_insn_operand.

From-SVN: r129526
2007-10-21 09:18:12 +00:00