Commit Graph

81854 Commits

Author SHA1 Message Date
Tobias Burnus
2d5b90b2fd re PR fortran/30940 (Fortran 2003: Scalar CHARACTER supplied to array dummy)
2007-07-03  Tobias Burnus  <burnus@net-b.de>

	PR fortran/30940
	* interface.c (get_sym_storage_size): New function.
	(get_sym_storage_size): New function.
	(compare_actual_formal): Enhance sequence association
	support and improve checking.

2007-07-03  Tobias Burnus  <burnus@net-b.de>

	PR fortran/30940
	* gfortran.dg/argument_checking_1.f90: New.
	* gfortran.dg/argument_checking_2.f90: New.
	* gfortran.dg/argument_checking_3.f90: New.
	* gfortran.dg/argument_checking_4.f90: New.
	* gfortran.dg/argument_checking_5.f90: New.
	* gfortran.fortran-torture/execute/st_function_1.f90: Add dg-warning.
	* gfortran.fortran-torture/execute/st_function.f90: Add dg-warning.

From-SVN: r126271
2007-07-03 21:16:42 +02:00
Geoffrey Keating
f972b2cb9d * tree.h (DECL_ALIGN): Prevent use on a FUNCTION_DECL.
From-SVN: r126270
2007-07-03 19:13:00 +00:00
Tom Tromey
0bacb8c748 c-parser.c (objc_pq_context): Removed.
* c-parser.c (objc_pq_context): Removed.
	(objc_need_raw_identifier): Likewise.
	(c_parser) <objc_pq_context>: New field.
	<objc_need_raw_identifier>: Likewise.
	(OBJC_NEED_RAW_IDENTIFIER): Removed.
	(c_lex_one_token): Update.
	(c_parser_objc_protocol_definition): Update.
	(c_parser_objc_method_definition): Update.
	(c_parser_objc_methodproto): Update.
	(c_parser_declspecs): Update.

From-SVN: r126269
2007-07-03 18:09:15 +00:00
David Ung
c849ec734c mips.c (mips_issue_rate): Return 4 for 74K processors.
gcc/
2007-07-03  David Ung  <davidu@mips.com>

	* config/mips/mips.c (mips_issue_rate): Return 4 for 74K processors.

From-SVN: r126268
2007-07-03 18:07:08 +00:00
David Ung
74d4d0244c invoke.texi: Document -march=74kf3_2.
gcc/
2007-07-03  David Ung  <davidu@mips.com>
	    Richard Sandiford  <richard@codesourcery.com>

	* doc/invoke.texi: Document -march=74kf3_2.
	* config/mips/mips.h (PROCESSOR_74KF3_2): New processor_type.
	(TUNE_74K): Check for it.
	* config/mips/mips.c (mips_cpu_info): Add 74kf3_2.
	(mips_rtx_cost_data): Add an entry for PROCESSOR_74KF3_2.
	* config/mips/mips.md (cpu): Add 74kf3_2.
	* config/mips/74k.md (r74k_int_logical, r74k_int_arith, r74k_int_nop)
	(r74k_int_cmove, r74k_int_mult, r74k_int_mul3, r74k_int_mfhilo)
	(r74k_int_mthilo, r74k_int_div, r74k_int_call, r74k_int_jump)
	(r74k_int_load, r74k_int_store, r74k_unknown, r74k_multi): Add
	74kf3_2 to the CPU list.
	(r74kf3_2_fadd, r74kf3_2_fmove, r74kf3_2_fload, r74kf3_2_fstore)
	(r74kf3_2_fmul_sf, r74kf3_2_fmul_df, r74kf3_2_fdiv_sf)
	(r74kf3_2_fdiv_df, r74kf3_2_frsqrt_sf, r74kf3_2_frsqrt_df)
	(r74kf3_2_fcmp, r74kf3_2_fcvt, r74kf3_2_fxfer_to_c1)
	(r74kf3_2_fxfer_from_c1): New insn reservations.

Co-Authored-By: Richard Sandiford <richard@codesourcery.com>

