Commit Graph

31979 Commits

Author SHA1 Message Date
Diego Novillo e9dc9c4ee6 tree-ssa.texi: Remove documentation for V_MUST_DEF.
* doc/tree-ssa.texi: Remove documentation for V_MUST_DEF.

From-SVN: r122710
2007-03-08 15:51:41 -05:00
Geoffrey Keating d2328a1313 re PR objc/31013 (objc PCH is broken on powerpc-darwin again)
PR 31013
	* gccspec.c (lang_specific_driver): Do nothing when NEXT_OBJC_RUNTIME
	is declared.
	* config/darwin.h (REAL_LIBGCC_SPEC): When -fgnu-runtime is
	passed, use shared libgcc.

From-SVN: r122709
2007-03-08 19:56:37 +00:00
Roger Sayle ebb07520cd tree-eh.c (do_return_redirection): Call build_gimple_modify_stmt instead of calling build2 with a GIMPLE_MODIFY_STMT.
* tree-eh.c (do_return_redirection): Call build_gimple_modify_stmt
	instead of calling build2 with a GIMPLE_MODIFY_STMT.
	(honor_protect_cleanup_actions, lower_try_finally_switch):
	Likewise.
	* tree-if-conv.c (replace_phi_with_cond_gimple_modify_stmt,
	ifc_temp_var): Likewise.
	* tree-inline.c (setup_one_parameter): Likewise.
	* tree-mudflap.c (mf_decl_cache_locals,
	mf_build_check_statement_for): Likewise.
	* tree-nested.c (init_tmp_var, save_tmp_var,
	finalize_nesting_tree_1): Likewise.
	* tree-outof-ssa.c (insert_copy_on_edge,
	insert_backedge_copies): Likewise.
	* tree-profile.c (tree_gen_edge_profiler,
	tree_gen_ic_profiler): Likewise.
	* tree-scalar-evolution.c (scev_const_prop): Likewise.
	* tree-sra.c (sra_build_assignment): Likewise.
	* tree-ssa-loop-im.c (determine_invariantness_stmt): Likewise.
	* tree-ssa-math-opts.c (insert_reciprocals,
	execute_cse_sincos_1): Likewise.
	* tree-tailcall.c (adjust_accumulator_values,
	adjust_return_value): Likewise.
	* tree-vect-patterns.c (vect_pattern_recog_1): Likewise.
	* tree-vect-transform.c (vect_create_data_ref_ptr,
	bump_vector_ptr, vect_init_vector, get_initial_def_for_induction,
	vect_create_epilog_for_reduction, vectorizable_reduction,
	vectorizable_call, vectorizable_conversion,
	vectorizable_assignment, vectorizable_operation,
	vectorizable_type_demotion, vect_gen_widened_results_half,
	vect_permute_store_chain, vectorizable_store,
	vect_setup_realignment, vect_permute_load_chain,
	vectorizable_load, vectorizable_condition,
	vect_create_cond_for_align_checks): Likewise.
	* tree-vrp.c (build_assert_expr_for): Likewise.

From-SVN: r122707
2007-03-08 19:02:51 +00:00
Ian Lance Taylor 0c948c2746 tree-vrp.c: Include "intl.h".
./:	* tree-vrp.c: Include "intl.h".
	(usable_range_p): New static function.
	(compare_values_warnv): Don't test TYPE_OVERFLOW_UNDEFINED for
	overflowed values, juts set *strict_overflow_p.
	(compare_values): Only return -2 if one of the operands is not a
	constant.
	(compare_ranges): Call usable_range_p.
	(compare_range_with_value): Likewise.
	(vrp_evaluate_conditional_warnv): Rename from
	vrp_evaluate_conditional.  Make static.  Change all callers.
	(vrp_evaluate_conditional): New function.
	(simplify_div_or_mod_using_ranges): Issue warning about reliance
	on signed overflow.
	(simplify_abs_using_ranges): Likewise.
	(simplify_stmt_for_jump_threading): Add within_stmt parameter.
	* tree-ssa-dom.c (simplify_stmt_for_jump_threading): Add
	within_stmt parameter.
	* tree-ssa-propagate.c (fold_predicate_in): Update call to
	vrp_evaluate_conditional.
	* tree-ssa-threadedge.c
	(record_temporary_equivalences_from_stmts_at_dest): Change
	simplify parameter to take a second tree parameter.
	(simplify_control_stmt_condition): Likewise.
	(thread_across_edge): Likewise.
	* tree-flow.h (vrp_evaluate_conditional): Update declaration.
	(thread_across_edge): Likewise.
	* gcc/Makefile.in (tree-vrp.o): Depend upon intl.h.
testsuite/:
	* gcc.dg/no-strict-overflow-5.c: New test.
	* gcc.dg/no-strict-overflow-6.c: New test.
	* gcc.dg/Wstrict-overflow-11.c: New test.
	* gcc.dg/Wstrict-overflow-12.c: New test.
	* gcc.dg/Wstrict-overflow-13.c: New test.
	* gcc.dg/Wstrict-overflow-14.c: New test.
	* gcc.dg/Wstrict-overflow-15.c: New test.

From-SVN: r122706
2007-03-08 17:36:05 +00:00
Uros Bizjak 3c2d980c94 i386.h (TARGET_SAHF): New define.
* config/i386/i386.h (TARGET_SAHF): New define.
        * config/i386/i386.c (ix86_tune_features) [X86_TUNE_USE_SAHF]:
        Also enable for m_K8, m_AMDFAM10 and m_CORE2.
        (x86_sahf): New global variable.
        (override_options): Add PTA_NO_SAHF to pta_flags enum.  Recode
        pta_flags masks using shifts.  Add PTA_NO_SAHF to x86_64 and
        nocona processor flags.  Set x86_sahf when PTA_NO_SAHF is not set
        in processor flags.  Do not unconditionally disable TARGET_USE_SAHF
        for 64-bit.
        (ix86_fp_comparison_sahf_cost): Return high value for !TARGET_SAHF.
        (ix86_expand_fp_compare): Check for TARGET_CMOVE or TARGET_SAHF
        when expanding fcomi/sahf based tests.
        (ix86_emit_fp_unordered_jump): Check for TARGET_SAHF when
        expanding sahf based alternative. Emit sahf based sequence when
        optimizing for code size.
        * config/i386/i386.md (x86_sahf_1): Do not disable for
        TARGET_64BIT, enable for TARGET_SAHF.

From-SVN: r122705
2007-03-08 18:21:40 +01:00
Martin Michlmayr 068c623d02 tree-ssa-coalesce.c (fail_abnormal_edge_coalesce): Remove
spurious whitespace from error message.

From-SVN: r122690
2007-03-08 09:40:15 +00:00
Volker Reichelt 1916c916ca re PR c++/30852 (Trouble with __builtin_offsetof and volatile)
PR c++/30852
	* c-common.c (fold_offsetof_1): Handle COMPOUND_EXPR.

	* semantics.c (finish_offsetof): Handle COMPOUND_EXPR.

	* g++.dg/ext/offsetof1.C: Add cases with volatile.

From-SVN: r122686
2007-03-08 07:31:47 +00:00
Alexandre Oliva ab53bae286 c-decl.c (grokdeclarator): Disable warnings for anonymous bitfields.
gcc/ChangeLog:
* c-decl.c (grokdeclarator): Disable warnings for anonymous
bitfields.
* tree-sra.c (instantiate_element): Propagate disabled warnings
from the element itself to the created variable.
gcc/cp/ChangeLog:
* decl.c (grokdeclarator): Disable warnings for anonymous
bitfields.

From-SVN: r122684
2007-03-08 06:48:21 +00:00
Eric Botcazou 581f006c4a Fix date format.
From-SVN: r122670
2007-03-07 18:40:09 +00:00
Richard Henderson 7476f0866c re PR target/30848 (ICE with invalid constraint in asm statement)
PR target/30848
        * reg-stack.c (emit_swap_insn): If a malformed asm was seen,
        silently fix up the stack in the case of a missing register.

From-SVN: r122669
2007-03-07 10:13:29 -08:00
Joseph Myers a566d05002 libunwind.S: Add .arch/.object_arch for armv4 builds.
gcc:
2007-03-07  Paul Brook  <paul@codesourcery.com>

	* config/arm/libunwind.S: Add .arch/.object_arch for armv4 builds.

gcc:
2007-03-07  Joseph Myers  <joseph@codesourcery.com>

	* config/arm/unwind-arm.c (struct wmmxd_regs, struct wmmxc_regs):
	New.
	(phase1_vrs): Use them.
	(DEMAND_SAVE_WMMXD, DEMAND_SAVE_WMMXC): New.
	(__gnu_Unwind_Save_WMMXD, __gnu_Unwind_Restore_WMMXD,
	__gnu_Unwind_Save_WMMXC, __gnu_Unwind_Restore_WMMXC): Declare.
	(restore_non_core_regs): Call __gnu_Unwind_Restore_WMMXD and
	__gnu_Unwind_Restore_WMMXC if required.
	(_Unwind_VRS_Pop): Implement iWMMXt support.
	* config/arm/libunwind.S (gnu_Unwind_Restore_WMMXD,
	gnu_Unwind_Save_WMMXD, gnu_Unwind_Restore_WMMXC,
	gnu_Unwind_Save_WMMXC): Define.

gcc/testsuite:
2007-03-07  Joseph Myers  <joseph@codesourcery.com>

	* g++.dg/eh/arm-iwmmxt-unwind.C: New test.

