Commit Graph

78258 Commits

Author SHA1 Message Date
Douglas Gregor
3d761c462a pt.c (tsubst): Propagate the need for structural equality checks when...
2007-01-04  Douglas Gregor  <doug.gregor@gmail.com>

	* pt.c (tsubst): Propagate the need for structural equality checks
	when reducing the level of template parameters.

From-SVN: r120483
2007-01-05 14:16:48 +00:00
Richard Biener
a4f77ff7d3 re PR middle-end/28116 (ICE when building konverter with gcc-4.1 with -O3 [RSO])
2007-01-05  Richard Guenther  <rguenther@suse.de>

	PR middle-end/28116
	* g++.dg/opt/pr28116.C: New testcase.

From-SVN: r120482
2007-01-05 14:00:46 +00:00
Jan Hubicka
9477eb38c6 tree-inline.c (fold_marked_statements): Update operand caches and EH after folding
* tree-inline.c (fold_marked_statements): Update operand caches
	and EH after folding

From-SVN: r120477
2007-01-05 12:18:21 +00:00
Tobias Burnus
f17facacf2 re PR fortran/29624 (Fortran 2003: Support intent for pointers)
fortran/
2007-01-05  Tobias Burnus  <burnus@net-b.de>

        PR fortran/29624
        * interface.c (compare_parameter_intent): New function.
          (check_intents): Support pointer intents.
        * symbol.c (check_conflict): Support pointer intents,
          better conflict_std message.
        * expr.c (gfc_check_assign,gfc_check_pointer_assign):
          Support pointer intents.
        * resolve.c (resolve_deallocate_expr,resolve_allocate_expr):
          Support pointer intents.

testsuite/
2006-01-05  Tobias Burnus  <burnus@net-b.de>

        PR fortran/29624
        * gfortran.dg/alloc_alloc_expr_1.f90: Add check for
          invalid deallocate.
        * gfortran.dg/allocatable_dummy_2.f90: Update dg-error.
        * gfortran.dg/protected_4.f90: Add pointer intent check.
        * gfortran.dg/protected_6.f90: Add pointer intent check.
        * gfortran.dg/pointer_intent_1.f90: New test.
        * gfortran.dg/pointer_intent_2.f90: New test.
        * gfortran.dg/pointer_intent_3.f90: New test.

From-SVN: r120472
2007-01-05 10:08:37 +01:00
Gerald Pfeifer
150f069c1c crontab: Spread snapshots more evenly throughout the week, and in "ascending" order.
* crontab: Spread snapshots more evenly throughout the week, and
	in "ascending" order.  Build all at the same time of the day.

From-SVN: r120471
2007-01-05 08:34:18 +00:00
Ian Lance Taylor
dfd0a3de8f * c-common.c (check_function_nonnull): Whitespace fix.
From-SVN: r120470
2007-01-05 06:16:56 +00:00
Jan Hubicka
59e504989c tree-optimize.c (execute_fixup_cfg): Correct previously mistakely comitted older version of patch.
* tree-optimize.c (execute_fixup_cfg): Correct previously mistakely
	comitted older version of patch.
	(pass_fixup_cfg): Add TODOs to verify flow and statements, dump
	function, celanup cfg and collect garbage.

From-SVN: r120469
2007-01-05 02:00:56 +00:00
Brooks Moses
c79441520f re PR fortran/30371 (kill suboutine accepts (invalid) array arguments.)
PR 30371
* check.c (gfc_check_kill_sub): Add checks for non-scalar
arguments.

From-SVN: r120468
2007-01-04 17:40:06 -08:00
Brooks Moses
ea8dda63be intrinsic.texi: Minor cleanup, reflowing overlong paragraphs, and correcting whitespace.
* intrinsic.texi: Minor cleanup, reflowing overlong
paragraphs, and correcting whitespace.

From-SVN: r120467
2007-01-04 17:26:27 -08:00
Brooks Moses
bc5b7642eb intrinsic.texi (LBOUND): Add documentation.
* intrinsic.texi (LBOUND): Add documentation.
(LGE): Add documentation.
(LGT): Add documentation.
(LINK): Add documentation.
(LLE): Add documentation.
(LLT): Add documentation.
(LNBLNK): Add documentation.
(UBOUND): Add documentation.
(UNLINK): Add documentation.