From-SVN: r126267
2007-07-03 18:00:06 +00:00
Richard Sandiford
bdd77024de invoke.texi: Replace -march=24kf with -march=24kf2_1 and -march=24kx with -march=24kf1_1.
gcc/
2007-07-03  Richard Sandiford  <richard@codesourcery.com>
	    David Ung  <davidu@mips.com>

	* doc/invoke.texi: Replace -march=24kf with -march=24kf2_1 and
	-march=24kx with -march=24kf1_1.  Likewise 24ke[fx], 34k[fx]
	and 74k[fx].  Document aliases for the new options.
	* config/mips/mips.h (PROCESSOR_24KF): Rename to...
	(PROCESSOR_24KF2_1): ...this.
	(PROCESSOR_24KX): Rename to...
	(PROCESSOR_24KF1_1): ...this.
	(PROCESSOR_74KF): Rename to...
	(PROCESSOR_74KF2_1): ...this.
	(PROCESSOR_74KX): Rename to...
	(PROCESSOR_74KF1_1): ...this.
	(TUNE_74K): Update PROCESSOR_* names.
	* config/mips/mips.c (mips_cpu_info): Add 24kf2_1 as a synonym
	for 24kf.  Add 24kf1_1 and 24kfx as synonyms for 24kx.  Likewise
	the 24ke*, 34k* and 74k* processors.  Update PROCESSOR_* names.
	(mips_rtx_cost_data): Update processor names in comments.
	(mips_issue_rate): Update PROCESSOR_* names.
	* config/mips/mips.md (cpu): Rename 24kf to 24kf2_1, 24kx to
	24kf1_1, 74kf to 74kf2_1 and 74kx to 74kf1_1.
	* config/mips/24k.md: Rename FPU-related r24k_* insn reservations
	to r24kf2_1_*.  Rename r24kx_* insn reservations to r24kf1_1_*.
	Update cpu attribute names.
	(r24k_fpu_iss): Rename this reservation to...
	(r24kf2_1_fpu_iss): ...this and update all uses.
	(r24kx_fpu_iss): Rename this reservation to...
	(r24kf1_1_fpu_iss): ...this and update all uses.
	* config/mips/74k.md: Rename FPU-related r74kf_* insn reservations
	to r74kf2_1_*.  Rename r74kx_* insn reservations to r74kf1_1_*.
	Update cpu attribute names.

Co-Authored-By: David Ung <davidu@mips.com>

From-SVN: r126266
2007-07-03 17:34:59 +00:00
Kaz Kojima
fbaeb717be constraints.md: New file.
* config/m32r/constraints.md: New file.
* config/m32r/m32r.c: Include tm-constrs.h.
  (small_data_operand): Use satisfies_constraint_* instead of macro.
  (addr24_operand, gen_compare): Likewise.
* config/m32r/m32r.h (REG_CLASS_FROM_LETTER): Remove.
  (INT8_P, UPPER16_P, UINT32_P, UINT5_P, INVERTED_SIGNED_8BIT,
  CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT): Likewise.
* config/m32r/m32r.md: Include constraints.md.
  (movsi_insn): Use satisfies_constraint_* instead of macro.
  (andsi3, iorsi3, xorsi3, seq_insn+1, sne): Likewise.
* config/m32r/predicates.md (conditional_move_operand): Likewise.
  (two_insn_const_operand, int8_operand, uint16_operand,
   reg_or_int16_operand, reg_or_uint16_operand,
   reg_or_cmp_int16_operand, cmp_int16_operand,
   seth_add3_operand): Likewise.

From-SVN: r126265
2007-07-03 16:56:20 +00:00
Janne Blomqvist
db430f6a2a Fortran frontend:
2007-07-03  Janne Blomqvist  <jb@gcc.gnu.org>

	* trans-decl.c (gfc_build_builtin_function_decls): Mark
	internal_realloc as a malloc function.

libgfortran:

2007-07-03  Janne Blomqvist  <jb@gcc.gnu.org>

	* libgfortran.h: Mark internal_malloc_size as a malloc function.
	* runtime/memory.c (internal_realloc_size): Remove.
	(internal_realloc): Call realloc directly instead of
	internal_realloc_size.
	(allocate_size): Remove.
	(allocate): Call malloc directly instead of allocate_size, mark as
	malloc function.