From-SVN: r122658
2007-03-07 13:04:15 +00:00
Richard Sandiford ef67275542 vxworks.h (vxworks_override_options): Declare.
gcc/
	* config/vxworks.h (vxworks_override_options): Declare.
	(VXWORKS_OVERRIDE_OPTIONS): Use it.
	* config/vxworks.c: Include target.h and toplev.h.
	(vxworks_override_options): New function.
	* config/t-vxworks (vxworks.o): Depend on $(TARGET_H) and toplev.h.

From-SVN: r122657
2007-03-07 11:52:52 +00:00
Andreas Krebbel 690e7b63cf s390.c (override_options): Don't emit an error when -mstack-size is used without providing -mstack-guard.
2007-03-07  Andreas Krebbel  <krebbel1@de.ibm.com>

	* config/s390/s390.c (override_options): Don't emit an error when
	-mstack-size is used without providing -mstack-guard.
	(s390_emit_prologue): Choose stack_guard value automatically if not
	provided via command line.
	* doc/invoke.texi: Adjust description of -mstack-guard and -mstack-size.

From-SVN: r122655
2007-03-07 09:11:12 +00:00
Richard Sandiford 170bdabaa2 i386.c (output_set_got): Add a GOT initialization sequence for VxWorks PIC.
gcc/
	* config/i386/i386.c (output_set_got): Add a GOT initialization
	sequence for VxWorks PIC.
	(legitimate_pic_address_disp_p): Allow UNSPEC_GOT wrappers
	around labels as well as symbols.  Use gotoff_operand instead
	of local_symbolic_operand.
	(legitimize_pic_address): Use gotoff_operand instead of
	local_symbolic_operand.  Use @GOT accesses for labels as
	well as symbols.
	(ix86_output_addr_diff_elt): Use PC-relative rather than
	GP-relative offsets for VxWorks PIC.
	(ix86_expand_move): Pass NULL_RTX to legitimize_pic_address unless
	no_new_pseudos.  Check whether the returned register is op0.
	* config/i386/i386.md (tablejump): Use PC-relative rather than
	GP-relative offsets for VxWorks PIC.
	* config/i386/predicates.md (gotoff_operand): New predicate.

From-SVN: r122654
2007-03-07 09:02:14 +00:00
Richard Sandiford 26b5109ffe vxworks.h (VXWORKS_GOTT_BASE, [...]): Undefine before defining.
gcc/
	* config/vxworks.h (VXWORKS_GOTT_BASE, VXWORKS_GOTT_INDEX): Undefine
	before defining.
	* config/vxworks-dummy.h: New file.
	* config/i386/i386.h: Include it.

From-SVN: r122653
2007-03-07 07:37:16 +00:00
Alexandre Oliva dfad806e1e dwarf2out.c (is_inlined_entry_point): New
* dwarf2out.c (is_inlined_entry_point): New
(add_high_low_attributes): Emit DW_AT_entry_pc along with
DW_AT_ranges if the first subblock is the entry point.

From-SVN: r122650
2007-03-07 07:18:41 +00:00
David Daney 3eb3cf05c0 install.texi (mips-*-*): Change recommended binutils version.
* doc/install.texi (mips-*-*): Change recommended binutils
	version.

From-SVN: r122648
2007-03-07 04:40:28 +00:00
Anatoly Sokolov 205dcd71cd avr.c (avr_mcu_types): Add support for ATmega325P...
2006-02-24  Anatoly Sokolov <aesok@post.ru>

	* config/avr/avr.c (avr_mcu_types): Add support for ATmega325P,
	ATmega3250P, ATmega329P, ATmega3290P, AT90USB82 and AT90USB162 
	devices.
	* config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
	* config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).

From-SVN: r122635
2007-03-06 23:06:58 +03:00
Jan Hubicka 52bf96d2f2 errors.h (warning, [...]): Mark as cold.
* errors.h (warning, error, fatal, internal_error): Mark as cold.
	* predict.c (maybe_hot_bb): Cold functions are never hot; hot functions
	are hot.
	(probably_cold_bb_p): Cold functions are cold.
	(probably_never_executed_bb_p): Cold functions are cold.
	(tree_bb_level_predictions): Predict calls to cold functions as not
	taken.
	(compute_function_frequency): Check hot/cold attributes.
	* function.h (function_frequency): Update comments.
	* predict.def (PRED_COLD_FUNCTION): Predict cold function.
	* c-common.c (handle_hot_attribute, handle_cold_attribute): New.
	(c_common_att): Add cold and hot.

	* doc/extend.texi (hot,cold attributes): Document.
	
	* ansidecl.h (ATTRIBUTE_COLD, ATTRIBUTE_HOT): New.

From-SVN: r122632
2007-03-06 18:57:27 +00:00
Andrew Haley 251086461e function.c (expand_function_end): Move blockage to just after we emit the label for the naked return from the...
2007-03-06  Andrew Haley  <aph@redhat.com>

        * function.c (expand_function_end): Move blockage to just after we
        emit the label for the naked return from the function.