From-SVN: r120466
2007-01-04 16:42:04 -08:00
Mike Stump
a87948f7fb Makefile.in (mostlyclean): Don't remove libgcc anymore.
* Makefile.in (mostlyclean): Don't remove libgcc anymore.
	(clean): Likewise.

From-SVN: r120465
2007-01-05 00:38:22 +00:00
GCC Administrator
081b57d3c1 Daily bump.
From-SVN: r120463
2007-01-05 00:17:36 +00:00
Ben Elliston
46bbeb652c Revert revision 120457.
From-SVN: r120458
2007-01-05 11:03:35 +11:00
Ben Elliston
93c5d31c00 strstream.cc (strstreambuf::seekoff): Add parentheses around truth expression to eliminate a new warning from g++.
* src/strstream.cc (strstreambuf::seekoff): Add parentheses around
	truth expression to eliminate a new warning from g++.

From-SVN: r120457
2007-01-05 10:43:14 +11:00
Brooks Moses
b0088af7b1 * Makefile.in: Added .PHONY entry for documentation targets.
From-SVN: r120456
2007-01-04 15:43:11 -08:00
Brooks Moses
e0a9456adf * Makefile.in: Add empty info, html, dvi, pdf targets.
From-SVN: r120455
2007-01-04 15:27:33 -08:00
Eric Christopher
e4b6bec2f1 libgcc2.c (__bswapsi2): Use SItype.
2007-01-04  Eric Christopher  <echristo@apple.com>

	    * libgcc2.c (__bswapsi2): Use SItype.
	      (__bswapdi2): Use DItype.
	    * libgcc2.h: Update for above.

From-SVN: r120454
2007-01-04 23:16:34 +00:00
Paul Brook
d6c397b0ff arm.md (arm_mulsi3, [...]): Make conditional on !arm_arch6.
2007-01-04  Paul Brook  <paul@codesourcery.com>

	* config/arm/arm.md (arm_mulsi3, thumb_mulsi3, mulsi3_compare0,
	mulsi_compare0_scratch, mulsi3addsi, mulsi3addsi_compare0,
	mulsi3addsi_compare0_scratch, mulsidi3adddi, mulsidi3,
	umulsidi3, umulsidi3adddi, smulsi3_highpart,
	umulsi3_highpart): Make conditional on !arm_arch6.
	(arm_mulsi3_v6, thumb_mulsi3_v6, mulsi3_compare0_v6,
	mulsi_compare0_scratch_v6, mulsi3addsi_v6, mulsi3addsi_compare0_v6,
	mulsi3addsi_compare0_scratch_v6, mulsidi3adddi_v6, mulsidi3_v6,
	umulsidi3_v6, umulsidi3adddi_v6, smulsi3_highpart_v6,
	umulsi3_highpart_v6): New insns.

From-SVN: r120453
2007-01-04 23:13:55 +00:00
Brooks Moses
6d413586e0 intrinsic.texi (IAND): Clarify argument specifications.
* intrinsic.texi (IAND): Clarify argument specifications.
(IBCLR): Add documentation.
(IBITS): Add documentation.
(IBSET): Add documentation.
(IEOR): Add documentation.
(IERRNO): Add documentation.
(INDEX): Add documentation.
(IOR): Add documentation.
(ISHFT): Add documentation.
(ISHFTC): Add documentation.
(KILL): Add documentation.
(LEN_TRIM): Add documentation.

From-SVN: r120452
2007-01-04 15:00:41 -08:00
Roger Sayle
bd7e4636d9 fold-const.c (fold_convert): When casting an expression to void...
* fold-const.c (fold_convert): When casting an expression to void,
	fold_ignored_result may discover a GIMPLE_MODIFY_STMT which doesn't
	have a type.  Instead of attempting to build a NOP_EXPR, return
	these "special" trees directly.