From-SVN: r126264
2007-07-03 19:50:05 +03:00
Eric Christopher
66965e9094 libgcc2.h: Conditionally declare __bswapsi2 and __bswapdi2.
2007-07-03  Eric Christopher  <echristo@gmail.com>

        * libgcc2.h: Conditionally declare __bswapsi2 and
        __bswapdi2.

From-SVN: r126263
2007-07-03 16:35:20 +00:00
Richard Guenther
e656a4656e re PR c++/32609 (ICE in htab_clear_slot at libiberty/hashtab.c:722)
2007-07-03  Richard Guenther  <rguenther@suse.de>

	PR c++/32609
	* class.c (fixed_type_or_null): Re-lookup the hashtable slot
	after recursing.

From-SVN: r126262
2007-07-03 15:29:19 +00:00
Julian Brown
6ba6728370 MAINTAINERS (Write After Approval): Add myself.
* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r126260
2007-07-03 15:03:28 +00:00
H.J. Lu
72b31363fb ddg.c (check_sccs): Define only if ENABLE_CHECKING is defined.
2007-07-03  H.J. Lu  <hongjiu.lu@intel.com>

	* ddg.c (check_sccs): Define only if ENABLE_CHECKING is
	defined.

From-SVN: r126258
2007-07-03 07:19:33 -07:00
Uros Bizjak
8f7bdf1842 ChangeLog: Forgot to commit with my last change.
* testsuite/ChangeLog: Forgot to commit with my last change.

From-SVN: r126257
2007-07-03 15:55:37 +02:00
Uros Bizjak
16290cf8ee * gcc.dg/pr32176.c: Add -w to default dg-options.
From-SVN: r126256
2007-07-03 15:47:59 +02:00
Rainer Orth
b36e79e550 re PR target/28307 (pthread functions in libgcc not weak any more on Tru64 UNIX)
PR target/28307
	* gthr-posix.h [SUPPORTS_WEAK && GTHREAD_USE_WEAK]
	(__gthrw_pragma): Provide default definition.
	(__gthrw2): Use it.
	* gthr-posix.c (__gthrw_pragma): Define.

From-SVN: r126253
2007-07-03 13:41:00 +00:00
Daniel Berlin
78d3c323b9 tree-ssa-sccvn.c (set_ssa_val_to): Check for operand_equal_p before declaring inequality.
2007-07-03  Daniel Berlin  <dberlin@dberlin.org>

	* tree-ssa-sccvn.c (set_ssa_val_to): Check for operand_equal_p
	before declaring inequality.

From-SVN: r126252
2007-07-03 12:55:13 +00:00
Rask Ingemann Lambertsen
b6bcd67696 combine.c (recog_for_combine): Log the success or failure of matching new insn patterns against the machine...
* combine.c (recog_for_combine): Log the success or failure of
	  matching new insn patterns against the machine description in
	  detailed dumps.

From-SVN: r126251
2007-07-03 12:45:31 +00:00
Revital Eres
8cec1624c5 modulo-sched: print sccs and check it
From-SVN: r126249
2007-07-03 10:27:19 +00:00
Tobias Burnus
bb9e683e79 re PR fortran/20888 (dereferencing NULL still accepted)
2007-07-03  Tobias Burnus  <burnus@net-b.de>

	PR fortran/20888
	* resolve.c (resolve_operator): Check for NULL as operand.

2007-07-03  Tobias Burnus  <burnus@net-b.de>

	PR fortran/20888
	* gfortran.dg/null_2.f90: New.

From-SVN: r126247
2007-07-03 10:02:08 +02:00
Ralf Wildenhues
30b74385c7 configure.ac: Rewrite 'configure --help' strings to look nicer.
2007-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* configure.ac: Rewrite 'configure --help' strings to look nicer.
	* configure: Regenerate.

2007-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* configure.ac: Add some missing m4 quotation.
	* configure: Regenerate.