From-SVN: r122626
2007-03-06 17:21:37 +00:00
Richard Sandiford af17c030e8 att.h (ASM_OUTPUT_ASCII, [...]): Undefine before redefining.
gcc/
	* config/i386/att.h (ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Undefine
	before redefining.

From-SVN: r122625
2007-03-06 17:17:30 +00:00
Jan Hubicka dc4d7240dc reg-stack.c (reg_to_stack): Large models don't allow NAN to be loaded for constant large models.
* reg-stack.c (reg_to_stack): Large models don't allow NAN to be
	loaded for constant large models.  Non-large 64bit PIC can do.
	* i386.h (CASE_VECTOR_MODE): Large PIC cases are 64bit.
	* cmodel.h: Add LARGE PIC.
	* i386.md (UNSPEC_PLTOFF): New.
	(UNSPEC_SET_RIP, UNSPEC_SET_GOT_OFFSET): New; renumber other unspecs as
	needed.
	(*call_1_rex64): Disable for large models.
	(*call_1_rex64_large): New.
	(*call_value_1_rex64): Disable for large models.
	(*call_value_1_rex64_large): New.
	(set_rip_rex4): New.
	(set_got_offset_rex64): New.
	* predicates.md (constant_call_address_operand): For large model
	constant calls are not possible.
	* i386-protos.h (construct_plt_address): Declare.
	* i386.c (override_options): Accept large models.
	(ix86_expand_prologue): Expand large PIC GOT pointer load.
	(legitimate_constant_p): Add new UNSPECs.
	(legitimate_pic_operand_p): Likewise.
	(legitimate_pic_address_disp_p): Disallow local symbols for large PICs.
	(legitimize_pic_address): Do easy RIP relative way for TLS only for
	non-large model.
	(output_pic_addr_const): Add PLTOFF.
	(ix86_output_addr_diff_elt): Output 64bit tables when needed.
	(ix86_expand_move): Legitimize pic address when in PIC mode.
	(construct_plt_address): New function.
	(ix86_expand_call): Offload the address to register and use GOT pointer
	for large model.
	* invoke.texi (mcmodel=large): Update documentation.

From-SVN: r122623
2007-03-06 16:38:43 +00:00
Richard Henderson 80fd744fda i386.c (x86_use_leave, [...]): Merge into ...
* config/i386/i386.c (x86_use_leave, x86_push_memory,
	x86_zero_extend_with_and, x86_movx, x86_double_with_add,
	x86_use_bit_test, x86_unroll_strlen, x86_deep_branch,
	x86_branch_hints, x86_use_sahf, x86_partial_reg_stall,
	x86_partial_flag_reg_stall, x86_use_himode_fiop, x86_use_simode_fiop,
	x86_use_mov0, x86_use_cltd, x86_read_modify_write, x86_read_modify,
	x86_split_long_moves, x86_promote_QImode, x86_fast_prefix, 
	x86_single_stringop, x86_qimode_math, x86_promote_qi_regs,
	x86_himode_math, x86_promote_hi_regs, x86_sub_esp_4, x86_sub_esp_8,
	x86_add_esp_4, x86_add_esp_8, x86_integer_DFmode_moves, 
	x86_partial_reg_dependency, x86_memory_mismatch_stall, 
	x86_prologue_using_move, x86_epilogue_using_move, x86_shift1,
	x86_sse_partial_reg_dependency, x86_sse_split_regs, 
	x86_sse_unaligned_move_optimal, x86_sse_typeless_stores,
	x86_sse_load0_by_pxor, x86_use_ffreep, x86_use_incdec,
	x86_inter_unit_moves, x86_ext_80387_constants, x86_four_jump_limit,
	x86_schedule, x86_use_bt, x86_pad_returns): Merge into ...
	(ix86_tune_features): ... here.  New array.
	(x86_cmove, x86_use_xchgb, x86_cmpxchg, x86_cmpxchg8b,	
	x86_xadd, x86_bswap): Merge into ...
	(ix86_arch_features): ... here.  New array.
	(x86_3dnow_a): Remove.
	(x86_accumulate_outgoing_args): Make static.
	(x86_arch_always_fancy_math_387): Make static.
	(ix86_tune_mask, ix86_arch_mask): Move ...
	(override_options): ... to local variables here.  Apply the
	appropriate mask to each element of ix86_arch_features and
	ix86_tune_features.  Adjust TARGET_CMOVE and TARGET_USE_SAHF
	as were done in the old macros.
	(standard_80387_constant_p): Use TARGET_EXT_80387_CONSTANTS.
	* config/i386/i386.h (x86_use_leave, x86_push_memory,
	x86_zero_extend_with_and, x86_use_bit_test, x86_cmove, x86_deep_branch,
	x86_branch_hints, x86_unroll_strlen, x86_double_with_add,
	x86_partial_reg_stall, x86_movx, x86_use_himode_fiop,
	x86_use_simode_fiop, x86_use_mov0, x86_use_cltd, x86_use_xchgb,
	x86_read_modify_write, x86_read_modify, x86_split_long_moves,
	x86_promote_QImode, x86_single_stringop, x86_fast_prefix,
	x86_himode_math, x86_qimode_math, x86_promote_qi_regs,
	x86_promote_hi_regs, x86_integer_DFmode_moves, x86_add_esp_4,
	x86_add_esp_8, x86_sub_esp_4, x86_sub_esp_8,
	x86_partial_reg_dependency, x86_memory_mismatch_stall,
	x86_accumulate_outgoing_args, x86_prologue_using_move,
	x86_epilogue_using_move, x86_decompose_lea,
	x86_arch_always_fancy_math_387, x86_shift1,
	x86_sse_partial_reg_dependency, x86_sse_split_regs,
	x86_sse_unaligned_move_optimal, x86_sse_typeless_stores,	
	x86_sse_load0_by_pxor, x86_use_ffreep, x86_inter_unit_moves,
	x86_schedule, x86_use_bt, x86_cmpxchg, x86_cmpxchg8b, x86_xadd,
	x86_use_incdec, x86_pad_returns, x86_bswap,
	x86_partial_flag_reg_stall): Remove.
	(enum ix86_tune_indices): New.
	(ix86_tune_features): New.
	(TARGET_USE_LEAVE, TARGET_PUSH_MEMORY, TARGET_ZERO_EXTEND_WITH_AND,
	TARGET_USE_BIT_TEST, TARGET_UNROLL_STRLEN,
	TARGET_DEEP_BRANCH_PREDICTION, TARGET_BRANCH_PREDICTION_HINTS,
	TARGET_DOUBLE_WITH_ADD, TARGET_USE_SAHF, TARGET_MOVX,
	TARGET_PARTIAL_REG_STALL, TARGET_PARTIAL_FLAG_REG_STALL,
	TARGET_USE_HIMODE_FIOP, TARGET_USE_SIMODE_FIOP, TARGET_USE_MOV0,
	TARGET_USE_CLTD, TARGET_USE_XCHGB, TARGET_SPLIT_LONG_MOVES,
	TARGET_READ_MODIFY_WRITE, TARGET_READ_MODIFY, TARGET_PROMOTE_QImode,
	TARGET_FAST_PREFIX, TARGET_SINGLE_STRINGOP, TARGET_QIMODE_MATH,
	TARGET_HIMODE_MATH, TARGET_PROMOTE_QI_REGS, TARGET_PROMOTE_HI_REGS,
	TARGET_ADD_ESP_4, TARGET_ADD_ESP_8, TARGET_SUB_ESP_4,
	TARGET_SUB_ESP_8, TARGET_INTEGER_DFMODE_MOVES,
	TARGET_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REG_DEPENDENCY,
	TARGET_SSE_UNALIGNED_MOVE_OPTIMAL, TARGET_SSE_SPLIT_REGS,
	TARGET_SSE_TYPELESS_STORES, TARGET_SSE_LOAD0_BY_PXOR,
	TARGET_MEMORY_MISMATCH_STALL, TARGET_PROLOGUE_USING_MOVE,
	TARGET_EPILOGUE_USING_MOVE, TARGET_SHIFT1, TARGET_USE_FFREEP,
	TARGET_INTER_UNIT_MOVES, TARGET_FOUR_JUMP_LIMIT, TARGET_SCHEDULE,
	TARGET_USE_BT, TARGET_USE_INCDEC, TARGET_PAD_RETURNS,
	TARGET_EXT_80387_CONSTANTS): Use it.
	(enum ix86_arch_indices): New.
	(ix86_arch_features): New.
	(TARGET_CMOVE, TARGET_CMPXCHG, TARGET_CMPXCHG8B, TARGET_XADD,
	TARGET_BSWAP): Use it.
	(ix86_tune_mask, ix86_arch_mask): Remove.

From-SVN: r122621
2007-03-06 07:59:38 -08:00
Joseph Myers 14da607343 re PR bootstrap/31020 (cannot write in </test/gnu/gcc/objdir/prev-gcc/../gcc/./include>)
fixincludes:
	* mkheaders.in: Fix headers for each multilib required.

gcc:
	PR bootstrap/31020
	* configure.ac (CROSS_SYSTEM_HEADER_DIR, build_system_header_dir):
	Define using $${sysroot_headers_suffix}.
	* configure: Regenerate.
	* cppdefault.c (cpp_include_defaults): Make FIXED_INCLUDE_DIR a
	multilib-suffixed directory if SYSROOT_HEADERS_SUFFIX_SPEC
	defined.
	* doc/invoke.texi (-print-sysroot-headers-suffix): Document.
	* gcc.c (print_sysroot_headers_suffix): New.
	(option_map): Include --print-sysroot-headers-suffix.
	(display_help): Mention -print-sysroot-headers-suffix.
	(process_command): Handle -print-sysroot-headers-suffix.
	(do_spec_1): Append multilib directory to include-fixed path if
	sysroot suffixes in use.
	(main): Handle -print-sysroot-headers-suffix.
	* Makefile.in (start.encap): Don't depend on xlimits.h
	(xlimits.h): Remove.
	(stmp-int-hdrs): Don't depend on xlimits.h.  Inline generation of
	limits.h for each multilib in fixinc_list.
	(fixinc_list, s-fixinc_list): New.
	(stmp-fixinc): Depend on fixinc_list.  If not copying headers,
	generate them for each multilib in fixinc_list.
	(stmp-fixproto): Use include-fixed.  Run fixproto for each
	multilib in fixinc_list.
	(mostlyclean): Don't remove xlimits.h.
	(clean): Remove include-fixed.
	(real-install-headers-tar, real-install-headers-cpio,
	real-install-headers-cp): Don't copy include, only include-fixed.
	(install-mkheaders): Depend on fixinc_list.  Don't depend on
	xlimits.h.  Save limits.h files for each multilib in fixinc_list.
	Always save mkinstalldirs.  Preserve ${sysroot_headers_suffix} in
	SYSTEM_HEADER_DIR setting in mkheaders.conf.

From-SVN: r122620
2007-03-06 15:50:28 +00:00
Jan Hubicka 4e669430fe regstack.c (reg_to_stack): When in 64bit PIC mode, we still can load NANs easilly.
* regstack.c (reg_to_stack): When in 64bit PIC mode, we still can load
	NANs easilly.

From-SVN: r122619
2007-03-06 14:02:00 +00:00
Richard Sandiford 3ca43df7e2 configure.ac: Allow tm_file to contain build-directory files.
gcc/
	* configure.ac: Allow tm_file to contain build-directory files.
	* configure: Regenerate.
	* config.gcc (m68k-*-uclinux*): Add ./sysroot-suffix.h to tm_file.
	* config/m68k/t-uclinux (sysroot-suffix.h): New target.
	* config/m68k/print-sysroot-suffix.sh: New file.

From-SVN: r122613
2007-03-06 09:06:35 +00:00
Richard Sandiford 4ab870f5c3 m68k.h (PIC_OFFSET_TABLE_REGNUM): Use the REGNO of pic_offset_table_rtx if reload_completed.
gcc/
	* config/m68k/m68k.h (PIC_OFFSET_TABLE_REGNUM): Use the REGNO
	of pic_offset_table_rtx if reload_completed.
	(CONDITIONAL_REGISTER_USAGE): Use PIC_REG instead of
	PIC_OFFSET_TABLE_REGNUM.
	* config/m68k/m68k.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Always
	return true.
	(m68k_save_reg): Use PIC_REG instead of PIC_OFFSET_TABLE_REGNO.
	(m68k_output_mi_thunk): Rewrite to use RTL.  Honor vcall_offset.

From-SVN: r122612
2007-03-06 09:04:47 +00:00
Richard Sandiford afcb440c3f m68k.c (m68k_save_reg): Save the PIC register in functions that call eh_return.
gcc/
	* config/m68k/m68k.c (m68k_save_reg): Save the PIC register in
	functions that call eh_return.

From-SVN: r122611
2007-03-06 09:04:27 +00:00
Richard Sandiford 6357eb0da4 m68k.c (m68k_save_reg): Save the PIC register in functions that need a constant pool.
gcc/
	* config/m68k/m68k.c (m68k_save_reg): Save the PIC register in
	functions that need a constant pool.

From-SVN: r122610
2007-03-06 09:04:09 +00:00
Richard Sandiford ffa2596e3a re PR target/28181 (ICE in reload_cse_simplify_operands, at postreload.c:393 on m68k)
gcc/
	PR target/28181
	* config/m68k/m68k-protos.h (m68k_secondary_reload_class): Declare.
	(m68k_preferred_reload_class): Likewise.
	* config/m68k/m68k.h (HARD_REGNO_MODE_OK): Remove duplicated comment.
	(SECONDARY_RELOAD_CLASS): Define.
	(PREFERRED_RELOAD_CLASS): Use m68k_preferred_reload_class.
	(LIMIT_RELOAD_CLASS): Delete.
	* config/m68k/m68k.c (m68k_regno_mode_ok): Don't prevent address
	registers from storing bytes.
	(m68k_secondary_reload_class): New function.
	(m68k_preferred_reload_class): Likewise.

gcc/testsuite/
	* gcc.c-torture/compile/m68k-byte-addr.c: New test.

From-SVN: r122609
2007-03-06 09:01:07 +00:00
Richard Sandiford 4f44ecc07f m68k.c (m68k_save_reg): Remove special case for leaf functions.
gcc/
	* config/m68k/m68k.c (m68k_save_reg): Remove special case for
	leaf functions.
	(m68k_expand_prologue): Likewise.

From-SVN: r122608
2007-03-06 09:00:21 +00:00
Richard Sandiford f7e7089441 m68k-protos.h (output_sibcall): Declare.
gcc/
	* config/m68k/m68k-protos.h (output_sibcall): Declare.
	(mips_expand_epilogue): Add a bool parameter.
	(m68k_legitimize_sibcall_address): Declare.
	* config/m68k/m68k.c (TARGET_FUNCTION_OK_FOR_SIBCALL): Define.
	(m68k_expand_epilogue): Add a parameter to select between sibling
	and normal epilogues.  Only generate a return for the latter.
	(m68k_ok_for_sibcall_p): New function.
	(m68k_legitimize_sibcall_address, output_sibcall): New functions.
	* config/m68k/m68k.md (sibcall, *sibcall): New patterns.
	(sibcall_value, *sibcall_value): Likewise.
	(*call, *call_value): Require !SIBLING_CALL_P.
	(epilogue): Update call to m68k_expand_epilogue.
	(sibcall_epilogue): New pattern.
	* config/m68k/predicates.md (const_call_operand): Say that this
	predicate applies to sibling calls too.
	(sibcall_operand): New predicate.

From-SVN: r122607
2007-03-06 09:00:00 +00:00
Richard Sandiford 31c5b44477 m68k.md (movsf_cf_soft): Provide the same non-mov3q alternatives as movsi_cf.
gcc/
	* config/m68k/m68k.md (movsf_cf_soft): Provide the same non-mov3q
	alternatives as movsi_cf.
	(movsf_cf_hard): Add commentary.

From-SVN: r122606
2007-03-06 08:59:20 +00:00
Kazu Hirata a40ed0f310 200x-xx-xx Kazu Hirata <kazu@codesourcery.com> Richard Sandiford <richard@codesourcery.com>
gcc/
200x-xx-xx  Kazu Hirata  <kazu@codesourcery.com>
	    Richard Sandiford  <richard@codesourcery.com>

	* config/m68k/m68k-protos.h (m68k_interrupt_function_p): Declare.
	(m68k_movem_pattern_p, m68k_output_movem): Likewise.
	(m68k_expand_prologue, m68k_expand_epilogue): Likewise.
	* config/m68k/m68k.h (EPILOGUE_USES): Define.  Treat all registers
	as being live on exit from an interrupt function.
	(PRINT_OPERAND_PUNCT_VALID_P): Return true for '?'.
	* config/m68k/m68k.c (MIN_MOVEM_REGS, MIN_FMOVEM_REGS): New macros.
	(m68k_frame): Remove reg_rev_mask and fpu_rev_mask.
	(TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Delete.
	(m68k_interrupt_function_p): Globalize.
	(m68k_compute_frame_layout): Remove reverse mask code.
	(m68k_emit_movem, m68k_set_frame_related): New functions.
	(m68k_output_function_prologue): Delete in favor of...
	(m68k_expand_prologue): ...this new function.
	(m68k_output_function_epilogue): Delete in favor of...
	(m68k_expand_epilogue): ...this new function.
	(m68k_split_offset, m68k_movem_pattern_p, m68k_output_movem): New
	functions.
	(print_operand): Handle %?.
	* config/m68k/m68k.md (UNSPEC_SIN, UNSPEC_COS): Remove excess space.
	(UNSPEC_GOT, A1_REG, PIC_REG, FP0_REG): New constants.
	(prologue, epilogue): New patterns.
	(return): Turn into a define_expand.
	(*return): New pattern, derived from old "return" pattern.  Use rte
	rather than rts for interrupt functions.  Only use rtd if the pop
	count is nonzero.
	(*m68k_store_multiple, *m68k_store_multiple_automod): New patterns.
	(*m68k_load_multiple, *m68k_load_multiple_automod): Likewise.
	(link, *link, unlink, *unlink, load_got): Likewise.

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

From-SVN: r122605
2007-03-06 08:58:40 +00:00
Richard Sandiford fc2241eb94 re PR target/23482 ([ColdFire] ICE in in final_scan_insn)
gcc/
	PR target/23482
	PR target/17114
	* config/m68k/m68k-protos.h (m68k_legitimate_base_reg_p): Declare.
	(m68k_legitimate_index_reg_p, m68k_legitimate_address_p): Likewise.
	(m68k_matches_q_p, m68k_matches_u_p): Likewise.
	* config/m68k/m68k.h (EXTRA_CONSTRAINT): Use m68k_matches_q_p
	and m68k_matches_u_p.
	(PCREL_GENERAL_OPERAND_OK, LEGITIMATE_BASE_REG_P): Delete.
	(INDIRECTABLE_1_ADDRESS_P, GO_IF_NONINDEXED_ADDRESS): Delete.
	(GO_IF_INDEXABLE_BASE, GO_IF_INDEXING, GO_IF_INDEXED_ADDRESS): Delete.
	(LEGITIMATE_INDEX_REG_P, LEGITIMATE_INDEX_P): Delete.
	(GO_IF_COLDFIRE_FPU_LEGITIMATE_ADDRESS): Delete.
	(REG_STRICT_P): New macro.
	(LEGITIMATE_PIC_OPERAND_P): Use REG_STRICT_P rather than
	PCREL_GENERAL_OPERAND_OK.
	(REG_OK_FOR_BASE_P): Merge definitions.  Use REG_STRICT_P and
	m68k_legitimate_base_reg_p.
	(REG_MODE_OK_FOR_INDEX_P): Likewise m68k_legitimate_index_reg_p.
	(GO_IF_LEGITIMATE_ADDRESS): Likewise m68k_legitimate_address_p.
	(PIC_CASE_VECTOR_ADDRESS): Update comment.
	* config/m68k/m68k.c (m68k_address): New structure.
	(m68k_legitimate_base_reg_p, m68k_legitimate_index_reg_p)
	(m68k_decompose_index, m68k_legitimate_constant_address_p)
	(m68k_jump_table_ref_p, m68k_decompose_address)
	(m68k_legitimate_address_p, m68k_legitimate_mem_p, m68k_matches_q_p)
	(m68k_matches_u_p): New functions.
	(print_operand_address): Rewrite to use m68k_decompose_index.

From-SVN: r122604
2007-03-06 08:54:31 +00:00
David Taylor 9e8f695979 2007/03/05 David Taylor <dtaylor@emc.com>
2007/03/05  David Taylor  <dtaylor@emc.com>
* gcc.c: Correct copyright date in --version output.

From-SVN: r122596
2007-03-05 23:32:25 -08:00
John David Anglin 50f9c211a6 pa.md: In unamed move patterns...
* pa.md: In unamed move patterns, disparge copies between general
	and floating point registers using '?' modifier.  Don't include 'f'
	constraint for register preferences in DImode, SImode, HImode and
	QImode patterns.  Likewise for 'r' in DFmode and SFmode patterns.
	Remove constraints for copies between general and floating registers
	in soft-float DFmode pattern.
	(movdf): Fail if operand1 is a CONST_DOUBLE and operand0 is a hard
	floating register.
	(movsf): Likewise.

From-SVN: r122593
2007-03-06 02:47:37 +00:00
Mike Stump 1f1d513061 c-common.c (targetcm): Add.
* c-common.c (targetcm): Add.   
	* c-opts.c (c_common_handle_option): Handle language specific
	target options.
	* opts.c (handle_option): Verify language for target options, if
	any are given.
	* opth-gen.awk: Add CL_LANG_ALL.
	* target-def.h (TARGET_HANDLE_C_OPTION): Add.
	(TARGETCM_INITIALIZER): Add.
	* target.h (struct gcc_targetcm): Add.
	(targetcm): Add.
	* targhooks.c (default_handle_c_option): Add.
	* targhooks.h (default_handle_c_option): Add.
	* doc/tm.texi (TARGET_HANDLE_C_OPTION): Add.

	* config/darwin.opt (iframework): Add.
	* config/darwin.h (TARGET_HAS_TARGETCM): Add.
	* config/darwin-c.c (handle_c_option): Add.
	(TARGET_HANDLE_C_OPTION): Add.
	(targetcm): Add.
	* doc/invoke.texi (Darwin Options): Add -iframework.

From-SVN: r122590
2007-03-06 00:48:47 +00:00
Kaveh R. Ghazi 65bda21f7f convert.c (convert_to_integer): Fix nearbyint/rint -> *lrint conversion.
* convert.c (convert_to_integer): Fix nearbyint/rint -> *lrint
	conversion.

testsuite:
	* gcc.dg/torture/builtin-convert-4.c: New test.

From-SVN: r122581
2007-03-05 23:30:04 +00:00
Ian Lance Taylor da1c7394b3 c.opt (fgnu89-inline): New option.
* c.opt (fgnu89-inline): New option.
	* c-opts.c (c_common_post_options): Set default value for
	flag_gnu89_inline.
	* c-decl.c (WANT_C99_INLINE_SEMANTICS): Remove.
	(pop_scope): Check flag_gnu89_inline rather than flag_isoc99 for
	inline functions.
	(diagnose_mismatched_decls, merge_decls, start_decl): Likewise.
	(grokdeclarator, start_function): Likewise.
	* c-cppbuiltin.c (c_cpp_builtins): Define either
	__GNUC_GNU_INLINE__ or __GNUC_STDC_INLINE__.
	* doc/invoke.texi (Option Summary): Mention -fgnu89-inline.
	(C Dialect Options): Document -fgnu89-inline.
	* doc/extend.texi (Function Attributes): Explain what the
	gnu_inline attribute does.
	* doc/cpp.texi (Common Predefined Macros): Document
	__GNUC_GNU_INLINE__ and __GNUC_STDC_INLINE__.

From-SVN: r122565
2007-03-05 19:45:20 +00:00
Ian Lance Taylor 7343ff45ca re PR tree-optimization/31034 (ICE in set_value_range, at tree-vrp.c:267)
PR tree-optimization/31034
	* tree-vrp.c (extract_range_from_assert): Don't try to handle a
	half-range if the other side is an overflow infinity.

From-SVN: r122562
2007-03-05 18:01:00 +00:00
Bernd Schmidt 344189f9ec config.host (bfin*-linux-uclibc*): Set extra_parts.
libgcc/:
	* config.host (bfin*-linux-uclibc*): Set extra_parts.
gcc/:
	* config.gcc (bfin*-uclinux*): Use t-bfin-uclinux.
	(bfin*-linux-uclibc*): New configuration.
	* config/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Undefined before
	defining.
	* config/bfin/linux.h: New file.
	* config/bfin/libgcc-bfin.ver: New file.
	* config/bfin/t-bfin-uclinux: New file.
	* config/bfin/t-bfin-linux: New file.
	* config/bfin/uclinux.h (LINUX_TARGET_OS_CPP_BUILTINS): New macro.
	(TARGET_OS_CPP_BUILTINS): New macro.

From-SVN: r122552
2007-03-05 14:55:37 +00:00
Richard Guenther 9dc167ec4a fold-const.c (fold_binary): Remove duplicate folding of comparison of non-null ADDR_EXPR against null.
2007-03-05  Richard Guenther  <rguenther@suse.de>

	* fold-const.c (fold_binary): Remove duplicate folding
	of comparison of non-null ADDR_EXPR against null.

From-SVN: r122551
2007-03-05 14:49:02 +00:00
Richard Guenther f9be04cd95 re PR tree-optimization/26420 (-ftree-vectorizer-verbose=1 prints unvectorized loops information)
2007-03-05  Richard Guenther  <rguenther@suse.de>
	Dorit Nuzman  <dorit@il.ibm.com>

	PR tree-optimization/26420
	* tree-vectorizer.c (vectorize_loops): Bail out early if there
	are no loops in the function.  Only print the number of
	vectorized loops if it is greater than zero or we are supposed
	to print information about unvectorized loops.

Co-Authored-By: Dorit Nuzman <dorit@il.ibm.com>

From-SVN: r122544
2007-03-05 10:57:09 +00:00
Revital Eres c1c5a431b5 var-expand1.c: New test.
2007-03-05  Revital Eres  <eres@il.ibm.com>

      * gcc.dg/var-expand1.c: New test.
      * loop-unroll.c (analyze_insn_to_expand_var): Add dump info
      when an accumulator is expanded.

From-SVN: r122543
2007-03-05 09:28:23 +00:00
Manuel López-Ibáñez f73fe417bc re PR other/30465 (Duplicated overflow warning)
2007-03-04  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	PR other/30465
	* c-common.c (convert_and_check): Don't give warnings for
	conversion if 'expr' already overflowed.

testsuite/
	* gcc.dg/multiple-overflow-warn-3.c: New.
	* g++.dg/warn/multiple-overflow-warn-3.C: New.

From-SVN: r122534
2007-03-04 23:29:41 +00:00
Roger Sayle 270d43bf1e re PR middle-end/30744 (ICE in compare_values, at tree-vrp.c:466)
PR middle-end/30744
	* fold-const.c (fold_comparison): Enforce type consistency when
	transforming ~X op ~Y to Y op X, and ~X op C to X op' ~C.

	* gcc.dg/pr30744-1.c: New test case.

From-SVN: r122531
2007-03-04 19:03:13 +00:00
Zdenek Dvorak 5ca09e7393 Add missing changelog entry:
* config/i386/driver-i386.c (describe_cache, detect_caches_amd,
	decode_caches_intel, detect_caches_intel): New functions.
	(host_detect_local_cpu): Use detect_caches_amd and
	detect_caches_intel.

From-SVN: r122529
2007-03-04 16:34:31 +00:00
Zdenek Dvorak 69bd3423f6 tree-ssa-address.c (create_mem_ref): Do not put an expression containing a cast to the base of TARGET_MEM_REF.
* tree-ssa-address.c (create_mem_ref): Do not put an expression
	containing a cast to the base of TARGET_MEM_REF.

From-SVN: r122528
2007-03-04 16:23:31 +00:00
Martin Michlmayr 232044287b Remove spurious whitespace from error message.
From-SVN: r122525
2007-03-04 12:57:13 +00:00
François-Xavier Coudert 7348aa7faf re PR target/30406 ([4.1 only] ICE in LOGICAL(8) functions)
PR target/30406

	* config/rs6000/rs6000.c (rs6000_function_value): Look at bit size
	instead of precision.

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

From-SVN: r122523
2007-03-04 08:10:25 +00:00
Roman Zippel 594f877973 emit-rtl.c (find_auto_inc): New.
* emit-rtl.c (find_auto_inc): New.
	(try_split): recreate REG_INC notes,
	Use regular for loops rather than whiles.

	* gcc.target/m68k/m68k.exp: New.
	* gcc.target/m68k/crash1.c: New.

From-SVN: r122520
2007-03-04 00:56:51 +00:00
Andreas Schwab 695d883001 configure.ac (HAVE_AS_REL16): Move test back to correct place.
* configure.ac (HAVE_AS_REL16): Move test back to correct place.
	* configure: Regenerate.

From-SVN: r122511
2007-03-03 19:23:06 +00:00
Kaveh R. Ghazi a50639323b builtins.def (ATTR_MATHFN_FPROUNDING): Rely on flag_rounding_math, not flag_unsafe_math_optimizations.
* builtins.def (ATTR_MATHFN_FPROUNDING): Rely on
	flag_rounding_math, not flag_unsafe_math_optimizations.

From-SVN: r122509
2007-03-03 17:18:17 +00:00
Kaveh R. Ghazi 31ff73b5ab c-pretty-print.c (pp_c_direct_abstract_declarator): Use fold_build2.
* c-pretty-print.c (pp_c_direct_abstract_declarator): Use
	fold_build2.
	* config/alpha/alpha.c (alpha_fold_builtin_zapnot,
	alpha_fold_vector_minmax): Likewise.
	* config/i386/i386.c (ix86_gimplify_va_arg): Likewise.
	* config/sparc/sparc.c (sparc_gimplify_va_arg): Likewise.

From-SVN: r122508
2007-03-03 17:12:28 +00:00
Eric Botcazou 9700224802 tree-sra.c (sra_walk_fns): Document new restriction.
* tree-sra.c (sra_walk_fns) <ldst>: Document new restriction.
	(sra_walk_modify_expr) <rhs_elt>: Treat the reference as a use
	if the lhs has side-effects.
	<lhs_elt>: Treat the reference as a use if the rhs has side-effects.

From-SVN: r122492
2007-03-02 22:30:32 +00:00
Uros Bizjak e39e8c363b i386.h (TUNEMASK): Remove define.
* config/i386/i386.h (TUNEMASK): Remove define.
        (ARCHMASK): Remove define.
        (TARGET_*): Use ix86_tune_mask variable instead of TUNEMASK.
         Use ix86_arch_mask variable instead of ARCHMASK.
        * config/i386/i386.c (override_options): Ditto.
        (standard_80387_constant_p): Ditto.

From-SVN: r122491
2007-03-02 23:28:02 +01:00
Ian Lance Taylor 12df8a7eb6 Used signed infinities in VRP.
* tree-vrp.c (uses_overflow_infinity): New static function.
	(supports_overflow_infinity): New static function.
	(make_overflow_infinity): New static function.
	(negative_overflow_infinity): New static function.
	(positive_overflow_infinity): New static function.
	(is_negative_overflow_infinity): New static function.
	(is_positive_overflow_infinity): New static function.
	(is_overflow_infinity): New static function.
	(overflow_infinity_range_p): New static function.
	(compare_values_warnv): New function split out of compare_values.
	(compare_value): Call it.
	(set_value_range_to_nonnegative): Add overflow_infinity
	parameter.  Change caller.
	(vrp_expr_computes_nonnegative): Add strict_overflow_p parameter.
	Change callers.
	(vrp_expr_computes_nonzero): Likewise.
	(compare_ranges, compare_range_with_value): Likewise.
	(compare_name_with_value, compare_names): Likewise.
	(vrp_evaluate_conditional): Likewise.
	(set_value_range): Handle infinity
	(vrp_operand_equal_p, operand_less_p): Likewise.
	(extract_range_from_assert): Likewise.
	(vrp_int_const_binop): Likewise.
	(extract_range_from_binary_expr): Likewise.
	(extract_range_from_unary_expr): Likewise.
	(extract_range_from_comparison): Likewise.
	(extract_range_from_expr): Likewise.
	(dump_value_range): Likewise.
	(vrp_visit_cond_stmt, vrp_visit_phi_node): Likewise.
	(test_for_singularity): Likewise.
	(vrp_int_const_binop): Remove inline qualifier.
	(adjust_range_with_scev): Add comment.
	* tree-flow.h (vrp_evaluate_conditional): Update declaration.

From-SVN: r122487
2007-03-02 20:09:31 +00:00
Diego Novillo 6e7e772dce tree-ssa-structalias.c (could_have_pointers): Tidy.
* tree-ssa-structalias.c (could_have_pointers): Tidy.
	(get_constraint_for): Likewise.
	(do_structure_copy): Likewise.
	(find_func_aliases): Fix references to MODIFY_EXPR.
	(intra_create_variable_infos): Tidy.
	* tree-ssa-operands.c (add_virtual_operand): Add argument
	IS_CALL_SITE.
	When adding members of alias sets, if IS_CALL_SITE is true and
	the symbol is not call-clobbered, skip it.
	Adjust all callers.


testsuite/ChangeLog

	* gcc.dg/tree-ssa/20070302-1.c: New test.

From-SVN: r122484
2007-03-02 14:20:14 -05:00
Eric Botcazou e0759b7392 alpha.c (alpha_gp_save_rtx): Insert the insns at the entry by means of emit_insn_at_entry.
* config/alpha/alpha.c (alpha_gp_save_rtx): Insert the insns at the
	entry by means of emit_insn_at_entry.

From-SVN: r122480
2007-03-02 18:01:37 +00:00
Richard Henderson 962f383322 expr.h (promoted_input_arg): Remove decl.
* expr.h (promoted_input_arg): Remove decl.
        * function.c (promoted_input_arg): Merge into ...
        * combine.c (setup_incoming_promotions): ... only caller.
        Rearrange to avoid double loop.

From-SVN: r122479
2007-03-02 09:49:58 -08:00
Ben Elliston 7393f7f8d0 dfp.md: New file.
* config/rs6000/dfp.md: New file.
	* config/rs6000/rs6000.md: Include dfp.md.
	(add<mode>3_internal1): Disable for DECIMAL_FLOAT_MODE_P operands.
	* config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Handle DDmode
	and TDmode decimal float modes in FP registers.
	(num_insns_constant): Likewise.
	(rs6000_legitimate_offset_address_p): Likewise.
	(rs6000_legitimize_address): Likewise.
	(rs6000_legitimize_reload_address): Likewise.
	(rs6000_legitimate_address): Likewise.
	(rs6000_emit_move): Likewise.
	(function_arg_boundary): Likewise.
	(function_arg_advance): Likewise.
	(rs6000_darwin64_record_arg_recurse): Likewise.
	(function_arg): Likewise.
	(rs6000_gimplify_va_arg): Likewise.
	(rs6000_split_multireg_move): Likewise.
	(rs6000_output_function_epilogue): Likewise.
	(rs6000_output_function_epilogue): Likewise.
	(rs6000_register_move_cost): Likewise.
	(rs6000_function_value): Likewise.
	(rs6000_libcall_value): Likewise.

Co-Authored-By: Janis Johnson <janis187@us.ibm.com>
Co-Authored-By: Peter Bergner <bergner@vnet.ibm.com>

From-SVN: r122477
2007-03-02 09:57:08 -06:00
Uros Bizjak 0fa4c37026 i386.c (override_options): Put initialization of ix86_tune_mask and ix86_arch_mask to the correct place.
* config/i386/i386.c (override_options): Put initialization of
        ix86_tune_mask and ix86_arch_mask to the correct place.

From-SVN: r122476
2007-03-02 14:36:54 +01:00
Richard Sandiford 1f24ba024d t-vxworks (LIMITS_H_TEST): Define to true for VxWorks.
gcc/
	* config/t-vxworks (LIMITS_H_TEST): Define to true for VxWorks.

From-SVN: r122475
2007-03-02 12:38:32 +00:00
Richard Sandiford c3c9a5d23e t-vxworks (LIBGCC2_INCLUDES): Pass -nostdinc.
gcc/
	* config/t-vxworks (LIBGCC2_INCLUDES): Pass -nostdinc.
	Use $MULTIDIR to choose between the kernel and RTP headers,
	and use $WIND_BASE and $WIND_USR to locate them.

From-SVN: r122474
2007-03-02 12:37:31 +00:00
Uros Bizjak 8691cea396 re PR target/31019 (Microoptimization of the i386 and x86_64 compilers)
PR target/31019
	* config/i386/i386.h (TUNEMASK): Redefine to use ix86_tune_mask.
	(ARCHMASK): Define.
	(TARGET_CMOVE): Use ARCHMASK.
	(TARGET_CMPXCHG): Ditto.
	(TARGET_CMPXCHG8B): Ditto.
	(TARGET_XADD): Ditto.
	(TARGET_BSWAP): Ditto.
	* config/i386/i386.c (ix86_tune_mask): New global variable.
	(ix86_arch_mask): Ditto.
	(override_options): Initialize ix86_tune_mask and
	ix86_arch_mask. Use ARCHMASK to clear MASK_NO_FANCY_MATH_387 in
	target_flags.


Co-Authored-By: Michael Meissner <michael.meissner@amd.com>

From-SVN: r122473
2007-03-02 13:26:55 +01:00
Ben Elliston cee690f184 re PR middle-end/30992 (Scaling error in decimal floating-point arithmetic blows conversions to integers)
2007-03-02  Ben Elliston  <bje@au.ibm.com>

	PR 30992
	* config/dfp-bit.c (DFP_TO_INT): Initialise qval with "1.".

From-SVN: r122469
2007-03-02 16:28:06 +11:00
Joseph Myers 37ea0b7e74 target.h (init_dwarf_reg_sizes_extra): New target hook.
* target.h (init_dwarf_reg_sizes_extra): New target hook.
	* target-def.h (TARGET_INIT_DWARF_REG_SIZES_EXTRA): New default.
	* doc/tm.texi (TARGET_INIT_DWARF_REG_SIZES_EXTRA): Document.
	* dwarf2out.c (expand_builtin_init_dwarf_reg_sizes): Call this
	hook.
	* config/rs6000/rs6000.c (TARGET_INIT_DWARF_REG_SIZES_EXTRA,
	rs6000_init_dwarf_reg_sizes_extra): New.
	* config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Support
	SPE register high parts.

testsuite:
	* gcc.target/powerpc/spe-unwind-1.c, g++.dg/eh/simd-5.C: New
	tests.

From-SVN: r122468
2007-03-02 01:55:06 +00:00
Brooks Moses bcc3d150be Makefile.in: Add install-pdf target as copied from automake v1.10 rules.
* Makefile.in: Add install-pdf target as
copied from automake v1.10 rules.
* configure.ac: Add install-pdf to target list.
* configure: Regenerate.

From-SVN: r122466
2007-03-01 16:23:20 -08:00
Paul Brook fe2d934b4b arm.c (arm_legitimate_index_p): Limit iWMMXt addressing modes to LDRD for DImode.
2007-03-01  Paul Brook  <paul@codesourcery.com>

	* config/arm/arm.c (arm_legitimate_index_p): Limit iWMMXt addressing
	modes to LDRD for DImode.
	(output_move_double): Fixup out of range ldrd/strd.
	(vfp_secondary_reload_class): Rename...
	(coproc_secondary_reload_class): ... to this.  Add wb argument.
	* config/arm/arm.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use
	coproc_secondary_reload_class for CLASS_IWMMXT.
	(SECONDARY_INPUT_RELOAD_CLASS): Ditto.
	* arm-protos.h (coproc_secondary_reload_class): Update prototype.

From-SVN: r122437
2007-03-01 22:58:40 +00:00
Zdenek Dvorak 2711355fbc tree-ssa-loop-prefetch.c (determine_unroll_factor): Bound the unroll factor by the estimated number of iterations.
* tree-ssa-loop-prefetch.c (determine_unroll_factor):  Bound the unroll
	factor by the estimated number of iterations.
	(loop_prefetch_arrays): Do not prefetch in loops that iterate less than
	prefetch latency.

	* gcc.dg/tree-ssa/prefetch-4.c: New test.

From-SVN: r122435
2007-03-01 22:14:23 +00:00
Richard Henderson ceca734e8f expr.c (emit_move_complex_push): Export.
* expr.c (emit_move_complex_push): Export.
        (emit_move_complex_parts): Split out from ...
        (emit_move_complex): ... here.
        * expr.h (emit_move_complex_push, emit_move_complex_parts): Declare.
        * config/i386/i386.md (movcdi): New.

From-SVN: r122432
2007-03-01 08:30:38 -08:00
Uros Bizjak 93de7743ba i386.c (ix86_modes_tieable_p): Fix typo, use also size of mode1 to check for tieable modes in MMX case.
* config/i386/i386.c (ix86_modes_tieable_p): Fix typo, use also
	size of mode1 to check for tieable modes in MMX case.

From-SVN: r122429
2007-03-01 11:54:52 +01:00
Richard Sandiford 7ffb5e7879 Makefile.in (rtlanal.o): Depend on tree.h.
gcc/
	* Makefile.in (rtlanal.o): Depend on tree.h.
	* rtl.h (offset_within_section_p, split_const): Declare.
	* rtlanal.c: Include tree.h.
	(offset_within_block_p): New function, taken from
	mips_offset_within_object_p.
	(split_const): New function, taken from mips_split_const.
	* config/m68k/m68k-protos.h (m68k_illegitimate_symbolic_constant_p):
	Declare.
	* config/m68k/m68k.h (M68K_OFFSETS_MUST_BE_WITHIN_SECTIONS_P): Define.
	(CONSTANT_ADDRESS_P): Only accept legitimate constants.
	(LEGITIMATE_CONSTANT_P): Check m68k_illegitimate_symbolic_constant_p.
	* config/m68k/m68k.c (TARGET_CANNOT_FORCE_CONST_MEM): Define.
	(m68k_illegitimate_symbolic_constant_p): New function.
	* config/m68k/m68k.md (movsi): Remove misleading predicates.
	If M68K_OFFSETS_MUST_BE_WITHIN_SECTIONS_P and the source is a
	symbolic constant that might be outside the symbol's section,
	move the symbol first and then add the offset.
	* config/m68k/uclinux.h (M68K_OFFSETS_MUST_BE_WITHIN_SECTIONS_P):
	Override.
	* config/mips/mips.c (mips_split_const): Delete.
	(mips_offset_within_object_p): Delete.
	(mips_symbolic_constant_p): Use offset_within_section_p and
	split_const instead of mips_offset_within_object_p and
	mips_split_const.
	(mips_cannot_force_const_mem, mips_const_insns, mips_unspec_address)
	(mips_legitimize_const_move, print_operand_reloc)
	(mips_dangerous_for_la25_p): Use split_const instead of
	mips_split_const.

From-SVN: r122428
2007-03-01 09:58:12 +00:00
Eric Christopher d3dc619d32 revert: Makefile.def (dependencies): Add dependency for install-target-libssp and install-target-libgomp on install-gcc.
2007-02-28  Eric Christopher  <echristo@apple.com>

   Revert:
   2006-12-07  Mike Stump  <mrs@apple.com>

       * Makefile.def (dependencies): Add dependency for
       install-target-libssp and install-target-libgomp on
       install-gcc.
       * Makefile.in: Regenerate.

2007-02-28  Eric Christopher  <echristo@apple.com>

   * Makefile.in (install-include-dir): Don't rm -rf include.

From-SVN: r122415
2007-02-28 22:46:01 +00:00
Richard Guenther a6d5f37ceb re PR middle-end/30364 (Wrong variable ranges due to constant folding)
2007-02-28  Richard Guenther  <rguenther@suse.de>

	PR middle-end/30364
	* fold-const.c (fold_binary): Do not associate expressions
	with more than one variable for integer types that do not wrap.

	* gcc.dg/torture/pr30364-1.c: New testcase.
	* gcc.dg/torture/pr30364-2.c: Likewise.
	* gcc.dg/torture/pr30364-3.c: Likewise.

From-SVN: r122414
2007-02-28 21:56:41 +00:00
Sandra Loosemore 94a0dd7b59 builtins.c (fold_builtin_call_list, [...]): Delete, and replace with...
2007-02-28  Sandra Loosemore  <sandra@codesourcery.com>

	* gcc/builtins.c (fold_builtin_call_list, fold_builtin_call_valist):
	Delete, and replace with...
	(fold_builtin_call_array): This.  Update callers to use it.
	* gcc/fold-const.c (fold_build_call_list): Delete, and replace with...
	(fold_build_call_array): This.
	(fold_build_call_list_initializer): Delete, and replace with...
	(fold_build_call_array_initializer): This.
	* gcc/tree.h: Update declarations to reflect above changes.

	* gcc/c-typeck.c (build_function_call): Store converted arguments
	in a stack-allocated array instead of building a list.
	(convert_arguments): Store arguments in the array passed in as an
	argument, and return the actual number of arguments.
	* gcc/c-format.c: (check_function_format): Pass arguments in an
	array instead of a list.
	* gcc/c-common.c (check_function_nonnull): Likewise.
	(check_function_sentinel): Likewise.
	(check_function_arguments): Likewise.
	* gcc/c-common.h: Update declarations to reflect above changes.

	* gcc/cp/typeck.c (build_function_call): Store converted arguments
	in a stack-allocated array instead of building a list.
	(convert_arguments): Store arguments in the array passed in as an
	argument, and return the actual number of arguments.
	* gcc/cp/call.c (build_call): Delete, and replace with...
	(build_call_n, build_call_a): New.
	(build_op_delete_call): Rewrite to avoid constructing argument lists.
	(build_over_call): Store converted arguments in a stack-allocated
	array instead of building a list.
	(build_cxx_call): Pass arguments in an array instead of as a list.
	(build_java_interface_fn_ref): Rewrite to avoid constructing
	argument lists.
	* gcc/cp/tree.h: Update declarations to reflect above changes.
	* gcc/cp/method.c (use_thunk): Use a stack-allocated array to hold
	the arguments instead of a list.
	* gcc/cp/rtti.c (throw_bad_cast): Update call to cxx_call.
	(throw_bad_typeid): Likewise.
	(build_dynamic_cast_1): Likewise.
	* gcc/cp/init.c (build_builtin_delete_call): Use build_call_n.
	* gcc/cp/decl.c (expand_static_init): Likewise.
	* gcc/cp/except.c (cp_protect_cleanup_actions): Likewise.
	* gcc/cp/cp-gimplify.c (genericize_eh_spec_block): Likewise.
	(gimplify_must_not_throw_expr): Likewise.
	(cxx_omp_apply_fn): Use build_call_a.

From-SVN: r122411
2007-02-28 14:21:20 -05:00
Jan Hubicka 76bf4853ce predict.def (PRED_TREE_EARLY_RETURN, [...]): Update outcomes.
* predict.def (PRED_TREE_EARLY_RETURN, PRED_CONST_RETURN,
	PRED_NEGATIVE_RETURN): Update outcomes.

From-SVN: r122410
2007-02-28 18:27:07 +00:00
Bernd Schmidt 3b1bf459a3 calls.c (emit_library_call_value_1): Handle partial registers correctly when building up CALL_INSN_FUNCTION_USAGE.
* calls.c (emit_library_call_value_1): Handle partial registers
	correctly when building up CALL_INSN_FUNCTION_USAGE.

From-SVN: r122396
2007-02-28 00:37:09 +00:00
John David Anglin e214de0a0a predicates.md (move_src_operand): Allow zero for mode.
* pa/predicates.md (move_src_operand): Allow zero for mode.
	* pa/pa.md: Fix constraints for zero CONST_DOUBLE in 64-bit DFmode
	move pattern.

From-SVN: r122388
2007-02-28 00:11:14 +00:00
Uros Bizjak 8ab9333261 re PR target/30970 (Register zeroing by xor N,N should be moved out of loop)
PR target/30970
        * config/i386/sse.md (*mov<mode>_internal, *movv4sf_internal,
        *movv2df_internal): Enable pattern only for valid operand
        combinations.
        * config/i386/i386.c (ix86_modes_tieable_p): For SSE registers,
        tie only 128bit modes. For MMX registers, tie only 64bit modes.

testsuite/ChangeLog:

	PR target/30970
	* gcc.target/i386/gfortran.dg/pr30970.c: New test.

From-SVN: r122387
2007-02-27 22:27:27 +01:00
Mike Stump 3b41414683 darwin-crt3.c: Avoid compilation when compiling for a kext multilib.
* config/darwin-crt3.c: Avoid compilation when compiling for a
	kext multilib.

From-SVN: r122385
2007-02-27 20:47:55 +00:00
Joseph Myers f686ec0522 mkheaders.in (incdir): Use include-fixed not include.
fixincludes:
	* mkheaders.in (incdir): Use include-fixed not include.

gcc:
	* Makefile.in (PREPROCESSOR_DEFINES, test-protoize-simple): Define
	FIXED_INCLUDE_DIR.
	(stmp-int-hdrs, stmp-fixinc, install-headers): Use include-fixed
	for fixed headers and limits.h.
	(install-include-dir, install-headers-tar, install-headers-cpio,
	install-headers-cp, real-install-headers-tar,
	real-install-headers-cpio, real-install-headers-cp): Handle
	include-fixed as well as include.
	(install-mkheaders): Don't install files that go only in include
	not include-fixed.
	* cppdefault.c (cpp_include_defaults): Separate FIXED_INCLUDE_DIR
	from GCC_INCLUDE_DIR.
	* gcc.c (process_command): Remove special -BstageN/ handling.
	(do_spec_1): Add include-fixed directories.

From-SVN: r122384
2007-02-27 20:32:13 +00:00
Bernd Schmidt 01e7cd6e29 t-bfin-elf (LIB1ASMFUNCS): Add _umulsi3_highpart and _smulsi3_highpart.
* config/bfin/t-bfin-elf (LIB1ASMFUNCS): Add _umulsi3_highpart and
	_smulsi3_highpart.
	* config/bfin/lib1funcs.asm (___umulsi3_highpart, ___smulsi3_highpart):
	New functions.
	* config/bfin/bfin.md (smulsi3_highpart, umulsi3_highpart): New
	patterns.

From-SVN: r122379
2007-02-27 16:29:10 +00:00
Mark Mitchell f6fc5c864b c-common.c (get_priority): Add check for SUPPORTS_INIT_PRIORITY.
* c-common.c (get_priority): Add check for
	SUPPORTS_INIT_PRIORITY.

	* lib/target-supports.exp (check_effective_target_init_priority):
	Remove Solaris special case.

From-SVN: r122378
2007-02-27 15:49:23 +00:00
Bernd Schmidt 9713091585 bfin.md (rotl16, [...]): New patterns.
* config/bfin/bfin.md (rotl16, rotlsi3, rotrsi3): New patterns.

From-SVN: r122377
2007-02-27 15:26:19 +00:00
Bernd Schmidt 6ce986b971 bfin.c (bfin_output_mi_thunk): Use R3 as scratch reg instead of R2.
* config/bfin/bfin.c (bfin_output_mi_thunk): Use R3 as scratch reg
	instead of R2.

From-SVN: r122376
2007-02-27 15:20:47 +00:00
Bernd Schmidt 329437dd43 bfin.md (ssashiftv2hi3, [...]): Fix output template to use half reg for operand 2.
* config/bfin/bfin.md (ssashiftv2hi3, ssashifthi3, lshiftv2hi3,
	lshifthi3): Fix output template to use half reg for operand 2.

From-SVN: r122374
2007-02-27 13:55:56 +00:00
Bernd Schmidt 2889abeda3 bfin.h (enum reg_class, [...]): Add D0REGS through D7REGS.
* config/bfin/bfin.h (enum reg_class, REG_CLASS_NAMES,
	REG_CLASS_CONTENTS): Add D0REGS through D7REGS.
	(CONSTRAINT_LEN): Add entry for 'q'.
	(REG_CLASS_FROM_CONSTRAINT): Renamed from REG_CLASS_FROM_LETTER.
	Add 'q' constraints.
	(REGNO_REG_CLASS): For R0 through R7, return corresponding regclass.
	(CLASS_LIKELY_SPILLED_P): True for R0, R1 and R2.

	* config/bfin/bfin.md (add_with_carry): New pattern.
	(s_or_u, su_optab, su_modifier): New code macros/attrs.
	(<su_optab>hisi_ll, <su_optab>hisi_lh, <su_optab>hisi_hl,
	<su_optab>hisi_hh): Renamed from mulhisi_xx patterns; macroized to
	support unsigned multiplies too.  Removed incorrect commutativity from
	operand 1 constraint where appropriate.
	(usmulhisi_ull, usmulhisi_ulh, usmulhisi_uhl, usmulhisi_uhh): New
	patterns.
	(<su_optab>hisi_ll_lh, <su_optab>hisi_ll_hl, <su_optab>hisi_ll_hh,
	<su_optab>hisi_lh_hl, <su_optab>hisi_lh_hh, <su_optab>hisi_hl_hh):
	New patterns.
	(usmulhisi_ll_lul, usmulhisi_ll_luh, usmulhisi_ll_hul,
	usmulhisi_ll_huh, usmulhisi_lh_lul, usmulhisi_lh_luh, usmulhisi_lh_hul,
	usmulhisi_lh_huh, usmulhisi_hl_lul, usmulhisi_hl_luh, usmulhisi_hl_hul,
	usmulhisi_hl_huh, usmulhisi_hh_lul, usmulhisi_hh_luh, usmulhisi_hh_hul,
	usmulhisi_hh_huh): New patterns.

From-SVN: r122373
2007-02-27 13:44:10 +00:00
Bernd Schmidt ce27ef3d72 bfin.c: Include "cfglayout.h".
* config/bfin/bfin.c: Include "cfglayout.h".
	(MAX_LSETUP_DISTANCE): New macro.
	(struct loop_info): New members incoming, incoming_src and
	incoming_dest.  Delete member predecessor.
	(length_for_loop): New function.
	(bfin_optimize_loop): Handle more different loop structures.
	(bfin_discover_loop): Rework detection of predecessor blocks by
	examining incoming edges.
	(bfin_discover_loops, bfin_free_loops): New functions, broken out of
	bfin_reorg_loops.
	(bfin_reorder_loops): New function.
	(bfin_reorg_loops): Use these three new functions.

From-SVN: r122372
2007-02-27 13:25:41 +00:00
Bernd Schmidt 9b02a95e80 bfin.md (doloop_end): FAIL if counter reg isn't SImode.
* config/bfin/bfin.md (doloop_end): FAIL if counter reg isn't SImode.

From-SVN: r122371
2007-02-27 13:13:26 +00:00
Andreas Schwab 3b4ed48b65 * Makefile.in (TEXI_GCCINSTALL_FILES): Add gcc-common.texi.
From-SVN: r122368
2007-02-27 10:45:58 +00:00
Jan Hubicka dcb995f769 predict.c (last_basic_block_p): Remove.
* predict.c (last_basic_block_p): Remove.
	(tree_estimate_probability): Update return heuristic for commonized
	return blocks.

From-SVN: r122367
2007-02-27 10:21:55 +00:00
Brooks Moses e5fc6da81a * Makefile.in (TEXI_GCCINSTALL_FILES): Add gcc-vers.texi dependency.
From-SVN: r122366
2007-02-27 02:19:59 -08:00
Brooks Moses 7771bb621a gcc/ChangeLog ---------------------------------------------------------
gcc/ChangeLog ---------------------------------------------------------
	* doc/include/gcc-common.texi (versionsubtitle): New macro.
	* doc/cpp.texi: Standardize title page.
	* doc/cppinternals.texi: Likewise.
	* doc/gcc.texi: Standardize title page, remove version number
	from copyright page.
	* doc/gccint.texi: Likewise.
	* doc/install.texi: Standardize title page, add table of
	contents.

ada/ChangeLog ---------------------------------------------------------
	* gnat-style.texi: Standardize title page.
	* gnat_rm.texi: Likewise.
	* gnat_ugn.texi: Likewise.

fortran/ChangeLog -----------------------------------------------------
	* gfortran.texi: Standardize title page, remove version number
	from copyright page.

treelang/ChangeLog ----------------------------------------------------
	* treelang.texi: Standardize title page, remove version number
	from copyright page.

From-SVN: r122358
2007-02-26 22:00:47 -08:00
Jan Hubicka 75b6bb627c predict.def: Set outcomes according to more recent results.
* predict.def: Set outcomes according to more recent results.
	(PRED_LOOP_CONDITION, PRED_LOOP_PRECONDITIONING, PRED_LOOP_HEADER):
	Remove dead predictors.
	* predict.c (return_prediction): Fix pasto.

From-SVN: r122347
2007-02-27 00:07:03 +00:00
Bernd Schmidt 4898239452 loop-iv.c (simplify_using_initial_values): Fix oversight in previous change; avoid a memory leak when returning early.
* loop-iv.c (simplify_using_initial_values): Fix oversight in previous
	change; avoid a memory leak when returning early.

From-SVN: r122346
2007-02-26 23:42:43 +00:00
Mark Mitchell 57a4c089e2 c-decl.c (static_ctors): Move to c-common.c.
* c-decl.c (static_ctors): Move to c-common.c.
	(static_dtors): Likewise.
	(finish_function): Use c_record_cdtor_fn.
	(build_cdtor): Move to c-common.c.
	(c_write_global_declarations): Use c_build_cdtor_fns.
	* c-common.h (static_ctors): Declare.
	(static_dtors): Likewise.
	(c_record_cdtor_fn): Likewise.
	(c_build_cdtor_fns): Likewise.
	* c-common.c (static_ctors): New variable.
	(static_dtors): Likewise.
	(c_record_cdtor_fn): New function.
	(build_cdtor): Move from c-decl.c
	(c_build_cdtor_fns): New function.

	* semantics.c (expand_or_defer_fn): Call c_record_cdtor_fn.
	* decl2.c (cp_write_gloabl_declarations): Call c_build_cdtor_fns.

From-SVN: r122341
2007-02-26 21:14:24 +00:00
Mark Mitchell b2f4bed837 output.h (assemble_addr_to_section): Declare.
* output.h (assemble_addr_to_section): Declare.
	(get_cdtor_priority_section): Likewise.
	* varasm.c (assemble_addr_to_section): New function.
	(get_cdtor_priority_section): Likewise.
	(default_named_section_asm_out_destructor): Use them.
	(destor_dtor_section_asm_out_destructor): Likewise.
	(default_named_section_asm_out_constructor): Likewise.
	(default_ctor_section_asm_out_constructor): Likewise.
	* config.gcc (*-*-vxworks*): Include vxworks.o.
	* config/t-vxworks (vxworks.o): New target.
	* config/vxworks.h (ALWAYS_NUMBER_CTORS_SECTIONS): Remove.
	(TARGET_ASM_CONSTRUCTOR): Define.
	(TARGET_ASM_DESTRUCTOR): Likewise.
	(vxworks_asm_out_constructor): Declare.
	(vxworks_asm_out_destructor): Likewise.

	* c-common.c (get_priority): Check that we have not just an
	INTEGER_CST, but an integer constant with integeral type.

	* gcc.dg/vxworks/vxworks.exp: New file.
	* gcc.dg/vxworks/initpri1.c: Likewise.
	* gcc.dg/vxworks/initpri2.c: Likewise.
	* gcc.dg/initpri2.c: Add more tests.
	* g++.dg/special/initpri2.C: Likewise.

From-SVN: r122335
2007-02-26 15:53:51 +00:00
Uros Bizjak c4a4d1a076 re PR tree-optimization/30938 (Bootstrap fails on x86_64 for -ftree-vectorize)
PR tree-optimization/30938
        * tree-vect-transform.c (vectorizable_call): Fix off-by-one error:
        use &dt[nargs-1] instead of &dt[nargs] in the call to
        vect_is_simple_use().

From-SVN: r122323
2007-02-26 00:18:45 +01:00