From-SVN: r120451
2007-01-04 23:00:00 +00:00
Mike Stump
7fd453b4a2 Makefile.in (MAKEINFO): Remove.
* Makefile.in (MAKEINFO): Remove.
	(PERL): Likewise.

From-SVN: r120450
2007-01-04 21:54:45 +00:00
Paolo Bonzini
14e8fc8b03 configure.ac: Add GCC_TOPLEV_SUBDIRS.
2007-01-04  Paolo Bonzini  <bonzini@gnu.org>

	* configure.ac: Add GCC_TOPLEV_SUBDIRS.
	* configure: Regenerate.
	* Makefile.in (host_subdir): Substitute it.
	(gcc_objdir): Use it.

From-SVN: r120449
2007-01-04 18:12:08 +00:00
Brooks Moses
3ab7b3def2 re PR fortran/30235 ([4.1 only] missing alternate return argument with explicit interface causes segfault)
fortran/
	PR 30235
	* interface.c (compare_actual_formal): check for
	alternate returns when iterating over non-present
	arguments.

testsuite/
	PR 30235
	* gfortran.dg/altreturn_2.f90: new test.

From-SVN: r120447
2007-01-04 09:30:37 -08:00
Brooks Moses
5f9a37a648 * invoke.texi: Update manpage copyright to include 2007.
From-SVN: r120445
2007-01-04 09:09:34 -08:00
Brooks Moses
2553e4e073 gfortran.texi: Update copyright to include 2007.
* gfortran.texi: Update copyright to include 2007.
* intrinsic.texi: Update copyright to include 2007.
* invoke.texi: Update copyright to include 2007.

From-SVN: r120444
2007-01-04 08:52:36 -08:00
Daniel Jacobowitz
1555beba2f * config.host (ia64*-*-linux*): Set tmake_file.
From-SVN: r120443
2007-01-04 16:52:02 +00:00
Joseph Myers
762c919f44 rs6000.c (rs6000_rtx_costs): Make adjustment for MULT inside MINUS as either argument.
* config/rs6000/rs6000.c (rs6000_rtx_costs): Make adjustment for
	MULT inside MINUS as either argument.  Use rs6000_cost->dmul -
	rs6000_cost->fp not 0 as adjustment for outer NEG.

From-SVN: r120442
2007-01-04 16:36:57 +00:00
Tom Tromey
705e2d28a1 re PR preprocessor/28165 (_Pragma GCC system_header broken)
libcpp
	PR preprocessor/28165:
	* internal.h (cpp_in_primary_file): New function.
	* directives.c (do_include_next): Use cpp_in_primary_file.
	(do_pragma_once): Likewise.
	(do_pragma_system_header): Likewise.
gcc/testsuite
	PR preprocessor/28165:
	* gcc.dg/cpp/pr28165.c: New file.

From-SVN: r120441
2007-01-04 15:32:26 +00:00
Daniel Jacobowitz
79e6eaeb8f * Makefile.in (version): Define.
From-SVN: r120440
2007-01-04 14:20:15 +00:00
Paolo Bonzini
3dd7172662 commit changelog entry for last commit
From-SVN: r120439
2007-01-04 14:10:50 +00:00
Jan Hubicka
3a40c18a68 cgraph.c (cgraph_release_function_body): New function.
* cgraph.c (cgraph_release_function_body): New function.
	(cgraph_remove_node): Use it.
	* cgraph.h (cgraph_release_function_body): Declare.
	* cgraphunit.c (cgraph_expand_function): Use it.
	* ipa.c (cgraph_remove_unreahchable_nodes): Use it.
	* tree-ssa.c (delete_tree_ssa): Allow to be called before aliasing
	is initialized and while compilation of other function is running.
	* tree-optimize.c (execute_free_cfg_annotations): Move code to clear
	statement CFG annotations from here to ...
	* tree-cfg.c (delete_tree_cfg_annotations): ... here.

From-SVN: r120437
2007-01-04 11:30:10 +00:00
Zdenek Dvorak
b06e8639fa cfgloop.h (enum li_flags): Make the constants powers of two.
* cfgloop.h (enum li_flags): Make the constants powers of two.