From-SVN: r126246
2007-07-03 09:06:26 +02:00
Uros Bizjak
2f575701c6 re PR middle-end/32176 (ICE tree-type mismatch: expected integer_cst, have plus_expr in int_cst_value, at tree.c:7720)
PR middle-end/32176
	* gcc.dg/pr32176.c: New test.


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

From-SVN: r126245
2007-07-03 08:35:05 +02:00
Uros Bizjak
c77cd3d140 cpplib.h (CPP_N_WIDTH_MD, [...]): Add new constants.
libcpp/ChangeLog:

	* include/cpplib.h (CPP_N_WIDTH_MD, CPP_N_MD_W, CPP_N_MD_Q):
	Add new constants.
	* expr.c (interpret_float_suffix): Process 'w', 'W', 'q' and 'Q'
	suffixes.  Return CPP_N_MD_W for 'w' or 'W' suffixes and CPP_N_MD_Q
	for 'q' or 'Q' suffixes.

gcc/ChangeLog:

	* targhooks.h (default_mode_for_suffix): New function declaration.
	* targhooks.c (default_mode_for_suffix): New default target hook.
	* target.h (struct c): New structure in the targetm struct.
	(mode_for_suffix): New target hook as part of struct c.
	target-def.h (TARGET_C_MODE_FOR_SUFFIX): Define as
	default_mode_for_suffix.
	(TARGET_C): New define.
	* c-lex.c: Include "target.h".
	(interpret_float): Use targetm.c.mode_for_suffix to determine
	the mode for a given non-standard suffix.
	Makefile.in (c-lex.o): Depend on $(TARGET_H).

	* config/i386/i386.c (ix86_c_mode_for_suffix): New static function.
	(TARGET_C_MODE_FOR_SUFFIX): Define to ix86_c_mode_for_suffix.

	* doc/extend.texi (Floating Types): New node.  Document __float80 and
	__float128 types.  Document 'w', 'W', 'q' and 'Q' suffixes.

testsuite/ChangeLog:

	* gcc.dg/const-float80.c : New test.
	* gcc.dg/const-float128.c : New test.
	* gcc.dg/const-float80-ped.c : New test.
	* gcc.dg/const-float128-ped.c : New test.

From-SVN: r126244
2007-07-03 07:53:58 +02:00
Kaz Kojima
1ed50f7194 re PR target/32506 (cross compile sh64-superh-linux-gnu internal compiler error: in change_address_1, at emit-rtl.c:1800)
PR target/32506
	* config/sh/sh.md (udivsi3_i1_media): Use target_reg_operand
	predicate instead of target_operand.
	(divsi3_i1_media, divsi3_media_2): Likewise.

From-SVN: r126243
2007-07-03 04:01:35 +00:00
GCC Administrator
370f20446d Daily bump.
From-SVN: r126241
2007-07-03 00:16:54 +00:00
Steven G. Kargl
8eacc23d94 [multiple changes]
2007-07-02  Steven G. Kargl  <kargl@gcc.gnu.org>

	Restore collateral damage from ISO C Binding merge.

        2007-06-29  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/32456
	* io/unit.c (filename_from_unit): Don't use find_unit, instead search
	for unit directly.

From-SVN: r126238
2007-07-02 23:29:27 +00:00
Kaveh R. Ghazi
5cc4845564 c99-math.h: Fix typo.
* gcc.dg/c99-math.h: Fix typo.

From-SVN: r126235
2007-07-02 21:27:45 +00:00
Eric Botcazou
836f779495 tree.h (alias_sets_might_conflict_p): Rename into alias_sets_must_conflict_p.
* tree.h (alias_sets_might_conflict_p): Rename into
	alias_sets_must_conflict_p.
	* alias.c (alias_sets_might_conflict_p): Likewise.
	(alias_sets_conflict_p): Use it.
	(objects_must_conflict_p): Likewise.
	* c-common.c (strict_aliasing_warning): Adjust.

From-SVN: r126233
2007-07-02 20:01:32 +00:00
Steven G. Kargl
f4e9e7fa00 Makefile.in: Regenerated with automake 1.9.6.
2007-07-02  Steven G. Kargl  <kargl@gcc.gnu.org>

        * Makefile.in:  Regenerated with automake 1.9.6.

