Commit Graph

78244 Commits

Author SHA1 Message Date
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
Jakub Jelinek
f8e7718c6f unwind-dw2.c (SIGNAL_FRAME_BIT, [...]): Define.
* unwind-dw2.c (SIGNAL_FRAME_BIT, EXTENDED_CONTEXT_BIT): Define.
	(struct _Unwind_Context): Rename args_size to flags, remove
	signal_frame field, add a new args_size field and version field.
	(_Unwind_IsSignalFrame, _Unwind_SetSignalFrame,
	_Unwind_IsExtendedContext): New inline functions.
	(_Unwind_GetGR, _Unwind_SetGR, _Unwind_GetGRPtr, _Unwind_SetGRPtr):
	Assume by_value array is only present if _Unwind_IsExtendedContext.
	(_Unwind_GetIPInfo, execute_cfa_program, uw_frame_state_for): Use
	_Unwind_IsSignalFrame.
	(__frame_state_for): Initialize context.flags to EXTENDED_CONTEXT_BIT.
	(uw_update_context_1): Use _Unwind_SetSignalFrame.
	(uw_init_context_1): Initialize context->flags to
	EXTENDED_CONTEXT_BIT.
	* config/rs6000/linux-unwind.h (frob_update_context): Use
	_Unwind_SetSignalFrame.

From-SVN: r120406
2007-01-04 00:45:47 +01:00
Andrew Pinski
798d1cc9ee Fix PR number in my last changelog entry, I got the testsuite one correct.
From-SVN: r120405
2007-01-03 15:02:13 -08:00
Andrew Pinski
d9c2d2969d re PR target/20353 (uclibc does not provide C99 math functions)
2007-01-03  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR middle-end/20353
        * gimplify.c (gimplify_modify_expr_complex_part): Move below
        tree_to_gimple_tuple.  Call tree_to_gimple_tuple when we need
        the value.

2007-01-03  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR middle-end/30353
        * gcc.c-torture/compile/complex-4.c: New test.

From-SVN: r120404
2007-01-03 15:00:40 -08:00
Joseph Myers
096be98666 vect.exp: Skip PowerPC targets not supporting -maltivec.
* g++.dg/vect/vect.exp: Skip PowerPC targets not supporting
	-maltivec.
	* gcc.target/powerpc/altivec-20.c: Use powerpc_altivec_ok.

From-SVN: r120401
2007-01-03 21:55:24 +00:00
Kazu Hirata
d60ab19691 * cgraphunit.c, tree-ssa-alias.c: Fix comment typos.
From-SVN: r120395
2007-01-03 08:42:27 +00:00
Kazu Hirata
c3e188fcaa * pt.c: Fix a comment typo.
From-SVN: r120394
2007-01-03 08:37:54 +00:00
Jakub Jelinek
900f1ea9fa re PR middle-end/30286 (Segfault with -O2 -ftrapv)
PR middle-end/30286
	* gcc.dg/pr30286.c: New test.

From-SVN: r120387
2007-01-03 09:04:11 +01:00
Kazu Hirata
a590ac6560 alias.c (init_alias_analysis): Use VEC_safe_grow_cleared.
* alias.c (init_alias_analysis): Use VEC_safe_grow_cleared.
	* cfgbuild.c (find_basic_blocks): Likewise.
	* cfgrtl.c (rtl_create_basic_block): Likewise.
	* function.c (temp_slots_at_level): Likewise.
	* reg-stack.c (stack_regs_mentioned): Likewise.
	* regclass.c (allocate_reg_info): Likewise.
	* tree-cfg.c (init_empty_tree_cfg, build_tree_cfg, create_bb,
	set_bb_for_stmt, move_block_to_fn): Likewise.
	* tree-complex.c (tree_lower_complex): Likewise.
	* vec.h (VEC_safe_grow_cleared): New.

From-SVN: r120386
2007-01-03 08:04:01 +00:00
Jakub Jelinek
7bda5cc2e6 re PR c++/29535 (ICE in instantiate_class_template, at cp/pt.c:5728)
PR c++/29535
	* g++.dg/template/crash66.C: New test.

From-SVN: r120385
2007-01-03 09:03:26 +01:00
Jakub Jelinek
0d6959a024 re PR c++/29054 (ICE on friend template specialization)
PR c++/29054
	* g++.dg/template/friend49.C: New test.

From-SVN: r120384
2007-01-03 09:00:30 +01:00
Kazu Hirata
8a2fcf9128 i386.h (NON_STACK_REG_P, [...]): Remove.
* config/i386/i386.h (NON_STACK_REG_P, REGNO_OK_FOR_SIREG_P,
	REGNO_OK_FOR_DIREG_P, REWRITE_ADDRESS, ASM_OPERAND_LETTER,
	RET, AT_SP): Remove.
	* config/i386/i386.md (*sse_prologue_save_insn): Use return
	instead of RET.

From-SVN: r120383
2007-01-03 06:44:38 +00:00
Jerry DeLisle
e1c463c4dd ibits.f90: New test.
2007-01-03  Steven G. Kargl  <kargls@comcast.net>

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

From-SVN: r120380
2007-01-03 03:45:50 +00:00
Steven G. Kargl
b17a1b93fb trans-intrinsic.c (gfc_conv_intrinsic_ibits): Fix call to build_int_cst.
2007-01-02  Steven G. Kargl  <kargls@comcast.net>

	* trans-intrinsic.c (gfc_conv_intrinsic_ibits): Fix call to
	build_int_cst.

From-SVN: r120379
2007-01-03 03:44:15 +00:00
Zdenek Dvorak
03cb2019ff loop-unswitch.c (unswitch_loop): Pass probabilities to loopify.
* loop-unswitch.c (unswitch_loop): Pass probabilities to loopify.
	* tree-ssa-loop-unswitch.c (tree_unswitch_loop): Pass probabilities
	to loop_version.
	* cfgloopmanip.c (scale_loop_frequencies): Export.
	(loopify): Scale the frequencies by prescribed coefficients.
	(set_zero_probability): New function.
	(duplicate_loop_to_header_edge): Improve updating of frequencies.
	(lv_adjust_loop_entry_edge, loop_version): Set probabilities
	and frequencies according to arguments.
	* tree-ssa-loop-manip.c (tree_unroll_loop): Set probabilities
	correctly.
	* cfg.c (scale_bbs_frequencies_int): Allow scaling the frequencies up.
	* modulo-sched.c (sms_schedule): Set probabilities for entering
	versioned loop correctly.
	* tree-vect-transform.c (vect_transform_loop): Ditto.
	* cfgloop.h (loopify, loop_version): Declaration changed.
	(scale_loop_frequencies): Declared.

	* gcc.dg/tree-ssa/update-unroll-1.c: New test.
	* gcc.dg/tree-ssa/update-unswitch-1.c: New test.

From-SVN: r120378
2007-01-03 02:29:00 +00:00