1. 12 Jan, 2007 29 commits
    • re PR middle-end/30443 (4.3 internal compiler error: verify_cgraph_node failed) · 3d283195
      	PR tree-optimization/30443
      	* tree-inline.c (tree_function_versioning): Do not optimize when
      	cloning for inlining.
      
      From-SVN: r120730
      Jan Hubicka committed
    • loop.texi: Document recording of loop exits. · 6270df4c
      	* doc/loop.texi: Document recording of loop exits.
      	* cfgloopmanip.c (loopify, duplicate_loop): Use alloc_loop.
      	(update_single_exits_after_duplication,
      	update_single_exit_for_duplicated_loop,
      	update_single_exit_for_duplicated_loops): Removed.
      	(duplicate_loop_to_header_edge): Do not call
      	update_single_exits_after_duplication and
      	update_single_exit_for_duplicated_loops.
      	(loop_version): Do not update single_exit information.
      	(fix_loop_structure): Use record_loop_exits instead of
      	mark_single_exit_loops.
      	* tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Update
      	the lists of loop exits.
      	* cfghooks.c (redirect_edge_and_branch, redirect_edge_and_branch_force,
      	split_edge, merge_blocks): Update the lists of loop exits.
      	* modulo-sched.c (sms_schedule): Pass LOOPS_HAVE_RECORDED_EXITS to
      	loop_optimizer_init.
      	* loop-init.c (loop_optimizer_init): Call record_loop_exits instead
      	of mark_single_exit_loops.
      	(loop_optimizer_finalize): Call release_recorded_exits.
      	* tree-ssa-loop.c (tree_loop_optimizer_init): Pass
      	LOOPS_HAVE_RECORDED_EXITS to loop_optimizer_init.
      	* tree-vectorizer.c (slpeel_tree_duplicate_loop_to_edge_cfg): Do not
      	update single exit information.
      	* lambda-code.c (perfect_nestify): Ditto.
      	* cfgloop.c (flow_loop_free): Destroy the list of exits of the loop.
      	(mark_single_exit_loops): Removed.
      	(alloc_loop, loop_exit_hash, loop_exit_eq, loop_exit_free,
      	get_exit_descriptions, rescan_loop_exit, record_loop_exits,
      	dump_recorded_exit, dump_recorded_exits, release_recorded_exits): New
      	functions.
      	(get_loop_exit_edges, single_exit): Use recorded exit lists.
      	(add_bb_to_loop, remove_bb_from_loops): Update the lists of loop exits.
      	(verify_loop_structure): Verify consistency of the exit lists.
      	(flow_loops_find): Use alloc_loop.  Initialize exits hash.
      	(set_single_exit): Removed.
      	* cfgloop.h (struct loop_exit): New function.
      	(struct loop): single_exit_ field replaced by exits field.
      	(LOOPS_HAVE_MARKED_SINGLE_EXITS): Replaced by LOOPS_HAVE_RECORDED_EXITS.
      	(struct loops): Added exits hash.
      	(mark_single_exit_loops, set_single_exit): Declaration removed.
      	(release_recorded_exits, record_loop_exits, rescan_loop_exit): Declare.
      
      From-SVN: r120728
      Zdenek Dvorak committed
    • invoke.texi: Avoid use of @headitem. · 1cbe999f
      gcc/
      	* doc/invoke.texi: Avoid use of @headitem.
      
      From-SVN: r120726
      Richard Sandiford committed
    • PR libstdc++/30416 (continued) · 102693c7
      2007-01-12  Paolo Carlini  <pcarlini@suse.de>
      
      	PR libstdc++/30416 (continued)
      	* include/std/valarray (valarray<>::shift, valarray<>::cshift):
      	Allways return the same variable, thus facilitating NRVO.
      
      From-SVN: r120722
      Paolo Carlini committed
    • i386-signal.h: Rewrite to use rt_sigaction. · f005dd79
      2007-01-12  Andrew Haley  <aph@redhat.com>
      
              * include/i386-signal.h: Rewrite to use rt_sigaction.
      
      From-SVN: r120721
      Andrew Haley committed
    • re PR libstdc++/30416 (SIGSEGV in valarray::cshift(n) on empty array) · 8e768214
      2007-01-12  Paolo Carlini  <pcarlini@suse.de>
      
      	PR libstdc++/30416
      	* include/std/valarray (valarray<>::shift, valarray<>::cshift):
      	Do not segfault when |n| > size.
      	* testsuite/26_numerics/valarray/30416.cc: New.
      
      From-SVN: r120720
      Paolo Carlini committed
    • cse.c (cse_insn): Move HAVE_CC0 code after declarations. · 192232e2
      gcc/
      	* cse.c (cse_insn): Move HAVE_CC0 code after declarations.
      
      From-SVN: r120719
      Richard Sandiford committed
    • install.texi: Fix m68k-*-* anchor and add m68k-*-* to the list of targets. · 183dc04b
      gcc/
      	* doc/install.texi: Fix m68k-*-* anchor and add m68k-*-* to the
      	list of targets.
      
      From-SVN: r120718
      Richard Sandiford committed
    • 200x-xx-xx Nathan Sidwell <nathan@codesourcery.com> Richard Sandiford <richard@codesourcery.com> · 64826589
      gcc/
      200x-xx-xx  Nathan Sidwell  <nathan@codesourcery.com>
      	    Richard Sandiford  <richard@codesourcery.com>
      
      	* doc/invoke.texi: Document -mno-bitfield, -mno-rtd and -mno-short.
      	* config/m68k/m68k.opt: Resort options.
      	(mbitfield, mrtd, mshort): Remove RejectNegative properties.
      
      Co-Authored-By: Richard Sandiford <richard@codesourcery.com>
      
      From-SVN: r120717
      Nathan Sidwell committed
    • 200x-xx-xx Nathan Sidwell <nathan@codesourcery.com> Richard Sandiford <richard@codesourcery.com> · 7eb4f044
      gcc/
      200x-xx-xx  Nathan Sidwell  <nathan@codesourcery.com>
      	    Richard Sandiford  <richard@codesourcery.com>
      
      	* doc/invoke.texi: Document the macros that are defined by
      	m68k's -mtune and -mhard-float options.
      	* config/m68k/m68k-protos.h (m68k_cpp_cpu_ident) Declare.
      	(m68k_cpp_cpu_family): Likewise.
      	* config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Add a full set
      	of __ucfv*__ macros.  Define __mcffpu__ if generating code for
      	ColdFire FPUs.  Define __mcf_cpu_* and __mcf_family_* macros.
      	* config/m68k/m68k.c (m68k_cpp_cpu_ident): New function.
      	(m68k_cpp_cpu_family): Likewise.
      
      Co-Authored-By: Richard Sandiford <richard@codesourcery.com>
      
      From-SVN: r120716
      Nathan Sidwell committed
    • m68k.h (TARGET_CPU_CPP_BUILTINS): Treat all mc68* macros besides mc68000 as tuning macros. · 9321405c
      gcc/
      	* config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Treat all mc68*
      	macros besides mc68000 as tuning macros.  Use a switch statement
      	to set them and mcpu32.
      
      From-SVN: r120715
      Richard Sandiford committed
    • 200x-xx-xx Julian Brown <julian@codesourcery.com> · b101567e
      gcc/
      200x-xx-xx  Julian Brown  <julian@codesourcery.com>
      
      	* config/m68k/m68k.h: Use TARGET_68040 instead of TARGET_68040_ONLY.
      	(TARGET_68040_ONLY): Rename to...
      	(TARGET_68040): ...this.
      	* config/m68k/m68k.c: Use TARGET_68040 instead of TARGET_68040_ONLY.
      	* config/m68k/m68k.md: Likewise.
      
      From-SVN: r120714
      Julian Brown committed
    • 200x-xx-xx Julian Brown <julian@codesourcery.com> Nathan Sidwell... · 900ec02d
      gcc/
      200x-xx-xx  Julian Brown  <julian@codesourcery.com>
      	    Nathan Sidwell  <nathan@codesourcery.com>
      	    Richard Sandiford  <richard@codesourcery.com>
      
      	* config.gcc (m680[012]0-*-*, m68k*-*-*): Set m68k_cpu_ident to
      	the -mcpu= argument associated with the --with-cpu setting.
      	Define M68K_DEFAULT_TUNE to the default -mtune= option,
      	if different from the one implied by the -mcpu setting.
      	Accept --with-cpu=FOO if FOO is listed in m68k-devices.def,
      	using mcpu=FOO as the default CPU option.  Set target_cpu_default2.
      	* doc/invoke.texi: Mention ColdFire in the introduction to the
      	m68k options.  Document the new -march, -mcpu, -mtune, -mdiv,
      	-mno-div and -mhard-float options.  Make -m68881 a synonym for
      	-mhard-float.  Document the previously-undocumented -m5206e,
      	-m528x, -m5307 and -m5407 options.  Tweak the existing option
      	documentation for consistency.
      	* doc/install.texi: Mention new --with-cpu arguments.
      	* config/m68k/m68k.h (OPTION_DEFAULT_SPECS): Only use the
      	default CPU if neither -mcpu nor -march are specified.
      	(ASM_CPU_SPEC): Pass down -mcpu and -march options.
      	(TARGET_CPU_CPP_BUILTINS): Set __mcfisa*__ macros from
      	TARGET_ISA*.  Set the legacy __mcf*__ cpu macros in the same way,
      	using m68k_tune to decide between families that implement the
      	same ISA.  Use m68k_tune to set __mcfv4e__.
      	(FL_BITFIELD, FL_68881, FL_COLDFIRE, FL_CF_HWDIV, FL_CF_MAC)
      	(FL_CF_EMAC, FL_CF_EMAC_B, FL_CF_USP, FL_CF_FPU, FL_ISA_68000)
      	(FL_ISA_68010, FL_ISA_68020, FL_ISA_68040, FL_ISA_A, FL_ISA_B)
      	(FL_ISA_C, FL_ISA_MMU): New macros.
      	(MASK_COLDFIRE): Delete.
      	(TARGET_68010, TARGET_68020, TARGET_68040_ONLY, TARGET_COLDFIRE)
      	(TARGET_ISAB): Redefine in terms of m68k_cpu_flags.
      	(TARGET_68881, TARGET_COLDFIRE_FPU): Redefine in terms of m68k_fpu.
      	(TARGET_HARD_FLOAT): Do not define here.
      	(TARGET_ISAAPLUS, TARGET_ISAC): New macros.
      	(TUNE_68000): New macro.
      	(TUNE_68000_10): Redefine in terms of TUNE_68000 and TUNE_68010.
      	(TUNE_68010, TUNE_68030, TUNE_68040, TUNE_68060, TUNE_CPU32)
      	(TUNE_CFV2): Redefine in terms of m68k_tune.
      	(uarch_type, target_device, fpu_type): New enums.
      	(m68k_cpu, m68k_tune, m68k_fpu, m68k_cpu_flags): Declare.
      	* config/m68k/m68k.c (TARGET_DEFAULT): Remove MASK_68881.
      	(FL_FOR_isa_00, FL_FOR_isa_10, FL_FOR_isa_20, FL_FOR_isa_40)
      	(FL_FOR_isa_cpu32, FL_FOR_isa_a, FL_FOR_isa_aplus, FL_FOR_isa_b)
      	(FL_FOR_isa_c): New macros.
      	(m68k_isa): New enum.
      	(m68k_target_selection): New structure.
      	(all_devices, all_isas, all_microarchs): New tables.
      	(m68k_cpu_entry, m68k_arch_entry, m68k_tune_entry, m68k_cpu)
      	(m68k_tune, m68k_fpu, m68k_cpu_flags): New variables.
      	(MASK_ALL_CPU_BITS): Delete.
      	(m68k_find_selection): New function.
      	(m68k_handle_option): Handle -mcpu=, -march= and -mtune=.
      	Map the legacy target options to a combination of the new ones.
      	(override_options): Set m68k_cpu, m68k_tune, m68k_fpu and
      	m68k_cpu_flags.  Handle M68K_DEFAULT_TUNE.  Use m68k_cpu_flags
      	to derive default MASK_BITFIELD, MASK_CF_HWDIV and MASK_HARD_FLOAT
      	settings.
      	* config/m68k/m68k.opt (m5200, m5206e, m528x, m5307, m5407, mcfv4e)
      	(m68010, m68020, m68020-40, m68020-60, m68030, m68040): Remove Mask
      	properties.
      	(m68881, msoft-float): Change mask from 68881 to HARD_FLOAT.
      	(march=, mcpu=, mdiv, mhard-float, mtune=): New options.
      	* config/m68k/m68k-devices.def: New file.
      
      Co-Authored-By: Nathan Sidwell <nathan@codesourcery.com>
      Co-Authored-By: Richard Sandiford <richard@codesourcery.com>
      
      From-SVN: r120713
      Julian Brown committed
    • 200x-xx-xx Richard Sandiford <richard@codesourcery.com> Nathan Sidwell <nathan@codesourcery.com> · 0c004537
      gcc/
      200x-xx-xx  Richard Sandiford  <richard@codesourcery.com>
      	    Nathan Sidwell  <nathan@codesourcery.com>
      
      	* config/m68k/m68k.h (ASM_CPU_SPEC, ASM_SPEC, EXTRA_SPECS)
      	(SUBTARGET_EXTRA_SPECS): New macros.
      	* config/m68k/linux.h (ASM_SPEC): Remove CPU flags;
      	use %(asm_cpu_spec) instead.
      	* config/m68k/m68k-none.h (ASM_SPEC): Likewise.
      	* config/m68k/openbsd.h (ASM_SPEC): Likewise.
      	* config/m68k/netbsd-elf.h (ASM_SPEC): Likewise.
      	(EXTRA_SPECS): Rename to...
      	(SUBTARGET_EXTRA_SPECS): ...this.
      
      Co-Authored-By: Nathan Sidwell <nathan@codesourcery.com>
      
      From-SVN: r120712
      Richard Sandiford committed
    • 200x-xx-xx Nathan Sidwell <nathan@codesourcery.com> Richard Sandiford... · 59fbf3cb
      gcc/
      200x-xx-xx  Nathan Sidwell  <nathan@codesourcery.com>
      	    Richard Sandiford  <richard@codesourcery.com>
      	    Julian Brown  <julian@codesourcery.com>
      
      	* config.gcc (m68k-*-aout*, m68k-*-coff*, m68020-*-elf*, m68k-*-elf*)
      	(m68k-*-uclinux*, m68k-*-linux*, m68k-*-rtems*): Set default_m68k_cpu
      	to the configuration's default CPU.
      	(m68010-*-netbsdelf*, m68k*-*-netbsdelf*, m68k*-*-openbsd*): Likewise.
      	Remove default masks.
      	(m680[012]0-*-*): Set the default with_cpu to the first part of
      	the target name.
      	(m68k*-*-*): Set the default with_cpu to m$default_m68k_cpu.
      	(m68k*-*-linux): Extend the --with-cpu handling to...
      	(m680[012]0-*-*, m68k*-*-*): ...these configurations.  Allow m68000
      	and m68010.  Don't set target_cpu_default2.
      	* doc/install.texi: Document --with-cpu for m68k.
      	* config/m68k/m68k.h (OPTION_DEFAULT_SPECS): Define.
      	* config/m68k/m68k-none.h (TARGET_CPU_DEFAULT, M68K_CPU_m68k)
      	(M68K_CPU_m68000, M68K_CPU_m68010, M68K_CPU_m68020, M68K_CPU_m68030)
      	(M68K_CPU_m68040, M68K_CPU_m68302, M68K_CPU_m68332, TARGET_DEFAULT)
      	(ASM_CPU_DEFAULT_SPEC, CC1_CPU_DEFAULT_SPEC): Delete.
      	(ASM_SPEC): Remove use of %(asm_cpu_default).
      	(EXTRA_SPECS, SUBTARGET_EXTRA_SPECS, MULTILIB_DEFAULTS): Delete.
      	* config/m68k/linux.h (TARGET_DEFAULT): Delete.
      	(CPP_SPEC): Merge definitions.  Do not handle __HAVE_68881__ here.
      	* config/m68k/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define
      	__HAVE_FPU__ if TARGET_HARD_FLOAT.
      	(TARGET_DEFAULT): Delete.
      	(EXTRA_SPECS): Delete cpp_cpu_default_spec, cpp_cpu_spec,
      	cpp_fpu_spec, asm_default_spec and netbsd_cpp_spec.
      	(CPP_CPU_SPEC): Delete.
      	(TARGET_VERSION): Merge definitions, using TARGET_68010 to pick
      	the appropriate string.
      	(CPP_CPU_DEFAULT_SPEC, ASM_DEFAULT_SPEC, CPP_FPU_SPEC): Delete.
      	(CPP_SPEC): Define to NETBSD_CPP_SPEC.
      	(ASM_SPEC): Don't use %(asm_default_spec).
      	* config/m68k/m68k.c (TARGET_DEFAULT_TARGET_FLAGS): Remove
      	TARGET_DEFAULT and add MASK_68881.
      	* config/m68k/m68k.md: Remove mention of TARGET_DEFAULT from comments.
      
      Co-Authored-By: Julian Brown <julian@codesourcery.com>
      Co-Authored-By: Richard Sandiford <richard@codesourcery.com>
      
      From-SVN: r120711
      Nathan Sidwell committed
    • config.gcc (m68010-*-netbsdelf*): Add MASK_68010. · 3197c489
      gcc/
      	* config.gcc (m68010-*-netbsdelf*): Add MASK_68010.
      	(m68k*-*-netbsdelf*, m68k*-*-openbsd*, m68k*-linux*): Add
      	MASK_68010 alongside MASK_68020.
      	* doc/invoke.texi: Document -m68010.
      	* config/m68k/m68k.opt (m68010): New.
      	* config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Define mc68010
      	if TUNE_68010.
      	(TUNE_68010): New macro.
      	* config/m68k/m68k-none.h (M68K_CPU_m68k, M68K_CPU_m68010)
      	(M68K_CPU_m68020, M68K_CPU_m68030, M68K_CPU_m68040)
      	(M68K_CPU_m68332): Add MASK_68010.
      	* config/m68k/linux.h (TARGET_DEFAULT): Add MASK_68010 to
      	fallback definition.
      	* config/m68k/netbsd-elf.h (CPP_CPU_SPEC): Remove now-redundant
      	defines.
      	* config/m68k/m68k.c (MASK_ALL_CPU_BITS): Add MASK_68010.
      	(m68k_handle_option): Handle OPT_m68010.  Add MASK_68010
      	to all entries that use MASK_68020.
      	(output_move_simode_const, output_move_himode, output_move_qimode)
      	(output_move_stricthi, output_move_strictqi): Use TARGET_68010
      	instead of TARGET_68020 to select clr behavior.  Remove comment
      	about there being no TARGET_68010.
      	* config/m68k/m68k.md: Likewise throughout.
      
      From-SVN: r120710
      Richard Sandiford committed
    • 200x-xx-xx Julian Brown <julian@codesourcery.com> · 986e74d5
      gcc/
      200x-xx-xx  Julian Brown  <julian@codesourcery.com>
      
      	* config/m68k/m68k.h (TARGET_ISAB): New macro.
      	* config/m68k/m68k.c: Use TARGET_ISAB rather than TARGET_CFV4.
      	* config/m68k/m68k.md: Likewise.
      
      From-SVN: r120709
      Julian Brown committed
    • 200x-xx-xx Julian Brown <julian@codesourcery.com> · bb5bdf70
      gcc/
      200x-xx-xx  Julian Brown  <julian@codesourcery.com>
      
      	* config/m68k/m68k.h (LEGITIMATE_INDEX_P, LEGITIMIZE_ADDRESS): Use
      	TARGET_COLDFIRE_FPU instead of TARGET_CFV4E.
      
      From-SVN: r120708
      Julian Brown committed
    • 200x-xx-xx Julian Brown <julian@codesourcery.com> · 9cf106c8
      gcc/
      200x-xx-xx  Julian Brown  <julian@codesourcery.com>
      
      	* config/m68k/m68k.h (TUNE_68040_60): New macro.
      	* config/m68k/m68k.c (standard_68881_constant_p): Use it.
      	* config/m68k/m68k.md: Likewise.
      
      From-SVN: r120707
      Julian Brown committed
    • 200x-xx-xx Julian Brown <julian@codesourcery.com> Richard Sandiford <richard@codesourcery.com> · fe95f2f7
      gcc/
      200x-xx-xx  Julian Brown  <julian@codesourcery.com>
      	    Richard Sandiford  <richard@codesourcery.com>
      
      	* config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Use TUNE_68030
      	instead of TARGET_68030, TUNE_68040 instead of TARGET_68040,
      	TUNE_68060 instead of TARGET_68060 and TUNE_CPU32 instead of
      	TARGET_CPU32.
      	(TARGET_CPU32): Rename to...
      	(TUNE_CPU32): ...this.
      	(TUNE_68000_10, TUNE_68030, TUNE_68040, TUNE_68060)
      	(TUNE_CFV2): New macros.
      	* config/m68k/netbsd-elf.h (LONG_DOUBLE_TYPE_SIZE): Simplify;
      	remove conditions that are implied by TARGET_68020.
      	* config/m68k/m68k.c (m68k_output_function_prologue): Use TUNE_68040
      	instead of TARGET_68040 and TUNE_CPU32 instead of TARGET_CPU32.
      	(m68k_output_function_epilogue): Likewise.
      	(m68k_rtx_costs): Likewise.  Use TUNE_68060 instead of TARGET_68060
      	and TUNE_CFV2 instead of TARGET_5200.  Use TUNE_68000_10 instead of
      	"!TARGET_68020 && !TARGET_COLDFIRE" to choose between 68000 and
      	non-68000 timings.  Refactor multiplication and division costs.
      	(output_addsi3): Use TUNE_68040 instead of TARGET_68040 and
      	TUNE_CPU32 instead of TARGET_CPU32.
      	(standard_68881_constant_p): Use TUNE_68040 instead of TARGET_68040
      	and TUNE_68060 instead of TARGET_68060.
      	* config/m68k/m68k.md: Use TUNE_68040 instead of TARGET_68040,
      	TUNE_68060 instead of TARGET_68060, and TUNE_CPU32 instead of
      	TARGET_CPU32.
      	(movsi_const0): Use TUNE_68000_10 rather than "!TARGET_68020
      	&& !TARGET_COLDFIRE" to choose between moveq and clr.
      	Likewise in the unnamed movsf pattern.
      	(ashlsi_17_24, lshrsi_17_24): Guard with TUNE_68000_10 rather than
      	"!TARGET_68020 && !TARGET_COLDFIRE".  Likewise the unnamed
      	ashiftrt pattern.
      
      Co-Authored-By: Richard Sandiford <richard@codesourcery.com>
      
      From-SVN: r120706
      Julian Brown committed
    • m68k.h (TARGET_CPU_CPP_BUILTINS): Increase amount of tabbing before backslashes. · 9c6de4a1
      gcc/
      	* config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Increase amount
      	of tabbing before backslashes.
      
      From-SVN: r120705
      Richard Sandiford committed
    • * pex-unix.c (writeerr): Cast write result to void. · 1a8e58a3
      From-SVN: r120702
      Ben Elliston committed
    • pa-linux.h (ASM_OUTPUT_INTERNAL_LABEL): Undefine. · 179cd3d3
      	* pa-linux.h (ASM_OUTPUT_INTERNAL_LABEL): Undefine.
      	* pa.h (ASM_OUTPUT_LABEL): Output colon when using GAS.
      	(ASM_OUTPUT_INTERNAL_LABEL): Define.
      
      From-SVN: r120700
      John David Anglin committed
    • Typo fix. · 4d4f0164
      From-SVN: r120699
      Ben Elliston committed
    • choose-temp.c (choose_temp_base): Check the result of the call to mktemp rather… · 7d37bf39
      choose-temp.c (choose_temp_base): Check the result of the call to mktemp rather than testing the length of the...
      
      	* choose-temp.c (choose_temp_base): Check the result of the call
      	to mktemp rather than testing the length of the modified string.
      
      From-SVN: r120698
      Ben Elliston committed
    • tree-ssa-loop-ivopts.c (extract_cond_operands): Split from find_interesting_uses_cond. · b697aed4
      	* tree-ssa-loop-ivopts.c (extract_cond_operands): Split from
      	find_interesting_uses_cond.
      	(find_interesting_uses_cond): Use extract_cond_operands.
      	(rewrite_use_compare): Use extract_cond_operands and
      	force_gimple_operand_bsi.  Do not call update_stmt.
      	(determine_use_iv_cost_condition): Use extract_cond_operands.
      	Return cheaper of using original bound and changing the exit bound.
      
      	* gcc.dg/tree-ssa/loop-22.c: New test.
      
      From-SVN: r120697
      Zdenek Dvorak committed
    • re PR tree-optimization/29516 (gfortran miscompiled) · 820410e0
      	PR tree-optimization/29516
      	* tree-ssa-address.c (tree_mem_ref_addr, add_to_parts,
      	most_expensive_mult_to_index, addr_to_parts,
      	create_mem_ref, maybe_fold_tmr): Make the type of
      	fields of TARGET_MEM_REF sizetype.
      	(move_fixed_address_to_symbol, move_pointer_to_base):
      	New functions.
      	* tree.def (TARGET_MEM_REF): Add comment on types of
      	the operands.
      	* gcc.dg/tree-ssa/loop-20.c: New test.
      
      From-SVN: r120695
      Zdenek Dvorak committed
    • Daily bump. · 2d3cb33a
      From-SVN: r120693
      GCC Administrator committed
  2. 11 Jan, 2007 11 commits
    • c-common.c (vector_types_convertible_p): Treat opaque types as always… · 14e765da
      c-common.c (vector_types_convertible_p): Treat opaque types as always convertible if they have the same size...
      
      	* c-common.c (vector_types_convertible_p): Treat opaque types as
      	always convertible if they have the same size, but not otherwise.
      
      From-SVN: r120688
      Joseph Myers committed
    • typeck.c (convert): Don't use flag_emit_class_files. · 6e63e240
      	* typeck.c (convert): Don't use flag_emit_class_files.
      	* lang.c (java_post_options): Don't use flag_emit_class_files.
      	(java_handle_option): Don't use flag_extraneous_semicolon or
      	flag_redundant.
      	* jcf-parse.c (HANDLE_CONSTANTVALUE): Don't use
      	flag_emit_class_files.
      	(load_class): Likewise.
      	* java-tree.h (flag_emit_class_files): Don't declare.
      	(STATIC_CLASS_INIT_OPT_P): Don't use flag_emit_class_files.
      	(flag_extraneous_semicolon): Don't declare.
      	(flag_not_overriding): Likewise.
      	(flag_static_local_jdk1_1): Likewise.
      	(flag_redundant): Likewise.
      	* expr.c (build_newarray): Don't use flag_emit_class_files.
      	* class.c (DEFAULT_ENABLE_ASSERT): Don't use
      	flag_emit_class_files.
      	(build_class_ref): Likewise.
      	* builtins.c (check_for_builtin): Don't use
      	flag_emit_class_files.
      
      From-SVN: r120687
      Tom Tromey committed
    • ifcvt.c (struct noce_if_info): Add comments to the fields. · 2a33a75f
      	* ifcvt.c (struct noce_if_info): Add comments to the fields.
      	Remove the b_unconditional field.
      	(noce_try_sign_mask): Do not look at b_unconditional.
      	(noce_process_if_block): Do not use merge_if_blocks.  Update
      	the CFG here.  Do not set b_unconditional.
      	(cond_move_process_if_block): Likewise.
      	(find_cond_trap): Likewise.
      	(check_cond_move_block): Require simple jump insns at the end
      	of the basic block.
      
      From-SVN: r120686
      Steven Bosscher committed
    • re PR libfortran/30415 (MINLOC, MAXLOC missing for integer kinds 1 and 2) · 90d715b0
      2007-01-11  Thomas Koenig  <Thomas.Koenig@online.de>
      
      	PR libfortran/30415
      	* iresolve.c (gfc_resolve_maxloc):  If the rank
      	of the return array is nonzero and we process an
      	integer array smaller than default kind, coerce
      	the array to default integer.
      	* iresolve.c (gfc_resolve_minloc):  Likewise.
      
      2007-01-11  Thomas Koenig  <Thomas.Koenig@online.de>
      
      	PR libfortran/30415
      	* minmaxloc_integer_kinds_1.f90:  New test.
      
      From-SVN: r120685
      Thomas Koenig committed
    • configure.ac: Replaced HAS_I386_THREAD_STATE_* with HAS_X86_THREAD_STATE32_* and... · 583cb3d3
      2007-01-11  Andreas Tobler  <a.tobler@schweiz.org>
      
      	* configure.ac: Replaced HAS_I386_THREAD_STATE_* with
      	HAS_X86_THREAD_STATE32_* and HAS_X86_THREAD_STATE64_* respectively.
      	* configure: Regenerated.
      	* include/private/gcconfig.h (DARWIN): Added X86_64 define for Darwin.
      	Added base definitions for the X86_64 Darwin port.
      	* include/private/gc_priv.h: Added definitions for Darwin MACH thread
      	operations. Moved existing THREAD_STATE info from darwin_stop_world.c.
      	* darwin_stop_world.c: Removed THREAD_STATE info. Added
      	HAS_X86_THREAD_STATE64___RAX. And replaced HAS_I386_THREAD_STATE___EAX
      	with HAS_X86_THREAD_STATE32___EAX.
      	(GC_push_all_stacks): Use GC_MACH_THREAD_STATE_COUNT. Add code for
      	X86_64 Darwin.
      	* dyn_load.c (GC_dyld_name_for_hdr): Use GC_MACH_HEADER.
      	(GC_dyld_image_add): Use GC_MACH_HEADER and GC_MACH_SECTION.
      	Distinguish between getsectbynamefromheader_64 and
      	getsectbynamefromheader.
      	(GC_dyld_image_remove): Likewise.
      	* os_dep.c (GC_dirty_init): Use GC_MACH_THREAD_STATE.
      	(catch_exception_raise): Introduce exception information for I386 and
      	X86_64 Darwin. Add X86_64 for exc_state.faultvaddr.
      
      From-SVN: r120684
      Andreas Tobler committed
    • re PR c++/29573 (ICE after parse error in template argument) · 6f9f76e3
      2007-01-11  Simon Martin  <simartin@users.sourceforge.net>
      
      	PR c++/29573
      	* tree.c (cp_tree_equal): Properly handle MODOP_EXPR trees.
      
      From-SVN: r120683
      Simon Martin committed
    • re PR tree-optimization/1046 (gcc less efficient than jdk for recursion with -finline-functions) · 7faade0f
      	PR tree-optimization/1046
      	* tree-tailcall.c (suitable_for_tail_call_opt_p): Use TREE_ADDRESSABLE
      	when alias info is not ready.
      	(pass_tail_recursion): Do not require aliasing.
      	* tree-ssa-copyrename.c (pass_rename_ssa_cop): Likewise.
      	* tree-ssa-ccp.c (pass_ccp, pass_fold_builtins): Likewise.
      	* tree-ssa-copy.c (pass_copy_prop): Likewise.
      	* tree-ssa-forwprop.c (pass_forwprop): Likewise.
      	* tree-ssa-dce.c (pass_dce, pass_dce_loop, pass_cd_dce): Likewise.
      	* passes.c (init_optimization_passes): Execute rename_ssa_copies,
      	ccp, forwprop, copy_prop, merge_phi, copy_prop, dce and tail recursion
      	before inlining.
      	* tree-ssa-operands.c (add_virtual_operand, get_indirect_ref_operand):
      	When aliasing is not build, mark statement as volatile.
      
      	* gcc.dg/tree-ssa/tailrecursion-4.c: Update dump file.
      	* gcc.dg/tree-ssa/tailrecursion-1.c: Update dump file.
      	* gcc.dg/tree-ssa/tailrecursion-2.c: Update dump file.
      	* gcc.dg/tree-ssa/tailrecursion-3.c: Update dump file.
      	* gcc.dg/tree-ssa/pr21658.c: Likewise.
      	* gcc.dg/tree-ssa/pr15349.c: Likewise.
      	* gcc.dg/tree-ssa/pr25501.c: Likewise.
      	* gcc.dg/tree-ssa/vrp11.c: Make more complex so it still test
      	transformation in question.
      	* gcc.dg/tree-ssa/vrp05.c: Likewise.
      	* gcc.dg/tree-ssa/pr20701.c: Likewise.
      	* gcc.dg/always_inline3.c: Likewise.
      
      From-SVN: r120681
      Jan Hubicka committed
    • re PR tree-optimization/1046 (gcc less efficient than jdk for recursion with -finline-functions) · 18d5e416
      	PR tree-optimization/1046
      	* tree-tailcall.c (suitable_for_tail_call_opt_p): Use TREE_ADDRESSABLE
      	when alias info is not ready.
      	(pass_tail_recursion): Do not require aliasing.
      	* tree-ssa-copyrename.c (pass_rename_ssa_cop): Likewise.
      	* tree-ssa-ccp.c (pass_ccp, pass_fold_builtins): Likewise.
      	* tree-ssa-copy.c (pass_copy_prop): Likewise.
      	* tree-ssa-forwprop.c (pass_forwprop): Likewise.
      	* tree-ssa-dce.c (pass_dce, pass_dce_loop, pass_cd_dce): Likewise.
      	* passes.c (init_optimization_passes): Execute rename_ssa_copies,
      	ccp, forwprop, copy_prop, merge_phi, copy_prop, dce and tail recursion
      	before inlining.
      	* tree-ssa-operands.c (add_virtual_operand, get_indirect_ref_operand):
      	When aliasing is not build, mark statement as volatile.
      
      From-SVN: r120680
      Jan Hubicka committed
    • PR preprocessor/15185, PR preprocessor/20989: · 78392049
      	* doc/cppopts.texi <-MT>: Update description of algorithm for
      	computing default target.
      	<-M, -MD>: Reword "basename" text.
      
      From-SVN: r120679
      Tom Tromey committed
    • builtins.c (expand_builtin_pow, [...]): Replace uses of the macro… · 455f14dd
      builtins.c (expand_builtin_pow, [...]): Replace uses of the macro TREE_CONSTANT_OVERFLOW with TREE_OVERFLOW.
      
      
      	* builtins.c (expand_builtin_pow, expand_builtin_powi,
      	fold_builtin_cabs, fold_builtin_sqrt, fold_builtin_trunc,
      	fold_builtin_floor, fold_builtin_ceil, fold_builtin_round,
      	fold_builtin_int_int_roundingfn, fold_builtin_bitop,
      	fold_builtin_bswap, real_constp, fold_builtin_pow,
      	fold_builtin_powi, fold_builtin_signbit, fold_builtin_copysign,
      	do_mpfr_arg1, do_mpfr_arg2, do_mpfr_arg3, do_mpfr_sincos): Replace
      	uses of the macro TREE_CONSTANT_OVERFLOW with TREE_OVERFLOW.
      	* convert.c (convert_to_pointer): Likewise.
      	* expr.c (highest_pow2_factor, expand_expr_real_1): Likewise.
      	* fold-const.c (force_fit_type, fold_negate_expr, int_const_binop,
      	const_binop, fold_convert_const_int_from_int,
      	fold_convert_const_int_from_real,
      	fold_convert_const_real_from_real, sign_bit_p,
      	optimize_minmax_comparison, extract_muldiv_1, fold_div_compare,
      	fold_sign_changed_comparison, fold_unary, fold_comparison,
      	fold_binary, multiple_of_p, tree_Expr_non_zero_p,
      	fold_negate_const, fold_abs_const, fold_not_const): Likewise.
      	* print-tree.c (print_node_brief, print_node): Likewise.
      	* stor-layout.c (place_field, layout_type): Likewise.
      	* tree-chrec.c (keep_cast): Likewise.
      	* tree.c (build_vector, build_real, build_real_from_int_cst,
      	build_complex): Likewise.
      
      From-SVN: r120678
      Roger Sayle committed