From-SVN: r120433
2007-01-04 09:53:29 +00:00
Paolo Bonzini
88fceb6820 configure.in: Use DEV-PHASE to detect the default for --enable-werror.
2007-01-04  Paolo Bonzini  <bonzini@gnu.org>

	* configure.in: Use DEV-PHASE to detect the default for --enable-werror.
	* configure: Regenerate.

From-SVN: r120432
2007-01-04 09:10:51 +00:00
Tobias Burnus
e01f74e08e re PR fortran/30276 (gfortran include problem)
2007-01-02  Tobias Burnus  <burnus@net-b.de>
            Jakub Jelinek  <jakub@redhat.com>

        PR fortran/30276
        * scanner.c (open_included_file): Revert patch.
          (gfc_open_included_file): Support absolute pathnames.
          (gfc_open_intrinsic_module): Support absolute pathnames.


Co-Authored-By: Jakub Jelinek <jakub@redhat.com>

From-SVN: r120431
2007-01-04 09:57:36 +01:00
Jan Hubicka
b8a00a4dcb tree-inline.c (copy_bb): Insert new statements to statements_to_fold set.
* tree-inline.c (copy_bb): Insert new statements to statements_to_fold
	set.
	(fold_marked_statements): New function.
	(optimize_inline_calls, tree_function_versioning): Fold new statements.
	* tree-inline.h (copy_body_data): Add statemetns_to_fold.

From-SVN: r120430
2007-01-04 08:56:05 +00:00
Daniel Jacobowitz
fa9585134f Makefile.def (target_modules): Add libgcc.
./	* Makefile.def (target_modules): Add libgcc.
	(lang_env_dependencies): Remove default items.  Use no_c and no_gcc.
	* Makefile.tpl (clean-target-libgcc): Delete.
	(configure-target-[+module+]): Emit --disable-bootstrap dependencies
	on gcc even for bootstrapped modules.  Rewrite handling of
	lang_env_dependencies to loop over target_modules.
	* configure.in (target_libraries): Add target-libgcc.
	* Makefile.in, configure: Regenerated.
gcc/
	* config.gcc: Mention libgcc/config.host.
	* Makefile.in: Update comments mentioning libgcc.
	(LIBGCC, INSTALL_LIBGCC, GCC_PARTS, mklibgcc): Delete.
	(all.cross, start.encap, rest.encap, rest.cross): Update
	dependencies for libgcc move.
	(libgcc.mk, LIBGCC_DEPS, libgcov.a, libgcc.a, stmp-multilib)
	(clean-target, clean-target-libgcc): Delete.
	(srcdirify, GCC_EXTRA_PARTS): New macros.
	(libgcc-support, libgcc.mvars): New rules.
	(distclean): Remove mention of mklibgcc.
	(install): Don't reference INSTALL_LIBGCC.
	(install-common): Don't reference EXTRA_PARTS.
	(install-libgcc, install-multilib): Delete rules.
	* mklibgcc.in: Delete file.
	* doc/configfiles.texi: Don't mention mklibgcc.

	* config/i386/t-darwin (SHLIB_VERPFX): Delete (moved to libgcc).
	* config/i386/t-darwin64 (SHLIB_VERPFX): Likewise.
	* config/rs6000/t-darwin (SHLIB_VERPFX): Likewise.
	* config/rs6000/t-ppccomm (TARGET_LIBGCC2_CFLAGS, SHLIB_MAPFILES)
	(mklibgcc, ldblspecs): Likewise.

	* config/i386/t-nwld (libgcc.def, libc.def, libpcre.def)
	(posixpre.def): Use $(T).
	(SHLIB_EXT, SHLIB_NAME, SHLIB_SLIBDIR_QUAL, SHLIB_DEF, SHLIB_MAP)
	(SHLIB_SRC, SHLIB_INSTALL): Delete.
	(SHLIB_LINK): Make dummy.
	* config/t-slibgcc-darwin: Delete contents except for dummy SHLIB_LINK.

	* config/frv/t-linux (EXTRA_MULTILIB_PARTS): Clear.

	* config/alpha/t-crtfm: Use $(T) in rules for EXTRA_PARTS.
	* config/alpha/t-vms, config/alpha/t-vms64, config/fr30/t-fr30,
	config/i386/t-rtems-i386, config/ia64/t-ia64, config/rs6000/t-beos,
	config/rs6000/t-newas, config/sparc/t-elf: Likewise.

	* configure.ac (all_outputs): Remove mklibgcc.
	* configure: Regenerated.