From-SVN: r126232
2007-07-02 19:46:19 +00:00
Andrew Pinski
e4950e42af rtlhooks.c (gen_lowpart_if_possible): Check for invalid subreg before calling gen_lowpart_SUBREG.
2007-07-02  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        * rtlhooks.c (gen_lowpart_if_possible): Check for
        invalid subreg before calling gen_lowpart_SUBREG.

From-SVN: r126230
2007-07-02 12:40:30 -07:00
Geoffrey Keating
22f70bffdd darwin9.h: Add copyright notice.
* config/darwin9.h: Add copyright notice.
	(LINK_COMMAND_SPEC): Add comment.
	(DARWIN_LIBSYSTEM_HAS_UNWIND): Define.
	* config/rs6000/darwin.h (MD_UNWIND_SUPPORT): Conditionalise on
	DARWIN_LIBSYSTEM_HAS_UNWIND.

From-SVN: r126229
2007-07-02 19:36:14 +00:00
Jakub Jelinek
69f1837b81 re PR libgomp/32468 (number of threads in a parallel region depends on number of SECTIONs and MAX_THREADS)
PR libgomp/32468
	* omp-low.c (check_combined_parallel): New function.
	(lower_omp_parallel): Call it via walk_stmts, set
	OMP_PARALLEL_COMBINED if appropriate.
	(determine_parallel_type): If OMP_FOR resp. OMP_SECTIONS
	isn't the only statement in WS_ENTRY_BB or OMP_RETURN
	the only one in PAR_EXIT_BB and not OMP_PARALLEL_COMBINED,
	don't consider it as combined parallel.

	* gcc.dg/gomp/pr32468-1.c: New test.

From-SVN: r126226
2007-07-02 21:22:47 +02:00
Richard Sandiford
15c723f39f configure.ac (gcc_gxx_include_dir): Use $(libsubdir_to_prefix).
gcc/
	* configure.ac (gcc_gxx_include_dir): Use $(libsubdir_to_prefix).
	(gcc_tooldir): Likewise.
	* configure: Regenerate.
	* Makefile.in (libsubdir_to_prefix): New variable, based on the
	old configure.ac gcc_tooldir setting.
	(prefix_to_exec_prefix): New variable.
	(DRIVER_DEFINES): Use $(libsubdir_to_prefix)$(prefix_to_exec_prefix)
	rather than $(unlibsubdir)/../ to derive TOOLDIR_BASE_PREFIX.

From-SVN: r126225
2007-07-02 19:20:33 +00:00
Jakub Jelinek
4f9c450c2f re PR libgomp/32468 (number of threads in a parallel region depends on number of SECTIONs and MAX_THREADS)
PR libgomp/32468
	* sections.c (GOMP_parallel_sections_start): Only decrease
	number of threads to COUNT if dyn_var is true.
	* testsuite/libgomp.c/pr32468.c: New test.

From-SVN: r126224
2007-07-02 21:19:28 +02:00
Richard Sandiford
83cc1ba13d mips.exp (setup_mips_tests): Treat -mfp* as an ABI option.
gcc/testsuite/
	* gcc.target/mips/mips.exp (setup_mips_tests): Treat -mfp* as
	an ABI option.

From-SVN: r126223
2007-07-02 19:08:33 +00:00
Daniel Berlin
f8b041959a Fix PR tree-optimization/32583 Fix PR tree-optimization/32584
2007-07-02  Daniel Berlin  <dberlin@dberlin.org>

	Fix PR tree-optimization/32583
	Fix PR tree-optimization/32584
	* tree-ssa-pre.c (phi_translate): Always pass seen bitmap.
	(phi_translate_set): Use phi_translate directly now.
	(make_values_for_stmt): Don't value number RHS if we already know
	it is constant.

From-SVN: r126222
2007-07-02 18:27:46 +00:00
Simon Baldwin
943c54ce49 MAINTAINERS (Write After Approval): Add myself.
2007-07-02  Simon Baldwin  <simonb@google.com>

        * MAINTAINERS (Write After Approval): Add myself.

