gcc.git
16 years agoipa-type-escape.h: Expose function is_array_access_through_pointer_and_index.
Olga Golovanevsky [Wed, 24 Oct 2007 10:36:30 +0000 (10:36 +0000)]
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

16 years agore PR tree-optimization/33804 (ICE in vect_transform_stmt, at tree-vect-transform...
Ira Rosen [Wed, 24 Oct 2007 09:35:00 +0000 (09:35 +0000)]
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

16 years agotree-vect-analyze.c (vect_build_slp_tree): Return false if vectype cannot be determin...
Ira Rosen [Wed, 24 Oct 2007 07:51:09 +0000 (07:51 +0000)]
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

16 years agoPR c++/25950 (DR 391)
Jason Merrill [Wed, 24 Oct 2007 03:45:37 +0000 (23:45 -0400)]
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

16 years agore PR fortran/33849 (Fix misleading error message "GENERIC non-INTRINSIC procedure...
Jerry DeLisle [Wed, 24 Oct 2007 03:39:03 +0000 (03:39 +0000)]
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

16 years agoDaily bump.
GCC Administrator [Wed, 24 Oct 2007 00:17:28 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r129593

16 years agoconfig.gcc: For a FreeBSD target...
Craig Rodrigues [Tue, 23 Oct 2007 23:53:31 +0000 (23:53 +0000)]
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

16 years agore PR rtl-optimization/33846 (ICE in trunc_int_for_mode, at explow.c:55)
Uros Bizjak [Tue, 23 Oct 2007 20:15:04 +0000 (22:15 +0200)]
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

16 years agore PR tree-optimization/33860 (ICE in vectorizable_load, at tree-vect-transform.c...
Dorit Nuzman [Tue, 23 Oct 2007 19:50:18 +0000 (19:50 +0000)]
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

16 years agortl.texi (Flags): Fix MEM_SCALAR_P entry.
Eric Botcazou [Tue, 23 Oct 2007 19:24:13 +0000 (21:24 +0200)]
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

16 years agomisc.c (gnat_handle_option): Replace call to abort with call to gcc_unreachable.
Eric Botcazou [Tue, 23 Oct 2007 17:36:51 +0000 (17:36 +0000)]
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

16 years agors6000.c (rs6000_override_options): Set rs6000_altivec_abi on AIX.
David Edelsohn [Tue, 23 Oct 2007 17:12:01 +0000 (17:12 +0000)]
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

16 years agoMakefile.def (dependencies): Make configure-gdb depend on all-intl.
Daniel Jacobowitz [Tue, 23 Oct 2007 15:53:18 +0000 (15:53 +0000)]
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

16 years agoalias.c (get_alias_set): For INDIRECT_REFs, deal with SSA_NAME pointers.
Richard Guenther [Tue, 23 Oct 2007 11:20:56 +0000 (11:20 +0000)]
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

16 years agore PR bootstrap/33608 (Bootstrap with ada fails linking gnatbind with 4.3 host compiler)
Richard Guenther [Tue, 23 Oct 2007 08:54:56 +0000 (08:54 +0000)]
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

16 years agoSMS: Add new testcase
Tehila Meyzels [Tue, 23 Oct 2007 07:53:42 +0000 (07:53 +0000)]
SMS: Add new testcase

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

16 years agodf-scan.c (df_get_call_refs): Mark global registers as both a DF_REF_REG_USE and...
David S. Miller [Tue, 23 Oct 2007 04:33:26 +0000 (21:33 -0700)]
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

16 years agore PR tree-optimization/33834 (ICE in vect_get_vec_def_for_operand, at tree-vect...
Dorit Nuzman [Tue, 23 Oct 2007 03:24:06 +0000 (03:24 +0000)]
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

16 years agoDaily bump.
GCC Administrator [Tue, 23 Oct 2007 00:17:13 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r129568

16 years agoinvoke.texi (Optimization Options): In the summary...
Janis Johnson [Mon, 22 Oct 2007 23:21:49 +0000 (23:21 +0000)]
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

16 years agore PR fortran/33849 (Fix misleading error message "GENERIC non-INTRINSIC procedure...
Jerry DeLisle [Mon, 22 Oct 2007 23:08:16 +0000 (23:08 +0000)]
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

16 years agoMAINTAINERS (Fortran maintainer): Remove myself.
Steven G. Kargl [Mon, 22 Oct 2007 22:23:33 +0000 (22:23 +0000)]
MAINTAINERS (Fortran maintainer): Remove myself.

2007-10-22  Steven G. Kargl  <kargl@gcc.gnu.org>

        * MAINTAINERS (Fortran maintainer): Remove myself.

From-SVN: r129562

16 years agore PR fortran/31244 (data initialization with more than 2**32 elements)
Steven G. Kargl [Mon, 22 Oct 2007 22:10:42 +0000 (22:10 +0000)]
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

16 years agojvm.h (_Jv_SetGCFreeSpaceDivisor): Declare new function.
David Daney [Mon, 22 Oct 2007 21:24:35 +0000 (21:24 +0000)]
jvm.h (_Jv_SetGCFreeSpaceDivisor): Declare new function.

* include/jvm.h (_Jv_SetGCFreeSpaceDivisor): Declare new function.
* boehm.cc (_Jv_SetGCFreeSpaceDivisor): Define it.

From-SVN: r129560

16 years agoavr.c (avr_mcu_types): Remove ATmega603 which was never produced.
Eric B. Weddington [Mon, 22 Oct 2007 19:58:16 +0000 (19:58 +0000)]
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

16 years agore PR rtl-optimization/33644 (ICE in local_cprop_pass with -ftrapv for crafty)
Eric Botcazou [Mon, 22 Oct 2007 19:28:23 +0000 (19:28 +0000)]
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

16 years agore PR c++/33372 (segfault on incomplete code in openmp mode)
Jakub Jelinek [Mon, 22 Oct 2007 19:11:36 +0000 (21:11 +0200)]
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

16 years agore PR c++/33620 (internal compiler error: canonical types differ for identical types...
Jason Merrill [Mon, 22 Oct 2007 18:03:10 +0000 (14:03 -0400)]
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

16 years agore PR tree-optimization/33855 (Segfault in verify_ssa/execute_function_todo with -O)
Michael Matz [Mon, 22 Oct 2007 15:29:17 +0000 (15:29 +0000)]
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

16 years agore PR tree-optimization/33854 (ICE in vectorizable_conversion, at tree-vect-transform...
Ira Rosen [Mon, 22 Oct 2007 12:05:36 +0000 (12:05 +0000)]
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

16 years agore PR target/29473 (-masm=intel combined with -march=athlon64 has some issues.)
Rask Ingemann Lambertsen [Mon, 22 Oct 2007 11:50:56 +0000 (13:50 +0200)]
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

16 years agoDaily bump.
GCC Administrator [Mon, 22 Oct 2007 00:17:11 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r129545

16 years agounwind-1.c: Disable on AIX.
David Edelsohn [Sun, 21 Oct 2007 20:48:51 +0000 (20:48 +0000)]
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

16 years agore PR fortran/33749 (Wrong evaluation of expressions in lhs of assignment statements)
Paul Thomas [Sun, 21 Oct 2007 18:10:00 +0000 (18:10 +0000)]
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

16 years ago* es.po, vi.po: Update.
Joseph Myers [Sun, 21 Oct 2007 17:58:21 +0000 (18:58 +0100)]
* es.po, vi.po: Update.

From-SVN: r129537

16 years ago* de.po, es.po, zh_CN.po: Update.
Joseph Myers [Sun, 21 Oct 2007 17:56:29 +0000 (18:56 +0100)]
* de.po, es.po, zh_CN.po: Update.

From-SVN: r129535

16 years agomips-protos.h (mips_regno_mode_ok_for_base_p): Give the STRICT_P argument type "bool...
Richard Sandiford [Sun, 21 Oct 2007 11:19:40 +0000 (11:19 +0000)]
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

16 years agosystem.h (IN_RANGE): Cast each argument individually.
Richard Sandiford [Sun, 21 Oct 2007 10:47:22 +0000 (10:47 +0000)]
system.h (IN_RANGE): Cast each argument individually.

gcc/
* system.h (IN_RANGE): Cast each argument individually.

From-SVN: r129531

16 years agogcc/
Richard Sandiford [Sun, 21 Oct 2007 10:05:43 +0000 (10:05 +0000)]
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

16 years agovect-ifcvt-5.c: Require vect_int.
Ira Rosen [Sun, 21 Oct 2007 10:01:16 +0000 (10:01 +0000)]
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

16 years agomips.c (mips_cannot_change_mode_class): Don't check for modes smaller than 4 bytes.
Richard Sandiford [Sun, 21 Oct 2007 09:24:16 +0000 (09:24 +0000)]
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

16 years agomips-protos.h (mips_output_aligned_bss): Delete.
Richard Sandiford [Sun, 21 Oct 2007 09:20:49 +0000 (09:20 +0000)]
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

16 years agomips.c (mips_function_ok_for_sibcall): Only forbid sibling calls to "mips16" function...
Richard Sandiford [Sun, 21 Oct 2007 09:18:12 +0000 (09:18 +0000)]
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

16 years agomips.c (mips_va_start): Fix types in calls to build_int_cst.
Richard Sandiford [Sun, 21 Oct 2007 09:15:50 +0000 (09:15 +0000)]
mips.c (mips_va_start): Fix types in calls to build_int_cst.

gcc/
* config/mips/mips.c (mips_va_start): Fix types in calls
to build_int_cst.

From-SVN: r129525

16 years agomips.c (mips_rtx_costs): Only recognize reciprocals if ISA_HAS_FP4.
Richard Sandiford [Sun, 21 Oct 2007 09:13:06 +0000 (09:13 +0000)]
mips.c (mips_rtx_costs): Only recognize reciprocals if ISA_HAS_FP4.

gcc/
* config/mips/mips.c (mips_rtx_costs): Only recognize reciprocals
if ISA_HAS_FP4.

From-SVN: r129524

16 years agomips.h (ISA_HAS_LDC1_SDC1): New macro.
Richard Sandiford [Sun, 21 Oct 2007 09:09:50 +0000 (09:09 +0000)]
mips.h (ISA_HAS_LDC1_SDC1): New macro.

gcc/
* config/mips/mips.h (ISA_HAS_LDC1_SDC1): New macro.
* config/mips/mips.c (mips_split_64bit_move_p): Use ISA_HAS_LDC1_SDC1
instead of checking mips_isa.

From-SVN: r129523

16 years agoinvoke.texi (-mpaired-single): Don't say that the option requires 64-bit code.
Richard Sandiford [Sun, 21 Oct 2007 09:07:13 +0000 (09:07 +0000)]
invoke.texi (-mpaired-single): Don't say that the option requires 64-bit code.

gcc/
* doc/invoke.texi (-mpaired-single): Don't say that the option
requires 64-bit code.
* config/mips/mips-protos.h (mips_modes_tieable_p): Declare.
* config/mips/mips.h (ISA_HAS_PAIRED_SINGLE): New macro.
(ISA_HAS_NMADD_NMSUB): Add a mode argument.  Return true for
V2SF if ISA_MIPS32R2.
(MODES_TIEABLE_P): Use mips_modes_tieable_p.
* config/mips/mips.c (mips_rtx_costs): Pass a mode argument
to ISA_HAS_NMADD_NMSUB.
(mips_split_doubleword_move): Handle V2SF.
(mips_modes_tieable_p): New function.
(override_options): Report a warning rather than an error when
-mpaired-single is used on ISAs that don't support it; use
ISA_HAS_PAIRED_SINGLE to check that case.
* config/mips/mips.md (MOVE64): New mode iterator.  Replace DI
and DF move splitters with a single MOVE64 splitter, thereby adding
a V2SF splitter too.
(SPLITF): Add TARGET_DOUBLE_FLOAT conditions to DI and DF.
Add a TARGET_FLOAT64 condition to TF.  Add V2SF to the iterator.
(HALFMODE): Add V2SF.
(*nmadd<mode>, *nmadd<mode>_fastmath, *nmsub<mode>)
(*nmsub<mode>_fastmath): Add a mode argument to ISA_HAS_NMADD_NMSUB.
(movv2sf_hardfloat_64bit): Tweak ordering of conditions.
(movv2sf_hardfloat_32bit): New pattern.
(load_low<mode>, load_high<mode>, store_word<mode>): Remove
TARGET_DOUBLE_FLOAT conditions.

gcc/testsuite/
* gcc.dg/vect/vect.exp: Extend -mpaired-single handling to all
MIPS targets.
* g++.dg/vect/vect.exp: Likewise.
* lib/fortran-torture.exp: Likewise.
* gcc.target/mips/mips-ps-1.c: Use mpaired_single rather than
mipsisa64*-*-* as the target selector.  Remove -mips64,
-mhard-float and -mgp64 from the options list.
* gcc.target/mips/mips-ps-2.c: Likewise.
* gcc.target/mips/mips-ps-3.c: Likewise.
* gcc.target/mips/mips-ps-4.c: Likewise.
* gcc.target/mips/mips-ps-6.c: Likewise.
* gcc.target/mips/mips-ps-5.c: Remove -mhard-float from the
options list.
* gcc.target/mips/sb1-1.c: Likewise.
* gcc.target/mips/mips-ps-type.c: Likewise.
* gcc.target/mips/mips-ps-7.c: New test.
* gcc.target/mips/mips-ps-type-2.c: Likewise.
* gcc.target/mips/fpr-moves-6.c: Remove XFAIL.
* gcc.target/mips/mips.exp (setup_mips_tests): Set mips_fp and
mips_gp instead of mips_fp64 and mips_gp64.  Treat -mgp32 -mfp64
as forcing an ABI and an architecture.
(is_gp32_flag, is_gp64_flag): Fold into...
(dg-mips-options): ...here.  Make -mpaired-single imply -mfp64,
then -mfp64 imply -mhard-float.  Apply register rules after the
loop.  Handle -march=mipsN like -mipsN.

From-SVN: r129522

16 years agolinux-unwind.h (ppc_fallback_frame_state): Point saved CR2 offset to low 32 bits...
Jakub Jelinek [Sun, 21 Oct 2007 00:43:01 +0000 (02:43 +0200)]
linux-unwind.h (ppc_fallback_frame_state): Point saved CR2 offset to low 32 bits of regs->ccr rather than the whole 64-bit...

* config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Point
saved CR2 offset to low 32 bits of regs->ccr rather than the whole
64-bit register in 64-bit libgcc.

From-SVN: r129520

16 years agoDaily bump.
GCC Administrator [Sun, 21 Oct 2007 00:17:04 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r129518

16 years ago* Makefile.in (LIBGNAT_TARGET_PAIRS) Add s-tasinf-mingw.adb,
Danny Smith [Sat, 20 Oct 2007 19:48:36 +0000 (19:48 +0000)]
* Makefile.in (LIBGNAT_TARGET_PAIRS) Add s-tasinf-mingw.adb,

s-tasinf-mingw.ads, a-exetim-mingw.adb, a-exetim-mingw.ads
for win32 targets.
(EXTRA_GNATRTL_TASKING_OBJS): Add a-exetim.o for win32 targets.

From-SVN: r129515

16 years agoavr.c (avr_mcu_types): Add at90pwm2b, at90pwm3b.
Eric B. Weddington [Sat, 20 Oct 2007 19:43:59 +0000 (19:43 +0000)]
avr.c (avr_mcu_types): Add at90pwm2b, at90pwm3b.

* config/avr/avr.c (avr_mcu_types): Add at90pwm2b, at90pwm3b.
* config/avr/avr.h (LINK_SPEC): Likewise.
(CRT_BINUTILS_SPECS): Likewsie.
* config/avr/t-avr (MULTILIB_MATCHES): Likewise.

From-SVN: r129514

16 years agoinvoke.texi (Warning Options): Move -w, -Werror, -Werror= and -Wfatal-errors together.
Manuel López-Ibáñez [Sat, 20 Oct 2007 19:32:20 +0000 (19:32 +0000)]
invoke.texi (Warning Options): Move -w, -Werror, -Werror= and -Wfatal-errors together.

2007-10-20  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

* doc/invoke.texi (Warning Options): Move -w, -Werror, -Werror=
and -Wfatal-errors together.

From-SVN: r129513

16 years agovect.exp: Use -mcpu=970 instead of 7400.
David Edelsohn [Sat, 20 Oct 2007 14:48:28 +0000 (14:48 +0000)]
vect.exp: Use -mcpu=970 instead of 7400.

        * gcc.dg/vect/vect.exp: Use -mcpu=970 instead of 7400.
        * gcc.dg/vect/costmodel/ppc/ppc-costmodel-vect.exp: Same.

From-SVN: r129512

16 years agore PR target/33812 (ICE from epilogue vrsave code)
Alan Modra [Sat, 20 Oct 2007 13:11:14 +0000 (13:11 +0000)]
re PR target/33812 (ICE from epilogue vrsave code)

PR target/33812
* config/rs6000/rs6000.c (rs6000_emit_epilogue): Revert 2007-05-16
change for vrsave, ie restore after frame pop.

From-SVN: r129511

16 years agore PR fortran/33818 (Bogus error "Variable 'str' is used at (1) before the ENTRY...
Tobias Burnus [Sat, 20 Oct 2007 11:34:21 +0000 (13:34 +0200)]
re PR fortran/33818 (Bogus error "Variable 'str' is used at (1) before the ENTRY statement")

2007-10-20  Tobias Burnus  <burnus@net-b.de>

        PR fortran/33818
        * resolve.c (resolve_variable): Check that symbol is in the same
        namespace as the entry function.

2007-10-20  Tobias Burnus  <burnus@net-b.de>

        PR fortran/33818
        * gfortran.dg/entry_dummy_ref_3.f90: New.

From-SVN: r129510

16 years agostl_move.h (_GLIBCXX_MOVE): Wrap in parentheses.
Paolo Carlini [Sat, 20 Oct 2007 10:08:29 +0000 (10:08 +0000)]
stl_move.h (_GLIBCXX_MOVE): Wrap in parentheses.

2007-10-20  Paolo Carlini  <pcarlini@suse.de>

* include/bits/stl_move.h (_GLIBCXX_MOVE): Wrap in parentheses.
* include/bits/stl_algobase.h (__niter_base<>): Pass iterators
by value, as everywhere else.

From-SVN: r129509

16 years agorandom (uniform_int<>::_M_call(_UniformRandomNumberGenerator&, result_type, result_ty...
Paolo Carlini [Sat, 20 Oct 2007 10:02:09 +0000 (10:02 +0000)]
random (uniform_int<>::_M_call(_UniformRandomNumberGenerator&, result_type, result_type, true_type)): Fix small thinko.

2007-10-20  Paolo Carlini  <pcarlini@suse.de>

* include/tr1_impl/random
(uniform_int<>::_M_call(_UniformRandomNumberGenerator&, result_type,
result_type, true_type)): Fix small thinko.

From-SVN: r129506

16 years agore PR fortran/31608 (wrong types in character array/scalar binop)
Paul Thomas [Sat, 20 Oct 2007 09:27:09 +0000 (09:27 +0000)]
re PR fortran/31608 (wrong types in character array/scalar binop)

2007-10-20  Paul Thomas  <pault@gcc.gnu.org>
    FX Coudert <fxcoudert@gcc.gnu.org>

PR fortran/31608
* trans-array.c (gfc_conv_expr_descriptor): For all except
indirect references, use gfc_trans_scalar_assign instead of
gfc_add_modify_expr.
* iresolve.c (check_charlen_present): Separate creation of cl
if necessary and add code to treat an EXPR_ARRAY.
(gfc_resolve_char_achar): New function.
(gfc_resolve_achar, gfc_resolve_char): Call it.
(gfc_resolve_transfer): If the MOLD expression does not have a
character length expression, get it from a constant length.

2007-10-20  Paul Thomas  <pault@gcc.gnu.org>
    FX Coudert <fxcoudert@gcc.gnu.org>

PR fortran/31608
* gfortran.dg/char_cast_1.f90: New test.

Co-Authored-By: Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
From-SVN: r129505

16 years agoDaily bump.
GCC Administrator [Sat, 20 Oct 2007 00:17:14 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r129502

16 years agodefault_format_denormal_2.f90: xfail on FreeBSD.
Steven G. Kargl [Fri, 19 Oct 2007 23:45:00 +0000 (23:45 +0000)]
default_format_denormal_2.f90: xfail on FreeBSD.

2007-10-19  Steven G. Kargl  <kargl@gcc.gnu.org>

        * gfortran.dg/default_format_denormal_2.f90: xfail on FreeBSD.
        * gfortran.dg/large_real_kind_2.F90: ditto.
        * gfortran.dg/default_format_2.f90: ditto.
        * gfortran.dg/default_format_denormal_1.f90: ditto.

From-SVN: r129499

16 years agoniagara2.md: Fix copyright notice.
David S. Miller [Fri, 19 Oct 2007 23:15:58 +0000 (23:15 +0000)]
niagara2.md: Fix copyright notice.

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

* config/sparc/niagara2.md: Fix copyright notice.

From-SVN: r129498

16 years agore PR tree-optimization/23820 (ICE in lambda_loopnest_to_gcc_loopnest, at lambda...
Sebastian Pop [Fri, 19 Oct 2007 19:01:58 +0000 (19:01 +0000)]
re PR tree-optimization/23820 (ICE in lambda_loopnest_to_gcc_loopnest, at lambda-code.c:1982)

2007-10-19  Sebastian Pop  <sebastian.pop@amd.com>

PR tree-optimization/23820
PR tree-optimization/24309
PR tree-optimization/33766
* testsuite/gcc.dg/tree-ssa/pr23820.c: New.
* testsuite/gcc.dg/tree-ssa/pr24309.c: New.
* testsuite/gcc.dg/tree-ssa/pr33766.c: New.
* testsuite/gcc.dg/tree-ssa/ltrans-3.c: XFAILed.
* tree-loop-linear.c (perfect_loop_nest_depth): New.
(linear_transform_loops): Use perfect_loop_nest_depth.
* lambda-code.c (perfect_nest_p): Outer loops in perfect nests
should have a single condition: their exit.

From-SVN: r129494

16 years agore PR libstdc++/33815 (tr1::uniform_int isn't uniform)
Paolo Carlini [Fri, 19 Oct 2007 17:36:03 +0000 (17:36 +0000)]
re PR libstdc++/33815 (tr1::uniform_int isn't uniform)

2007-10-19  Paolo Carlini  <pcarlini@suse.de>

PR libstdc++/33815
* include/tr1_impl/random
(uniform_int<>::_M_call(_UniformRandomNumberGenerator&, result_type,
result_type, true_type)): Avoid the modulo (which uses the low-order
bits).

From-SVN: r129493

16 years agostl_algobase.h (struct __cm_assign, [...]): Add.
Paolo Carlini [Fri, 19 Oct 2007 17:04:59 +0000 (17:04 +0000)]
stl_algobase.h (struct __cm_assign, [...]): Add.

2007-10-19  Paolo Carlini  <pcarlini@suse.de>

* include/bits/stl_algobase.h (struct __cm_assign,
struct __copy_move, struct __copy_move_backward, move,
move_backward): Add.
(struct __copy, struct __copy_backward): Remove.
(__copy_aux, __copy_backward_aux): Rename to...
(__copy_move_a, __copy_move_backward_a): ... this, and
adjust calls.
(copy, copy_backward): Adjust calls.
* include/bits/streambuf_iterator.h (__copy_aux): Rename
to ...
(__copy_move_a): ... this; add bool template parameter.
* include/std/streambuf: Adjust friend declarations.
* testsuite/util/testsuite_iterators.h
(WritableObject<>::operator=(U&&)): Add.
* testsuite/25_algorithms/move/1.cc: New.
* testsuite/25_algorithms/move/requirements/
explicit_instantiation/2.cc: Likewise.
* testsuite/25_algorithms/move/requirements/
explicit_instantiation/pod.cc: Likewise.
* testsuite/25_algorithms/move_backward/1.cc: Likewise.
* testsuite/25_algorithms/move_backward/requirements/
explicit_instantiation/2.cc: Likewise.
* testsuite/25_algorithms/move_backward/requirements/
explicit_instantiation/pod.cc: Likewise.

From-SVN: r129492

16 years agore PR middle-end/33816 (gimplification before build_array_type re-set alias set of...
Richard Guenther [Fri, 19 Oct 2007 15:36:05 +0000 (15:36 +0000)]
re PR middle-end/33816 (gimplification before build_array_type re-set alias set of arrays to zero)

2007-10-19  Richard Guenther  <rguenther@suse.de>

PR middle-end/33816
PR middle-end/32921
* stor-layout.c (layout_type): Assert that aggregates do not
have their alias sets set.
* alias.c (get_alias_set): Return alias set zero for incomplete
types, return the alias set of the element for incomplete array
types, but do not remember these.

* gfortran.dg/pr32921.f: New testcase.

From-SVN: r129491

16 years agore PR fortran/33544 ([4.3 only] Warning in TRANSFER intrinsic should be made optional)
Jerry DeLisle [Fri, 19 Oct 2007 14:09:27 +0000 (14:09 +0000)]
re PR fortran/33544 ([4.3 only] Warning in TRANSFER intrinsic should be made optional)

2007-10-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libfortran/33544
* gfortran.dg/transfer_check_1.f90: Adjust options.

From-SVN: r129489

16 years agore PR fortran/33544 ([4.3 only] Warning in TRANSFER intrinsic should be made optional)
Jerry DeLisle [Fri, 19 Oct 2007 14:06:05 +0000 (14:06 +0000)]
re PR fortran/33544 ([4.3 only] Warning in TRANSFER intrinsic should be made optional)

2007-10-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/33544
* simplify.c (gfc_simplify_transfer): Only warn for short transfer when
-Wsurprising is given.
* invoke.texi: Document revised behavior.

From-SVN: r129488

16 years agorevert: re PR tree-optimization/32921 (Revision 126326 causes 12% slowdown)
Richard Guenther [Fri, 19 Oct 2007 12:27:25 +0000 (12:27 +0000)]
revert: re PR tree-optimization/32921 (Revision 126326 causes 12% slowdown)

2007-10-19  Richard Guenther  <rguenther@suse.de>

        Revert
        2007-10-19  Richard Guenther  <rguenther@suse.de>

PR middle-end/32921
* tree.c (build_array_type): Do not re-layout unbound array
types.

* gfortran.dg/pr32921.f: New testcase.

From-SVN: r129487

16 years agosignal.c (alarm_sub_i4): Mark conditionally unused parameters with __attribute__...
Ben Elliston [Fri, 19 Oct 2007 12:24:39 +0000 (12:24 +0000)]
signal.c (alarm_sub_i4): Mark conditionally unused parameters with __attribute__ ((unused)).

* intrinsics/signal.c (alarm_sub_i4): Mark conditionally unused
parameters with __attribute__ ((unused)).
(alarm_sub_i8): Likewise.
(alarm_sub_int_i4): Likewise.
(alarm_sub_int_i8): Likewise.

From-SVN: r129486

16 years ago20071018-1.c: New testcase.
Richard Guenther [Fri, 19 Oct 2007 11:38:55 +0000 (11:38 +0000)]
20071018-1.c: New testcase.

2007-10-19  Richard Guenther  <rguenther@suse.de>

        * gcc.c-torture/execute/20071018-1.c: New testcase.

From-SVN: r129485

16 years agore PR tree-optimization/32921 (Revision 126326 causes 12% slowdown)
Richard Guenther [Fri, 19 Oct 2007 11:25:55 +0000 (11:25 +0000)]
re PR tree-optimization/32921 (Revision 126326 causes 12% slowdown)

2007-10-19  Richard Guenther  <rguenther@suse.de>

PR middle-end/32921
* tree.c (build_array_type): Do not re-layout unbound array
types.

* gfortran.dg/pr32921.f: New testcase.

From-SVN: r129484

16 years agomips.c (mips_canonicalize_comparison): Check mips_relational_operand_ok_p before...
Richard Sandiford [Fri, 19 Oct 2007 09:17:17 +0000 (09:17 +0000)]
mips.c (mips_canonicalize_comparison): Check mips_relational_operand_ok_p before trying to rewrite the test.

gcc/
* config/mips/mips.c (mips_canonicalize_comparison):  Check
mips_relational_operand_ok_p before trying to rewrite the test.
Only calculate PLUS_ONE if needed.
(mips_emit_int_relational): Don't call mips_relational_operand_ok_p
here.

From-SVN: r129483

16 years agomips.c (mips16e_build_save_restore): Fix *OFFSET_PTR calculation.
Richard Sandiford [Fri, 19 Oct 2007 09:10:20 +0000 (09:10 +0000)]
mips.c (mips16e_build_save_restore): Fix *OFFSET_PTR calculation.

gcc/
* config/mips/mips.c (mips16e_build_save_restore): Fix *OFFSET_PTR
calculation.

From-SVN: r129482

16 years agomips.c (mips_call_tls_get_addr): Don't claim that the call uses the incoming value...
Richard Sandiford [Fri, 19 Oct 2007 09:06:15 +0000 (09:06 +0000)]
mips.c (mips_call_tls_get_addr): Don't claim that the call uses the incoming value of $2.

gcc/
* config/mips/mips.c (mips_call_tls_get_addr): Don't claim that
the call uses the incoming value of $2.

From-SVN: r129481

16 years agomips.c (mips_call_tls_get_addr): Use gen_const_mem rather then gen_rtx_MEM.
Richard Sandiford [Fri, 19 Oct 2007 09:03:09 +0000 (09:03 +0000)]
mips.c (mips_call_tls_get_addr): Use gen_const_mem rather then gen_rtx_MEM.

gcc/
* config/mips/mips.c (mips_call_tls_get_addr): Use gen_const_mem
rather then gen_rtx_MEM.
(mips_setup_incoming_varargs): Use gen_frame_mem rather than
gen_rtx_MEM.
(mips_set_return_address): Likewise.
(mips_restore_gp): Likewise.

From-SVN: r129480

16 years agomips.c (gpr_mode): Delete.
Richard Sandiford [Fri, 19 Oct 2007 08:56:10 +0000 (08:56 +0000)]
mips.c (gpr_mode): Delete.

gcc/
* config/mips/mips.c (gpr_mode): Delete.
(mips16e_build_save_restore): Use word_mode and UNITS_PER_WORD
instead of gpr_mode.
(mips_for_each_saved_reg): Likewise.
(mips_expand_prologue, mips_expand_epilogue): Likewise.
(override_options): Don't initialize gpr_mode.
* config/mips/mips.md (eh_return): Use word_mode instead of gpr_mode.

From-SVN: r129479

16 years agomips.c (mips_hard_regno_nregs): Put the UNITS_PER_WORD case last.
Richard Sandiford [Fri, 19 Oct 2007 08:55:02 +0000 (08:55 +0000)]
mips.c (mips_hard_regno_nregs): Put the UNITS_PER_WORD case last.

gcc/
* config/mips/mips.c (mips_hard_regno_nregs): Put the UNITS_PER_WORD
case last.
(mips_class_max_nregs): Calculate the smallest consituent register
size and use that to determine an upper bound on the number of
registers.

From-SVN: r129478

16 years agomips.c (mips16_copy_fpr_return_value): New function, split out from...
Richard Sandiford [Fri, 19 Oct 2007 08:47:47 +0000 (08:47 +0000)]
mips.c (mips16_copy_fpr_return_value): New function, split out from...

gcc/
* config/mips/mips.c (mips16_copy_fpr_return_value): New function,
split out from...
(mips_expand_epilogue): ...here.
(mips_mdebug_abi_name): New function, split out from...
(mips_file_start): ...here.
(mips_hard_regno_mode_ok_p): New function, split out from...
(override_options): ...here.
(mips_expand_builtin_1): New function, split out from...
(mips_expand_buitin): ...here.  Abort if we don't recognize
the function.

From-SVN: r129477

16 years agomips.c (build_mips16_function_stub): Load the target address into $1 before transferi...
Richard Sandiford [Fri, 19 Oct 2007 08:41:44 +0000 (08:41 +0000)]
mips.c (build_mips16_function_stub): Load the target address into $1 before transfering the arguments.

gcc/
* config/mips/mips.c (build_mips16_function_stub): Load the
target address into $1 before transfering the arguments.
Don't use ".set noreorder".
(build_mips16_call_stub): Likewise.

From-SVN: r129476

16 years agomips.c (mips_output_32bit_xfer): New function.
Richard Sandiford [Fri, 19 Oct 2007 08:30:31 +0000 (08:30 +0000)]
mips.c (mips_output_32bit_xfer): New function.

gcc/
* config/mips/mips.c (mips_output_32bit_xfer): New function.
(mips_output_64bit_xfer): Likewise.
(mips16_fp_args): Rename to...
(mips_output_args_xfer): ...this and replace the FROM_FP_P argument
with a DIRECTION argument.  Use mips_output_32bit_xfer and
mips_output_64bit_xfer.
(build_mips16_function_stub): Update accordingly.
(mips16_fpret_double): Delete.
(build_mips16_call_stub): Update after above changes.
Use mips_output_32bit_xfer.  Use mips_output_64bit_xfer instead
of mips16_fpret_double.  Use GP_REG_RETURN.

From-SVN: r129475

16 years agomips.c (mips16_fp_args): Remove the FILE argument and use asm_out_file instead.
Richard Sandiford [Fri, 19 Oct 2007 08:25:12 +0000 (08:25 +0000)]
mips.c (mips16_fp_args): Remove the FILE argument and use asm_out_file instead.

gcc/
* config/mips/mips.c (mips16_fp_args): Remove the FILE argument and
use asm_out_file instead.
(build_mips16_function_stub): Likewise.
(build_mips16_call_stub, mips_output_function_prologue): Update
accordingly.

From-SVN: r129474

16 years agoAdd Niagara-2 support.
David S. Miller [Fri, 19 Oct 2007 04:29:38 +0000 (04:29 +0000)]
Add Niagara-2 support.

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

Add Niagara-2 support.
* doc/invoke.texi: Document -m{cpu,tune}=niagara2.
* config.gcc: Add niagara2 to cpu and tune lists for sparc.
* config/sparc/sparc.md (sparc_cpu_attr): Add niagara2.
(include): Add inclusion of niagara2.md
* config/sparc/sparc.c (niagara2_costs): New.
(sparc_override_options): Add niagara2 entry to cpu_default[]
and cpu_table[].  Set align_functions to 32 on Niagara2.  Use
niagara2_costs when PROCESSOR_NIAGARA2.  Handle Niagara2 for
PARAM_SIMULTANEOUS_PREFETCHES and PARAM_L1_CACHE_LINE_SIZE.
(sparc_initialize_trampoline): Handle niagara2 like niagara.
(sparc64_initialize_trampoline): Likewise.
(sparc_use_sched_lookahead): Likewise.
(sparc_issue_rate): Likewise.
* config/sparc/sol2-bi.h: Handle TARGET_CPU_niagara2 and
mcpu=niagara2
* config/sparc/sparc.h (TARGET_CPU_niagara2): Define.
({CPP,ASM}_CPU64_DEFAULT_SPEC): Set appropriately for
TARGET_CPU_niagara2.
(PROCESSOR_NIAGARA2): New.
(REGISTER_MOVE_COST): Handle PROCESSOR_NIAGARA2.
(BRANCH_COST): Likewise.
* config/sparc/linux64.h: Handle TARGET_CPU_niagara2.
* config/sparc/sol2.h: Likewise.
* config/sparc/niagara2.md: New file.

From-SVN: r129472

16 years agore PR fortran/33795 (Environment variable GFORTRAN_UNBUFFERED_<number> not working)
Jerry DeLisle [Fri, 19 Oct 2007 04:16:14 +0000 (04:16 +0000)]
re PR fortran/33795 (Environment variable GFORTRAN_UNBUFFERED_<number> not working)

2007-10-18  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/33795
* gfortran.texi: Document GFORTRAN_UNBUFFERED_PRECONNECTED
environment variable.  Delete mention of environment variable
GFORTRAN_UNBUFFERED_n.

From-SVN: r129471

16 years agore PR fortran/33795 (Environment variable GFORTRAN_UNBUFFERED_<number> not working)
Francois-Xavier Coudert [Fri, 19 Oct 2007 04:10:58 +0000 (04:10 +0000)]
re PR fortran/33795 (Environment variable GFORTRAN_UNBUFFERED_<number> not working)

2007-10-18  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
    Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libfortran/33795
* libgfortran.h: Add unbuffered_preconnected.
* io/unix.c (output_stream): Set stream unbuffered flag if
options.unbuffered_preconnected has been set.
(error_stream): Ditto.
* runtime/environ.c (variable_table): Add to environment variable table
the entry: GFORTRAN_UNBUFFERED_PRECONNECTED.

Co-Authored-By: Jerry DeLisle <jvdelisle@gcc.gnu.org>
From-SVN: r129470

16 years agoDaily bump.
GCC Administrator [Fri, 19 Oct 2007 00:17:01 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r129468

16 years ago05_comp_ellint_2/check_nan.cc: Add -mieee for sh.
Kaz Kojima [Thu, 18 Oct 2007 23:22:23 +0000 (23:22 +0000)]
05_comp_ellint_2/check_nan.cc: Add -mieee for sh.

* testsuite/tr1/5_numerical_facilities/special_functions/
05_comp_ellint_2/check_nan.cc: Add -mieee for sh.

From-SVN: r129465

16 years agoeb130.C: Adjust include paths.
Benjamin Kosnik [Thu, 18 Oct 2007 22:23:11 +0000 (22:23 +0000)]
eb130.C: Adjust include paths.

2007-10-18  Benjamin Kosnik  <bkoz@redhat.com>

* g++.old-deja/g++.robertl/eb130.C: Adjust include paths.

From-SVN: r129464

16 years agore PR fortran/32021 (Fix,document,remove GFORTRAN_* environment variables)
Francois-Xavier Coudert [Thu, 18 Oct 2007 21:25:21 +0000 (21:25 +0000)]
re PR fortran/32021 (Fix,document,remove GFORTRAN_* environment variables)

PR libfortran/32021
* runtime/backtrace.c (local_strcasestr): Protect by appropriate
macros.
* runtime/main.c (cleanup): Cast argument to free.
* intrinsics/spread_generic.c (spread_internal): Match runtime_error
arguments and format.
* intrinsics/signal.c (alarm_sub_int_i4, alarm_sub_int_i8): Cast
pointers to avoid warnings.

From-SVN: r129463

16 years agomips.c (mips_frame_info): Remove gp_reg_size and and fp_reg_size.
Richard Sandiford [Thu, 18 Oct 2007 19:50:08 +0000 (19:50 +0000)]
mips.c (mips_frame_info): Remove gp_reg_size and and fp_reg_size.

gcc/
* config/mips/mips.c (mips_frame_info): Remove gp_reg_size and
and fp_reg_size.
(mips_compute_frame_info): Remove associated code.
(mips16e_build_save_restore): Check num_fp instead of fp_reg_size.

From-SVN: r129461

16 years agomips-protos.h (compute_frame_size): Delete.
Richard Sandiford [Thu, 18 Oct 2007 19:45:55 +0000 (19:45 +0000)]
mips-protos.h (compute_frame_size): Delete.

gcc/
* config/mips/mips-protos.h (compute_frame_size): Delete.
* config/mips/mips.h: Update comments.
* config/mips/mips.c (mips_frame_info): Remove initialized.
(compute_frame_size): Rename to...
(mips_compute_frame_info): ...this and make static.  Remove the
SIZE argument and return no value.  Remove the setting of initialized.
Update rest of file accordingly.
(mips_set_return_address): Don't call compute_frame_size.
(mips_can_use_return_insn): Don't check df_regs_ever_live_p (31).
Don't call compute_frame_size.

From-SVN: r129460

16 years agomips-protos.h (mips_frame_pointer_required): Declare.
Richard Sandiford [Thu, 18 Oct 2007 19:37:51 +0000 (19:37 +0000)]
mips-protos.h (mips_frame_pointer_required): Declare.

gcc/
* config/mips/mips-protos.h (mips_frame_pointer_required): Declare.
* config/mips/mips.h (FRAME_POINTER_REQUIRED): Use
mips_hard_frame_pointer_required.
(CAN_ELIMINATE): Rely on FRAME_POINTER_REQUIRED to check for
large MIPS16 frames.
* config/mips/mips.c (mips_frame_pointer_required): New function.

gcc/testsuite/
* gcc.target/mips/save-restore-3.c: Don't clobber $17.

From-SVN: r129459

16 years agomips.c (mips_frame_info): Add arg_pointer_offset and hard_frame_pointer_offset.
Richard Sandiford [Thu, 18 Oct 2007 19:33:46 +0000 (19:33 +0000)]
mips.c (mips_frame_info): Add arg_pointer_offset and hard_frame_pointer_offset.

gcc/
* config/mips/mips.c (mips_frame_info): Add arg_pointer_offset
and hard_frame_pointer_offset.
(mips_debugger_offset): Use hard_frame_pointer_offset.
(mips16e_collect_argument_save_p): Likewise.
(compute_frame_size): Initialize arg_pointer_offset and
hard_frame_pointer_offset.
(mips_initial_elimination_offset): Use them.
(mips_output_function_prologue): Use hard_frame_pointer_offset.
(mips_expand_prologue, mips_expand_epilogue): Likewise.

From-SVN: r129458

16 years agoallocator.h (struct __alloc_neq): Add.
Paolo Carlini [Thu, 18 Oct 2007 19:31:22 +0000 (19:31 +0000)]
allocator.h (struct __alloc_neq): Add.

2007-10-18  Paolo Carlini  <pcarlini@suse.de>

* include/bits/allocator.h (struct __alloc_neq): Add.
* include/bits/stl_list.h (list<>::_M_check_equal_allocators): Use it.

From-SVN: r129457

16 years agomips.h (STARTING_FRAME_OFFSET): Remove rtl profiling code.
Richard Sandiford [Thu, 18 Oct 2007 19:26:20 +0000 (19:26 +0000)]
mips.h (STARTING_FRAME_OFFSET): Remove rtl profiling code.

gcc/
* config/mips/mips.h (STARTING_FRAME_OFFSET): Remove rtl
profiling code.
* config/mips/mips.c (mips_frame_info): Give num_gp and num_fp type
"unsigned int" rather than "int" and put them with the other
register-related fields.  Put expanded comments above fields
rather than to their right.
(mips16e_mask_registers): Replace the GP_REG_SIZE_PTR argument
with a NUM_REGS_PTR argument.
(mips16e_save_restore_pattern_p): Update accordingly.
(compute_frame_size): Clarify frame diagram.  Rewrite.

From-SVN: r129456

16 years agomips-ftypes.def: New file.
Richard Sandiford [Thu, 18 Oct 2007 19:12:17 +0000 (19:12 +0000)]
mips-ftypes.def: New file.

gcc/
* config/mips/mips-ftypes.def: New file.
* config/mips/mips.c (MIPS_FTYPE_NAME1, MIPS_FTYPE_NAME2)
(MIPS_FTYPE_NAME3, MIPS_FTYPE_NAME4): New macros.
(mips_function_type): Redefine using mips-ftypes.def.
(dsp_bdesc): Use POINTER rather than PTR in the MIPS_*_FTYPE_* names.
(mips_builtin_vector_type): New function.
(MIPS_ATYPE_VOID, MIPS_ATYPE_INT, MIPS_ATYPE_POINTER, MIPS_ATYPE_SI)
(MIPS_ATYPE_USI, MIPS_ATYPE_DI, MIPS_ATYPE_SF, MIPS_ATYPE_DF)
(MIPS_ATYPE_V2SF, MIPS_ATYPE_V2HI, MIPS_ATYPE_V4QI, MIPS_FTYPE_ATYPES1)
(MIPS_FTYPE_ATYPES2, MIPS_FTYPE_ATYPES3, MIPS_FTYPE_ATYPES4): New
macros.
(mips_build_function_type): New function.
(mips_init_builtins): Use it to create types lazily.

From-SVN: r129455

16 years agomips.h (set_volatile): Delete.
Richard Sandiford [Thu, 18 Oct 2007 17:34:31 +0000 (17:34 +0000)]
mips.h (set_volatile): Delete.

gcc/
* config/mips/mips.h (set_volatile): Delete.
* config/mips/mips.c (set_volatile): Delete.
(mips_print_operand_punctuation): New function, split out from
print_operand.  Remove '%{', '%}', '%~', '%&' and '%!'.
Use the same character ordering in the code and the comments.
Use a recursive call to handle '*'.  Abort on unknown characters.
(mips_init_print_operand_punct): New function, split out from
override_options.
(mips_print_int_branch_condition): New function, split out from
print_operand.  Use GET_RTX_NAME.  Use output_operand_lossage
to report unexpected codes.
(mips_print_float_branch_condition): New function, split out from
print_operand.  Use output_operand_lossage to report unexpected codes.
(print_operand): Rework to use a case statement.  Use the
same letter ordering in the code and the comments.  Use
output_operand_lossage to report unexpected codes and
reverse_condition to handle inverted branch conditions.
(override_options): Use mips_init_print_operand_punct.

From-SVN: r129453

16 years agomips.h: Move variable declarations to end of file and enclose them all in #ifndef...
Richard Sandiford [Thu, 18 Oct 2007 17:27:19 +0000 (17:27 +0000)]
mips.h: Move variable declarations to end of file and enclose them all in #ifndef...

gcc/
* config/mips/mips.h: Move variable declarations to end of file and
enclose them all in #ifndef USED_FOR_TARGET.
* config/mips/mips.c: Reorder functions into more logical groups,
and so that callees appear before callers.  Put the targetm
initializer at the end of the file.  Remove forward static
declarations where possible.
(mips_init_builtins): Add "static" to definition.
(mips_expand_builtin, mips_mode_rep_extended): Likewise.

From-SVN: r129452

16 years agomips.c (TARGET_MIN_ANCHOR_OFFSET): Delete.
Richard Sandiford [Thu, 18 Oct 2007 17:20:19 +0000 (17:20 +0000)]
mips.c (TARGET_MIN_ANCHOR_OFFSET): Delete.

gcc/
* config/mips/mips.c (TARGET_MIN_ANCHOR_OFFSET): Delete.
(TARGET_MAX_ANCHOR_OFFSET): Delete.
(mips_cannot_force_const_mem): Don't check TARGET_HAVE_TLS.
(mips_set_mips16_mode): Initialize min_anchor_offset and
max_anchor_offset directly to constants.

From-SVN: r129451

16 years agomips.c: Delete trailing whitespace.
Richard Sandiford [Thu, 18 Oct 2007 17:13:06 +0000 (17:13 +0000)]
mips.c: Delete trailing whitespace.

gcc/
* config/mips/mips.c: Delete trailing whitespace.

From-SVN: r129450

16 years agomips.c (mips_expand_call): Use FAKE_CALL_REGNO.
Richard Sandiford [Thu, 18 Oct 2007 17:03:59 +0000 (17:03 +0000)]
mips.c (mips_expand_call): Use FAKE_CALL_REGNO.

gcc/
* config/mips/mips.c (mips_expand_call): Use FAKE_CALL_REGNO.
(mips_avoid_hazard): Allow multiple sets for HAZARD_DELAY,
and pick the first.
* config/mips/mips.md (load_call<mode>): Don't make the unspec
depend on FAKE_CALL_REGNO.  Set FAKE_CALL_REGNO.

From-SVN: r129449