libgcc/
	* Makefile.in, config/i386/t-darwin, config/i386/t-darwin64,
	config/i386/t-nwld, config/rs6000/t-darwin, config/rs6000/t-ldbl128,
	config/i386/t-crtfm, config/alpha/t-crtfm, config/ia64/t-ia64,
	config/sparc/t-crtfm, config/t-slibgcc-darwin,
	config/rs6000/t-ppccomm, config.host, configure.ac, empty.mk,
	shared-object.mk, siditi-object.mk, static-object.mk: New files.
	* configure: Generated.

Co-Authored-By: Paolo Bonzini <bonzini@gnu.org>

From-SVN: r120429
2007-01-04 04:22:37 +00:00
Brooks Moses
de43c613ab * gfortran.texi (GNU Fortran and GCC): Rewrite
From-SVN: r120428
2007-01-03 18:21:38 -08:00
Brooks Moses
e6b38f67a1 gfortran.texi (Introduction): Lower "Part I...
* gfortran.texi (Introduction): Lower "Part I:
Introduction" to a chapter, renumber Parts II and III to
Parts I and II.
* intrinsic.texi (Introduction): Rename to "Introduction
to Intrinsics" to avoid conflict with the new chapter.

From-SVN: r120427
2007-01-03 18:11:05 -08:00
Brooks Moses
e1b4184c7b * intrinsic.texi (Introduction): Rewrite first paragraph.
From-SVN: r120426
2007-01-03 17:37:27 -08:00
Josh Conner
7816b87eb1 re PR middle-end/29683 (Arg split between stack/regs can cause stack corruption)
2007-03-01  Josh Conner  <jconner@apple.com>

	PR middle-end/29683
	* calls.c (compute_argument_addresses): Set stack and stack_slot
	for partial args, too.
	(store_one_arg): Use locate.size.constant for the size when
	generating a save_area.

2007-03-01  Josh Conner  <jconner@apple.com>

	PR middle-end/29683
	* gcc.dg/pr29683.c: New.

From-SVN: r120425
2007-01-04 01:37:15 +00:00
Brooks Moses
4e8b35902b invoke.texi (OpenMP): Added index entry.
* invoke.texi (OpenMP): Added index entry.
* gfortran.texi (title page): Removed erroneous '*'.

From-SVN: r120424
2007-01-03 17:29:08 -08:00
Robert Kennedy
611021e16c tree-cfg.c (tree_merge_blocks): Release SSA_NAME phi results whose definitions are deleted due to basic block...
* tree-cfg.c (tree_merge_blocks): Release SSA_NAME phi results
	whose definitions are deleted due to basic block merging.

From-SVN: r120423
2007-01-04 01:20:08 +00:00
Brooks Moses
11de78ffd1 gfortran.texi (GFORTRAN_DEFAULT_RECL): Added units to description.
* gfortran.texi (GFORTRAN_DEFAULT_RECL): Added units
to description.
(Extensions): Miscellaneous minor rewriting and copyediting.
(BOZ-literal constants): Renamed from Hexadecimal constants.
(Hollerith constants support): Added explanation and 
suggestions for standard-conforming modern equivalents.

From-SVN: r120422
2007-01-03 17:02:40 -08:00
Brooks Moses
4ba96c0283 intrinsic.texi: Improvements to index entries; change @findex entries to @cindex entries.
* intrinsic.texi: Improvements to index entries; change
@findex entries to @cindex entries.
* invoke.texi: Standardize and improve index entries.
* gfortran.texi: Fix @code in one index entry.