From-SVN: r126221
2007-07-02 18:08:56 +00:00
Steven G. Kargl
0afff512bb Makefile.in: Remove extraneous kill.lo rule.
2007-07-02  Steven G. Kargl  <kargl@gcc.gnu.org>

        * Makefile.in:  Remove extraneous kill.lo rule.

From-SVN: r126220
2007-07-02 18:01:09 +00:00
Simon Baldwin
2a7b8343cb parser.c (cp_parser_elaborated_type_specifier): Added a warning for inner-style nested forward declarations that don't declare...
2007-07-02  Simon Baldwin  <simonb@google.com>

        * parser.c (cp_parser_elaborated_type_specifier): Added a warning
        for inner-style nested forward declarations that don't declare
        anything useful.

From-SVN: r126219
2007-07-02 17:57:57 +00:00
Ollie Wild
d49343266b using16.C: Merge dg-errors with common line.
* g++.dg/lookup/using16.C: Merge dg-errors with common line.
	* g++.dg/lookup/using17.C: Merge dg-errors with common line.

From-SVN: r126218
2007-07-02 17:28:53 +00:00
Simon Baldwin
38bb34854d argv.c (writeargv): Removed declaration of unused variable.
2007-07-02  Simon Baldwin <simonb@google.com>

        * argv.c (writeargv): Removed declaration of unused variable.

From-SVN: r126217
2007-07-02 17:25:37 +00:00
Steve Ellcey
0574253001 re PR target/31684 (ICE in get_attr_first_insn, at config/ia64/itanium2.md:1839 at -O2)
PR target/31684
	* haifa-sched.c (add_to_speculative_block): Change copy_rtx to
	copy_insn.

Co-Authored-By: James E Wilson <wilson@specifixinc.com>

From-SVN: r126216
2007-07-02 17:15:35 +00:00
Janne Blomqvist
f6b55636d8 Forgot to delete these during yesterdays commit.
2007-07-02  Janne Blomqvist  <jb@gcc.gnu.org>

	PR fortran/32239
	* generated/pow_r*_i4.c: Removed.

From-SVN: r126215
2007-07-02 19:21:37 +03:00
Uros Bizjak
312360e86e ChangeLog: Add following to my previous description:
* ChangeLog: Add following to my previous description:

        (if_convertible_loop_p): Clear aux field of incoming edges if bb
        contains phi node.

From-SVN: r126214
2007-07-02 17:15:39 +02:00
Rainer Orth
28e2ff77f2 re PR boehm-gc/21940 (boehm-gc gctest fails on Solaris 10/x86)
PR boehm-gc/21940
	PR boehm-gc/21942
	* configure.ac (GC_SOLARIS_THREADS): Don't define on *-*-solaris*.
	Use alternate thread library in /usr/lib/lwp.
	* configure: Regenerate.
	* dyn_load.c: Use GC_SOLARIS_PTHREADS.
	* include/gc_config_macros.h (GC_SOLARIS_THREADS): Don't define.
	* include/private/gcconfig.h: Handle 64-bit Solaris 2/x86.
	(GC_SOLARIS_THREADS): Don't define.
	* include/private/solaris_threads.h: Remove.
	* pthread_support.c (GC_thr_init) [GC_SOLARIS_PTHREADS]: Determine
	GC_nprocs via sysconf().
	* Makefile.am (libgcjgc_la_SOURCES): Remove solaris_pthreads.c and
	solaris_threads.c.
	(gctest_LDADD): Use THREADLIBS instead of THREADDLLIBS.
	* Makefile.in: Regenerate.	 
	* solaris_pthreads.c: Remove.
	* solaris_threads.c: Remove.

From-SVN: r126211
2007-07-02 14:56:58 +00:00
Rainer Orth
a3b7729c66 re PR libgcj/30513 (Bootstrap failure with libgcj on sparc-sun-solaris2.10)
PR libgcj/30513
	* configure.host (i[3-6]86-*): Undef sun.

From-SVN: r126210
2007-07-02 14:48:28 +00:00
Rainer Orth
28c67ed737 re PR libgomp/26308 (libgomp bootstrap failure on Tru64 UNIX V4.0F)
PR libgomp/26308
	* config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.