From-SVN: r120421
2007-01-03 16:39:15 -08:00
Brooks Moses
40746dccd1 invoke.texi: Change @code-type macros to appropriate variants (@command, @option, etc.)
* invoke.texi: Change @code-type macros to appropriate
variants (@command, @option, etc.)
* gfortran.texi: Same.

From-SVN: r120420
2007-01-03 16:19:36 -08:00
GCC Administrator
ad89ea97c7 Daily bump.
From-SVN: r120418
2007-01-04 00:17:33 +00:00
Paul Brook
a15908a410 re PR target/16634 (arm-elf-gcc problems when generating code for __attribute__ ((interrupt ("IRQ"))))
2007-01-03  Paul Brook  <paul@codesourcery.com>

	PR target/16634
	gcc/
	* config/arm/arm.c (output_return_instruction): Pop PC in interrupt
	functions.
	(use_return_insn): Return 0 for Thumb interrupt functions.
	(print_multi_reg): Add rfe argument for IRQ returns.
	(arm_output_epilogue): Pop interrupt return address directly into PC.
	(arm_expand_prologue): Only adjust IRQ return address in Arm mode.

From-SVN: r120413
2007-01-04 00:09:48 +00:00
Jakub Jelinek
019df41c96 re PR c++/28217 (ICE in tree_int_cst_sgn)
PR c++/28217
	* g++.dg/pch/template-1.C: New test.
	* g++.dg/pch/template-1.Hs: New file.

From-SVN: r120410
2007-01-04 00:53:18 +01:00
Brooks Moses
0c5a1cbc07 * intrinsic.texi: Various minor cleanups.
From-SVN: r120409
2007-01-03 15:49:10 -08:00
Paul Brook
5b3e666315 backport: thumb2.md: New file.
2007-01-03  Paul Brook  <paul@codesourcery.com>

	Merge from sourcerygxx-4_1.
	gcc/
	* config/arm/thumb2.md: New file.
	* config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Return True for
	Thumb-2.
	* config/arm/coff.h (JUMP_TABLES_IN_TEXT_SECTION): Ditto.
	* config/arm/aout.h (ASM_OUTPUT_ADDR_VEC_ELT): Add !Thumb-2 assertion.
	(ASM_OUTPUT_ADDR_DIFF_ELT): Output Thumb-2 jump tables.
	* config/arm/aof.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output Thumb-2 jump
	tables.
	(ASM_OUTPUT_ADDR_VEC_ELT): Add !Thumb-2 assertion.
	* config/arm/ieee754-df.S: Use macros for Thumb-2/Unified asm
	comptibility.
	* config/arm/ieee754-sf.S: Ditto.
	* config/arm/arm.c (thumb_base_register_rtx_p): Rename...
	(thumb1_base_register_rtx_p): ... to this.
	(thumb_index_register_rtx_p): Rename...
	(thumb1_index_register_rtx_p): ... to this.
	(thumb_output_function_prologue): Rename...
	(thumb1_output_function_prologue): ... to this.
	(thumb_legitimate_address_p): Rename...
	(thumb1_legitimate_address_p): ... to this.
	(thumb_rtx_costs): Rename...
	(thumb1_rtx_costs): ... to this.
	(thumb_compute_save_reg_mask): Rename...
	(thumb1_compute_save_reg_mask): ... to this.
	(thumb_final_prescan_insn): Rename...
	(thumb1_final_prescan_insn): ... to this.
	(thumb_expand_epilogue): Rename...
	(thumb1_expand_epilogue): ... to this.
	(arm_unwind_emit_stm): Rename...
	(arm_unwind_emit_sequence): ... to this.
	(thumb2_legitimate_index_p, thumb2_legitimate_address_p,
	thumb1_compute_save_reg_mask, arm_dwarf_handle_frame_unspec,
	thumb2_index_mul_operand, output_move_vfp, arm_shift_nmem,
	arm_save_coproc_regs, thumb_set_frame_pointer, arm_print_condition,
	thumb2_final_prescan_insn, thumb2_asm_output_opcode, arm_output_shift,
	thumb2_output_casesi): New functions.
	(TARGET_DWARF_HANDLE_FRAME_UNSPEC): Define.
	(FL_THUMB2, FL_NOTM, FL_DIV, FL_FOR_ARCH6T2, FL_FOR_ARCH7,
	FL_FOR_ARCH7A, FL_FOR_ARCH7R, FL_FOR_ARCH7M, ARM_LSL_NAME,
	THUMB2_WORK_REGS): Define.
	(arm_arch_notm, arm_arch_thumb2, arm_arch_hwdiv, arm_condexec_count,
	arm_condexec_mask, arm_condexec_masklen)): New variables.
	(all_architectures): Add armv6t2, armv7, armv7a, armv7r and armv7m.
	(arm_override_options): Check new CPU capabilities.
	Set new architecture flag variables.
	(arm_isr_value): Handle v7m interrupt functions.
	(user_return_insn): Return 0 for v7m interrupt functions.  Handle
	Thumb-2.
	(const_ok_for_arm): Handle Thumb-2 constants.
	(arm_gen_constant): Ditto.  Use movw when available.
	(arm_function_ok_for_sibcall): Return false for v7m interrupt
	functions.
	(legitimize_pic_address, arm_call_tls_get_addr): Handle Thumb-2.
	(thumb_find_work_register, arm_load_pic_register,
	legitimize_tls_address, arm_address_cost, load_multiple_sequence,
	emit_ldm_seq, emit_stm_seq, arm_select_cc_mode, get_jump_table_size,
	print_multi_reg, output_mov_long_double_fpa_from_arm,
	output_mov_long_double_arm_from_fpa, output_mov_double_fpa_from_arm,
	output_mov_double_fpa_from_arm, output_move_double,
	arm_compute_save_reg_mask, arm_compute_save_reg0_reg12_mask,
	output_return_instruction, arm_output_function_prologue,
	arm_output_epilogue, arm_get_frame_offsets, arm_regno_class,
	arm_output_mi_thunk, thumb_set_return_address): Ditto.
	(arm_expand_prologue): Handle Thumb-2.  Use arm_save_coproc_regs.
	(arm_coproc_mem_operand): Allow POST_INC/PRE_DEC.
	(arithmetic_instr, shift_op): Use arm_shift_nmem.
	(arm_print_operand): Use arm_print_condition.  Handle '(', ')', '.',
	'!' and 'L'.
	(arm_final_prescan_insn): Use extract_constrain_insn_cached.
	(thumb_expand_prologue): Use thumb_set_frame_pointer.
	(arm_file_start): Output directive for unified syntax.
	(arm_unwind_emit_set): Handle stack alignment instruction.
	* config/arm/lib1funcs.asm: Remove default for __ARM_ARCH__.
	Add v6t2, v7, v7a, v7r and v7m.
	(RETLDM): Add Thumb-2 code.
	(do_it, shift1, do_push, do_pop, COND, THUMB_SYNTAX): New macros.
	* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __thumb2__.
	(TARGET_THUMB1, TARGET_32BIT, TARGET_THUMB2, TARGET_DSP_MULTIPLY,
	TARGET_INT_SIMD, TARGET_UNIFIED_ASM, ARM_FT_STACKALIGN, IS_STACKALIGN,
	THUMB2_TRAMPOLINE_TEMPLATE, TRAMPOLINE_ADJUST_ADDRESS,
	ASM_OUTPUT_OPCODE, THUMB2_GO_IF_LEGITIMATE_ADDRESS,
	THUMB2_LEGITIMIZE_ADDRESS, CASE_VECTOR_PC_RELATIVE,
	CASE_VECTOR_SHORTEN_MODE, ADDR_VEC_ALIGN, ASM_OUTPUT_CASE_END,
	ADJUST_INSN_LENGTH): Define.
	(TARGET_REALLY_IWMMXT, TARGET_IWMMXT_ABI, CONDITIONAL_REGISTER_USAGE,
	STATIC_CHAIN_REGNUM, HARD_REGNO_NREGS, INDEX_REG_CLASS,
	BASE_REG_CLASS, MODE_BASE_REG_CLASS, SMALL_REGISTER_CLASSES,
	PREFERRED_RELOAD_CLASS, SECONDARY_OUTPUT_RELOAD_CLASS,
	SECONDARY_INPUT_RELOAD_CLASS, LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P,
	TRAMPOLINE_SIZE, INITIALIZE_TRAMPOLINE, HAVE_PRE_INCREMENT,
	HAVE_POST_DECREMENT, HAVE_PRE_DECREMENT, HAVE_PRE_MODIFY_DISP,
	HAVE_POST_MODIFY_DISP, HAVE_PRE_MODIFY_REG, HAVE_POST_MODIFY_REG,
	REGNO_MODE_OK_FOR_BASE_P, LEGITIMATE_CONSTANT_P,
	REG_MODE_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, GO_IF_LEGITIMATE_ADDRESS,
	LEGITIMIZE_ADDRESS, THUMB2_LEGITIMIZE_ADDRESS,
	GO_IF_MODE_DEPENDENT_ADDRESS, MEMORY_MOVE_COST, BRANCH_COST,
	ASM_APP_OFF, ASM_OUTPUT_CASE_LABEL, ARM_DECLARE_FUNCTION_NAME,
	FINAL_PRESCAN_INSN, PRINT_OPERAND_PUNCT_VALID_P,
	PRINT_OPERAND_ADDRESS): Adjust for Thumb-2.
	(arm_arch_notm, arm_arch_thumb2, arm_arch_hwdiv): New declarations.
	* config/arm/arm-cores.def: Add arm1156t2-s, cortex-a8, cortex-r4 and
	cortex-m3.
	* config/arm/arm-tune.md: Regenerate.
	* config/arm/arm-protos.h: Update prototypes.
	* config/arm/vfp.md: Enable patterns for Thumb-2.
	(arm_movsi_vfp): Add movw alternative.  Use output_move_vfp.
	(arm_movdi_vfp, movsf_vfp, movdf_vfp): Use output_move_vfp.
	(thumb2_movsi_vfp, thumb2_movdi_vfp, thumb2_movsf_vfp,
	thumb2_movdf_vfp, thumb2_movsfcc_vfp, thumb2_movdfcc_vfp): New.
	* config/arm/libunwind.S: Add Thumb-2 code.
	* config/arm/constraints.md: Update include Thumb-2.
	* config/arm/ieee754-sf.S: Add Thumb-2/Unified asm support.
	* config/arm/ieee754-df.S: Ditto.
	* config/arm/bpabi.S: Ditto.
	* config/arm/t-arm (MD_INCLUDES): Add thumb2.md.
	* config/arm/predicates.md (low_register_operand,
	low_reg_or_int_operand, thumb_16bit_operator): New.
	(thumb_cmp_operand, thumb_cmpneg_operand): Rename...
	(thumb1_cmp_operand, thumb1_cmpneg_operand): ... to this.
	* config/arm/t-arm-elf: Add armv7 multilib.
	* config/arm/arm.md: Update patterns for Thumb-2 and Unified asm.
	Include thumb2.md.
	(UNSPEC_STACK_ALIGN, ce_count): New.
	(arm_incscc, arm_decscc, arm_umaxsi3, arm_uminsi3,
	arm_zero_extendsidi2, arm_zero_extendqidi2): New
	insns/expanders.
	* config/arm/fpa.md: Update patterns for Thumb-2 and Unified asm.
	(thumb2_movsf_fpa, thumb2_movdf_fpa, thumb2_movxf_fpa,
	thumb2_movsfcc_fpa, thumb2_movdfcc_fpa): New insns.
	* config/arm/cirrus.md: Update patterns for Thumb-2 and Unified asm.
	(cirrus_thumb2_movdi, cirrus_thumb2_movsi_insn,
	thumb2_cirrus_movsf_hard_insn, thumb2_cirrus_movdf_hard_insn): New
	insns.
	* doc/extend.texi: Document ARMv7-M interrupt functions.
	* doc/invoke.texi: Document Thumb-2 new cores+architectures.

From-SVN: r120408
2007-01-03 23:48:10 +00:00