From-SVN: r126208
2007-07-02 14:38:13 +00:00
Richard Sandiford
e12605764d mips-protos.h (mips16e_save_restore_info): New struct.
gcc/
2007-07-02  Sandra Loosemore  <sandra@codesourcery.com>
	    Richard Sandiford  <richard@codesourcery.com>
	    Nigel Stephens  <nigel@mips.com>

	* config/mips/mips-protos.h (mips16e_save_restore_info): New struct.
	(mips16e_output_save_restore): Declare.
	(mips16e_save_restore_pattern_p): Likewise.
	* config/mips/mips.h (GENERATE_MIPS16E_SAVE_RESTORE): New macro.
	* config/mips/mips.c (MIPS_MAX_FIRST_STACK_STEP): Return 0x7f8
	for GENERATE_MIPS16E_SAVE_RESTORE.  Return 0x400 for TARGET_MIPS16
	&& !GENERATE_MIPS16E_SAVE_RESTORE && !TARGET_64BIT.
	(BITSET_P): New global macro, extracted from...
	(mips_for_each_saved_reg): ...here.
	(mips16e_save_restore_info): New struct.
	(mips16e_s2_s8_regs, mips16e_a0_a3_regs): New variables.
	(mips16e_save_restore_regs): New variable.
	(mips_split_plus, mips16e_find_first_register): New functions.
	(mips16e_mask_registers): New function.
	(compute_frame_size): Expand the commentary before the function.
	Enforce the MIPS16e save and restore register range restrictions.
	Pad the general register save area at the low end.
	(mips16e_save_restore_reg, mips16e_build_save_restore)
	(mips16e_save_restore_pattern_p, mips16e_add_register_range)
	(mips16e_output_save_restore, mips16e_collect_propagate_value)
	(mips16e_collect_argument_save, mips16e_collect_argument_saves):
	New functions.
	(mips_expand_prologue, mips_expand_epilogue): Handle
	GENERATE_MIPS16E_SAVE_RESTORE.
	* config/mips/mips.md (*mips16e_save_restore): New pattern.

gcc/testsuite/
	* gcc.target/mips/save-restore-1.c: New test.
	* gcc.target/mips/save-restore-2.c: Likewise.
	* gcc.target/mips/save-restore-3.c: Likewise.
	* gcc.target/mips/save-restore-4.c: Likewise.

From-SVN: r126207
2007-07-02 14:37:15 +00:00
Uros Bizjak
8ad0217501 re PR tree-optimization/31966 (Miscompiles valid code with -ftree-vectorize)
PR tree-optimization/31966
	PR tree-optimization/32533
	* tree-if-conv.c (add_to_dst_predicate_list): Use "edge", not
	"basic_block" description as its third argument.  Update function
	calls to get destination bb from "edge" argument.  Save "cond" into
	aux field of the edge.  Update prototype for changed arguments.
	(find_phi_replacement_condition): Operate on incoming edges, not
	on predecessor blocks.  If there is a condition saved in the
	incoming edge aux field, AND it with incoming bb predicate.
	Return source bb of the first edge.
	(clean_predicate_lists): Clean aux field of outgoing node edges.
	(tree_if_conversion): Do not initialize cond variable. Move
	variable declaration into the loop.
	(replace_phi_with_cond_gimple_modify_stmt): Remove unneded
	initializations of new_stmt, arg0 and arg1 variables.

testsuite/ChangeLog:

	PR tree-optimization/31966
	PR tree-optimization/32533
	* gcc.dg/tree-ssa/pr31966.c: New runtime test.
	* gfortran.dg/pr32533.f90: Ditto.

From-SVN: r126206
2007-07-02 16:26:11 +02:00
Kenneth Zadeck
bc90eb85d9 Fixed Changelog entry on unreverted patch.
From-SVN: r126205
2007-07-02 14:01:31 +00:00
Richard Biener
72ad03ef9f ChangeLog: Remove conflict marker, fix typo in date.
2007-07-02  Richard Guenther  <rguenther@suse.de>

	* testsuite/ChangeLog: Remove conflict marker, fix typo in date.

From-SVN: r126204
2007-07-02 13:29:57 +00:00