Commit Graph

32009 Commits

Author SHA1 Message Date
Alexandre Oliva 8857ae1c20 re PR debug/29906 (-g option creates internal compiler error)
gcc/ChangeLog:
PR debug/29906
* dwarf2out.c (force_type_die): Adjust comment.
(dwarf2out_imported_module_or_decl): Handle base AT_import types.
gcc/testsuite/ChangeLog:
PR debug/29906
* g++.dg/debug/pr29906.C: New

From-SVN: r122976
2007-03-16 05:08:25 +00:00
DJ Delorie ba502ad6be predicates.md (minmax_operator): Don't check operands here.
* config/frv/predicates.md (minmax_operator): Don't check operands
here.

From-SVN: r122971
2007-03-15 20:56:36 -04:00
Zdenek Dvorak 9bdb685eda tree-ssa-loop-niter.c (record_estimate): Add "upper" argument.
* tree-ssa-loop-niter.c (record_estimate): Add "upper" argument.
	Update constant estimates of number of iterations.
	(record_nonwrapping_iv): Add "upper" argument.  "data_size_bounds_p"
	argument renamed to "realistic".
	(compute_estimated_nb_iterations): Removed.
	(record_niter_bound): New function.
	(idx_infer_loop_bounds): For possible but unlikely tail arrays,
	call record_nonwrapping_iv with upper = false.
	(infer_loop_bounds_from_signedness): Pass upper argument to
	record_nonwrapping_iv.
	(estimate_numbers_of_iterations_loop): Do not call
	compute_estimated_nb_iterations.  Record estimate based on profile
	information.  Initialize the constant estimates of number of
	iterations.
	* tree-data-ref.c (estimated_loop_iterations): Return the recorded
	estimates.
	* tree-ssa-loop-prefetch.c (loop_prefetch_arrays): Add dump when
	number of iterations is too small.
	* cfgloop.h (struct nb_iter_bound): Remove "realistic" field.
	(EST_NOT_AVAILABLE): Removed.
	(struct loop): Replace estimated_nb_iterations by any_upper_bound,
	nb_iterations_upper_bound, any_estimate and nb_iterations_estimate
	fields.

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

From-SVN: r122969
2007-03-16 00:25:30 +00:00
Zdenek Dvorak 17b236ed68 tree-ssa-loop-niter.c (refine_bounds_using_guard, [...]): Handle NE_EXPR guards.
* tree-ssa-loop-niter.c (refine_bounds_using_guard, bound_difference):
	Handle NE_EXPR guards.

From-SVN: r122963
2007-03-15 23:47:18 +00:00
Manuel López-Ibáñez 9b439fe168 re PR c++/24924 (front end and preprocessor pedantic_errors settings should agree)
2007-03-15  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	PR c++/24924
	* c-opts.c (c_common_post_options): Handle C++ post-processing here.
	Set also -pedantic-errors by default for the  preprocessor unless
	-fpermissive is given.
cp/
	* decl.c (cxx_init_decl_processing): Move command-line options
	processing to c-opts.c.
testsuite/
	* g++.dg/cpp/pedantic-errors.C: New.
	* g++.dg/cpp/permissive.C: New.

From-SVN: r122961
2007-03-15 22:24:42 +00:00
Richard Guenther 34a24c113b re PR middle-end/29719 (newlib targets ICEs in expand_builtin_int_roundingfn)
2007-03-15  Richard Guenther  <rguenther@suse.de>

	PR middle-end/29719
	PR middle-end/31161
	* builtins.c (expand_builtin_int_roundingfn): Always fall
	back to floor/ceil and its variants even if they may be
	not available.
	(expand_builtin_cexpi): As a fallback if we
	don't have builtins for sincos or cexp create a function
	declaration for cexp and expand to a call to that.

From-SVN: r122958
2007-03-15 20:14:49 +00:00
Steven Bosscher 49ea3702aa cfglayout.c (fixup_reorder_chain): Postpone deleting dead jump tables...
* cfglayout.c (fixup_reorder_chain): Postpone deleting dead
	jump tables, move the call to delete_dead_jumptables from here...
	(cfg_layout_finalize): ...to here.  But rebuild jump labels first.
	* cfgrtl.c (cfg_layout_can_merge_blocks_p): When not optimizing,
	don't allow merging of blocks that try_redirect_by_replacing_jump
	also does not handle when not optimizing.

From-SVN: r122957
2007-03-15 20:08:29 +00:00
Uros Bizjak 419452fe7e i386.md (x86_sahf_1): Correctly handle HAVE_AS_IX86_SAHF.
* config/i386/i386.md (x86_sahf_1): Correctly handle
       HAVE_AS_IX86_SAHF.


Co-Authored-By: Francois-Xavier Coudert <coudert@clipper.ens.fr>

From-SVN: r122953
2007-03-15 11:31:49 +01:00
Uros Bizjak 68b8830aa0 re PR target/31167 (ICE wnen using __int128_t on x86_64)
PR target/31167
        * config/i386/i386.md (*addti3_1, *addti3_1 splitter): Use
        x86_64_general_operand as operand[2] predicate.  Remove "iF"
        from operand constraints and use "e" constraint instead.
        (*subti3_1, *subti3_1 splitter): Ditto.
        (*negti2_1, *negti2_1 splitter): Use nonimmediate_operand as
        operand[1] predicate.

testsuite/ChangeLog

       PR target/31167
       * gcc.target/i386/pr31167.c: New test.

From-SVN: r122945
2007-03-15 08:25:22 +01:00
Sebastian Pop c4d8f83b55 tree-loop-linear.c (gather_interchange_stats): For multidimensional arrays...
* tree-loop-linear.c (gather_interchange_stats): For multidimensional
	arrays, multiply the access strides by the size of the sub-array.
	* testsuite/gcc.dg/tree-ssa/ltrans-5.c: New.

From-SVN: r122935
2007-03-14 23:23:24 +00:00
Uros Bizjak 38ca376525 configure.ac (HAVE_AS_IX86_SAHF): On x86 targets check whether the configured assembler supports the sahf mnemonic.
* configure.ac (HAVE_AS_IX86_SAHF): On x86 targets check whether
        the configured assembler supports the sahf mnemonic.
        * configure: Regenerate.
        * config.in: Regenerate.

        * config/i386/i386.md (x86_sahf_1): Depending on HAVE_AS_IX86_SAHF,
        emit "sahf" or ".byte\t0x9e" as asm template.

From-SVN: r122931
2007-03-14 22:03:59 +01:00
Michael Meissner e9f646295d Fix 31018 -- move TARGET_xxx in i386.md to tuning options
From-SVN: r122929
2007-03-14 20:02:03 +00:00
Dirk Mueller 62e00e9474 c-common.h (empty_body_warning): Rename to empty_if_body_warning.
2007-03-14  Dirk Mueller  <dmueller@suse.de>

        * c-common.h (empty_body_warning): Rename to empty_if_body_warning.
        * c-common.c (empty_if_body_warning): Rephrase diagnostic message.
        * c-parser.c (c_parser_if_body): Always add an empty statement in case
        of empty body.
        * c-parser.c (c_parser_do_statement): Warn about empty body in
        do/while statement.
        * c-typeck (c_finish_if_stmt): Call empty_if_body_warning.
        * doc/invoke.texi (-Wempty-body): Update documentation.

        * cp/semantics.c (c_finish_if_stmt): Call empty_if_body_warning.
        (finish_do_body): Warn about empty body in do/while statement.

        * g++.dg/warn/do-empty.C: New.
        * gcc.dg/do-empty.c: New.
        * gcc.dg/if-empty-1.c: Update.
        * gcc.dg/20001116-1.c: Update.
        * gcc.dg/pr23165.c: Update.

From-SVN: r122928
2007-03-14 19:33:17 +00:00
Manuel López-Ibáñez 2e9cb75ef7 re PR c/21438 (Warning about division by zero depends on lexical form)
2007-03-14  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	PR c/21438
	* c-common.h (warn_for_div_by_zero): Declare.
	* c-common.c (warn_for_div_by_zero): Define.
	* c-typeck.c (build_binary_op): Call warn_for_div_zero instead of
	warning.
cp/
	* typeck.c (build_binary_op): Call warn_for_div_zero instead of
	warning.

From-SVN: r122925
2007-03-14 18:37:37 +00:00
Richard Sandiford 925af765a6 Makefile.in (PREPROCESSOR_DEFINES): Add directory terminators to PREFIX and STANDARD_PREFIX.
gcc/
	* Makefile.in (PREPROCESSOR_DEFINES): Add directory terminators
	to PREFIX and STANDARD_PREFIX.

From-SVN: r122924
2007-03-14 16:06:36 +00:00
Richard Sandiford ac0d72f6f0 200x-xx-xx Richard Sandiford <richard@codesourcery.com> Phil Edwards <phil@codesourcery.com>
gcc/
200x-xx-xx  Richard Sandiford  <richard@codesourcery.com>
	    Phil Edwards  <phil@codesourcery.com>

	* gthr-vxworks.h: Add an extern "C" wrapper for C++.
	(__gthread_once_t): Remove busy field for RTPs.
	(__GTHREAD_ONCE_INIT): Update accordingly.

Co-Authored-By: Phil Edwards <phil@codesourcery.com>

From-SVN: r122923
2007-03-14 13:58:21 +00:00
Richard Sandiford cd773ac48b invoke.texi: Document VxWorks options.
gcc/
	* doc/invoke.texi: Document VxWorks options.

From-SVN: r122922
2007-03-14 13:58:04 +00:00
Uros Bizjak 8c5fd59f94 invoke.texi (i386 and x86-64 Options): Clarify -msahf option.
* doc/invoke.texi (i386 and x86-64 Options): Clarify -msahf option.

From-SVN: r122910
2007-03-14 08:47:32 +01:00
Seongbae Park e31657e812 re PR tree-optimization/30590 (tree-nrv optimization clobbers return variable)
2007-03-13  Seongbae Park <seongbae.park@gmail.com>

	PR tree-optimization/30590
	* tree-nrv.c (tree_nrv): Check for the partial update of the
	return value.

From-SVN: r122909
2007-03-14 05:48:35 +00:00
Alexandre Oliva 403d485122 flags.h (flag_random_seed): Remove declaration, in favor of...
gcc/ChangeLog:
* flags.h (flag_random_seed): Remove declaration, in favor of...
* toplev.h (get_random_seed, set_random_seed): ... these.
* tree.c (get_file_function_name): Use the former.
* opts.c (common_handle_option): Use the latter.
* toplev.c
gcc/cp/ChangeLog:
* cp/repo.c (init_repo): Initialize random_seed saved options.
(finish_repo): Adjust.

From-SVN: r122901
2007-03-14 01:47:33 +00:00
Alexandre Oliva 481e0a49bb re PR middle-end/31127 (ICE in cse_find_path, at cse.c:5930)
gcc/ChangeLog:
PR middle-end/31127
* cse.c (cse_find_path): Do not bail out if a basic block that
we already visited now becomes part of a path that starts at a
different basic block.  Just disallow this, to make sure we
visit each basic block at most once.
gcc/testsuite/ChangeLog:
PR middle-end/31127
* gcc.dg/pr31127.c: New.

From-SVN: r122900
2007-03-14 01:45:39 +00:00
Jan Hubicka 4cdb798f6c ipa-inline.c (cgraph_maybe_hot_edge_p): Look for hot/cold attributes...
* ipa-inline.c (cgraph_maybe_hot_edge_p): Look for hot/cold attributes,
	when profile esitmate is present, calls with very low frequency are
	cold.

From-SVN: r122898
2007-03-14 01:26:00 +00:00
Zdenek Dvorak b3ce5b6ed7 re PR tree-optimization/30730 (-Wunsafe-loop-optimizations gives too many warnings)
PR tree-optimization/30730
	PR tree-optimization/26900
	* tree-ssa-loop-niter.c: Include gmp.h.
	(bounds): New type.
	(mpz_set_double_int, get_type_bounds, mpz_to_double_int,
	split_to_var_and_offset, determine_value_range,
	bound_difference_of_offsetted_base, refine_bounds_using_guard,
	bound_difference, bounds_add, bounds_negate,
	number_of_iterations_ne_max, dump_affine_iv): New functions.
	(number_of_iterations_ne, number_of_iterations_lt_to_ne,
	assert_loop_rolls_lt, assert_loop_rolls_le): Use bounds on the
	difference of initial and final value of control iv to validate
	results.
	(number_of_iterations_cond): Add loop parameter.  Determine bounds
	on the difference of the extremes of the control iv.  Add dumps.
	(expand_simple_operations): Handle phi nodes.
	(simplify_using_initial_conditions): Do not record used conditions.
	(number_of_iterations_exit): Pass loop to number_of_iterations_cond.
	Do not set additional_info.
	(implies_nonnegative_p, implies_ge_p): Removed.
	(derive_constant_upper_bound): Do not use parameter `additional'.
	(record_estimate): Parameter `additional' removed.  Parameter
	`i_bound' added.  Do not call derive_constant_upper_bound.
	(record_nonwrapping_iv): Use derive_constant_upper_bound to
	bound the number of iterations estimate.
	(estimate_numbers_of_iterations_loop): Pass the estimate from
	the number of iterations analysis to record_estimate.
	* tree.h (multiple_of_p): Declare.
	* tree-scalar-evolution.c (expression_expensive_p): Removed.
	(scev_const_prop): Do not check expression_expensive_p.
	* fold-const.c (multiple_of_p): Exported.
	* double-int.c (double_int_mask): Exported.
	* double-int.h (double_int_mask): Declare.
	* tree-flow.h (struct tree_niter_desc): Removed additional_info
	field.  Added max field.

	* gcc.dg/tree-ssa/loop-26.c: New test.

From-SVN: r122896
2007-03-14 00:38:34 +00:00
David Taylor 3dfe046fa7 re PR driver/12448 (-MT / -MQ don't behave as documented.)
2007-03-13  David Taylor  <taylor@candd.org>

	PR driver/12448:
	* gcc.c (cpp_unique_options): If -MT or -MQ is seen, don't pass
	default -MQ.

From-SVN: r122889
2007-03-13 23:50:42 +00:00
John David Anglin dc92acbc66 re PR target/31123 (FAIL: gcc.c-torture/execute/builtin-bitops-1.c compilation, -O3 ...)
PR target/31123
	Fix ChangeLog entry.

From-SVN: r122887
2007-03-13 23:23:54 +00:00
John David Anglin de94a581a9 pa.md (vdepi_ior): Don't allow zero length deposit.
* pa.md (vdepi_ior): Don't allow zero length deposit.  Likewise for
	two unamed patterns.

From-SVN: r122885
2007-03-13 23:09:08 +00:00
Uros Bizjak 5be6cb59b3 i386.opt (mcx16, msahf): New options.
* config/i386/i386.opt (mcx16, msahf): New options.
        * config/i386/i386.c (x86_cmpxchg16b, x86_sahf): Remove.
        (ix86_tune_features) [X86_TUNE_USE_SAHF]: Enable for m_GENERIC.

        * config/i386/driver-i386.c (bit_LAHF_LM): New define.
        (host_detect_local_cpu): Detect cx16 and lahf_lm cpuid bits.
        Output -mcx16 and -msahf options when corresponding bit is set.

        * doc/invoke.texi (i386 and x86-64 Options): Document -mcx16
        and -msahf options.

testsuite/ChangeLog

        * testsuite/gcc.target/i386/cmpxchg16b-1.c: New test.

From-SVN: r122884
2007-03-13 22:18:33 +01:00
Alexandre Oliva 03943c05c1 configure.ac: Test for assembler tolerance to # 0 "".
* configure.ac: Test for assembler tolerance to # 0 "".
* configure, config.in: Rebuilt.
* final.c (final_scan_insn): Emit it if HAVE_AS_LINE_ZERO.

From-SVN: r122879
2007-03-13 07:19:14 +00:00
Geoffrey Keating 98312a9bed * doc/invoke.texi (Spec Files): Update for '%{,' spec.
From-SVN: r122878
2007-03-13 07:15:51 +00:00
Geoffrey Keating 49522de2d2 darwin-fallback.c: Compile file only on powerpc.
* config/rs6000/darwin-fallback.c: Compile file only on powerpc.
	(handle_syscall): Handle direct system calls.
	* config/rs6000/darwin.h (HAS_MD_FALLBACK_FRAME_STATE_FOR): Delete.

From-SVN: r122877
2007-03-13 07:13:16 +00:00
Brooks Moses 7d07e4ea35 invoke.texi: Fix cpp.info cross-reference.
* doc/invoke.texi: Fix cpp.info cross-reference.
* doc/passes.texi: Fix gcc.info cross-reference.

From-SVN: r122869
2007-03-12 15:05:07 -07:00
Zdenek Dvorak fbb0d4f878 re PR middle-end/30835 (ICE with -O2 -ftree-loop-linear)
PR tree-optimization/30835
	* lambda-code.c (can_convert_to_perfect_nest): Check whether
	bb_for_stmt is not NULL before accessing it.

From-SVN: r122866
2007-03-12 21:56:12 +00:00
Joseph Myers dc5bbad332 gcc.c (main): Handle target_sysroot_hdrs_suffix being NULL for some multilibs.
* gcc.c (main): Handle target_sysroot_hdrs_suffix being NULL for
	some multilibs.

From-SVN: r122865
2007-03-12 21:32:41 +00:00
Brooks Moses 80ca80e9cc re PR bootstrap/30635 (--enable-stage1-langauges configure option is not documented.)
PR 30635
* doc/install.texi: Document --enable-stage1-languages

From-SVN: r122861
2007-03-12 13:03:33 -07:00
Steven Bosscher dacb3cda32 tree-pass.h (pass_into_cfg_layout_mode, [...]): Declare.
* tree-pass.h (pass_into_cfg_layout_mode,
	pass_outof_cfg_layout_mode): Declare.
	* cfglayout.c (into_cfg_layout_mode, outof_cfg_layout_mode,
	pass_into_cfg_layout_mode, pass_outof_cfg_layout_mode): New.
	* passes.c (pass_into_cfg_layout_mode): Schedule before jump2.
	(pass_outof_cfg_layout_mode): Schedule after pass_rtl_ifcvt.

From-SVN: r122858
2007-03-12 19:38:06 +00:00
Brooks Moses 6da4bc4e6e Fixed erroneous ChangeLog and gcc/ChangeLog entries.
From-SVN: r122856
2007-03-12 12:00:28 -07:00
Seongbae Park 50d50fc7ee invoke.texi (Wvla): New warning.
ChangeLog:

2007-03-12  Seongbae Park <seongbae.park@gmail.com>

	* gcc/doc/invoke.texi (Wvla): New warning.

gcc/ChangeLog:

2007-03-12  Seongbae Park <seongbae.park@gmail.com>

	* c-decl.c (warn_variable_length_array): New function.
	Refactored from grokdeclarator to handle warn_vla
	and handle unnamed array case.
	(grokdeclarator): Refactored VLA warning case.
	* c.opt (Wvla): New flag.

gcc/cp/ChangeLog:

2007-03-12  Seongbae Park <seongbae.park@gmail.com>

	* decl.c (compute_array_index_type): New warning flag warn_vla.

gcc/testsuite/ChangeLog:

2007-03-12  Seongbae Park <seongbae.park@gmail.com>

 	* gcc.dg/wvla-1.c: New test
 	* gcc.dg/wvla-2.c: New test
 	* gcc.dg/wvla-3.c: New test
 	* gcc.dg/wvla-4.c: New test
 	* gcc.dg/wvla-5.c: New test
 	* gcc.dg/wvla-6.c: New test
 	* gcc.dg/wvla-7.c: New test
	* g++.dg/warn/Wvla-1.C: New test
	* g++.dg/warn/Wvla-2.C: New test
	* g++.dg/warn/Wvla-3.C: New test

From-SVN: r122851
2007-03-12 18:31:39 +00:00
Richard Henderson ae0698035b alpha.c (alpha_elf_section_type_flags): New.
* config/alpha/alpha.c (alpha_elf_section_type_flags): New.
	(TARGET_SECTION_TYPE_FLAGS): New.

From-SVN: r122850
2007-03-12 11:15:51 -07:00
Richard Henderson 24c78b3ac8 darwin.c (machopic_reloc_rw_mask): New.
* config/darwin.c (machopic_reloc_rw_mask): New.
        * config/darwin-protos.h (machopic_reloc_rw_mask): Declare.
        * config/darwin.h (TARGET_ASM_RELOC_RW_MASK): New.

From-SVN: r122846
2007-03-12 10:00:11 -07:00
Mark Mitchell 6d4817e374 cppdefault.c (cpp_EXEC_PREFIX): New variable.
* cppdefault.c (cpp_EXEC_PREFIX): New variable.
	* cppdefault.h (cpp_PREFIX): Document.
	(cpp_PREFIX_len): Likewise.
	(cpp_EXEC_PREFIX): New variable.
	* Makefile.in (PREPROCESSOR_DEFINES): Add STANDARD_EXEC_PREFIX.
	* c-incpath.c (add_standard_paths): Correct logic for relocating
	paths within prefix.

From-SVN: r122843
2007-03-12 15:59:06 +00:00
Uros Bizjak d8e3118a8b i386.md (fixuns_trunc<mode>hi2): Implement from fixuns_truncsfhi2 and fixuns_truncdfhi2 using SSEMODEF mode macro.
* config/i386/i386.md (fixuns_trunc<mode>hi2): Implement from
	fixuns_truncsfhi2 and fixuns_truncdfhi2 using SSEMODEF
	mode macro.
	(fix_trunc<mode>di_sse): Implement from fix_truncsfdi_sse and
	fix_truncdfdi_sse using SSEMODEF mode macro.
	(fix_trunc<mode>si_sse): Implement from fix_truncsfsi_sse and
	fix_truncdfsi_sse using SSEMODEF mode macro.
	(fix_trunc?f?i_sse peephole2): Implement using SSEMODEF mode macro.
	(fix_trunc?f?i_sse K8 peephole2): Fix register constraint.

From-SVN: r122839
2007-03-12 12:32:13 +01:00
Richard Sandiford 8906bbc09c config.gcc (i[4567]86-wrs-vxworks, [...]): Add elfos.h to tm_file.
gcc/
	* config.gcc (i[4567]86-wrs-vxworks, i[4567]86-wrs-vxworksae): Add
	elfos.h to tm_file.

From-SVN: r122837
2007-03-12 09:58:50 +00:00
Olga Golovanevsky d4e702949e ipa-type-escape improvements
From-SVN: r122835
2007-03-12 08:44:48 +00:00
Richard Guenther 13338552e2 re PR middle-end/31115 (libstdc++ 22_locale/num_get/get/char/2.cc 27_io/basic_ostream/inserters_arithmetic/char/6.cc)
2007-03-11  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/31115
	* tree-vrp.c (extract_range_from_binary_expr): Make sure
	the shift count is positive and non-anti-range for RSHIFT_EXPR.
	A shift count of zero is not special as with *_DIV_EXPR.
	(vrp_int_const_binop): Handle RSHIFT_EXPR for determining overflow
	direction.

	* gcc.dg/torture/pr31115.c: New testcase.

From-SVN: r122821
2007-03-11 16:08:35 +00:00
Ian Lance Taylor d7419dec45 tree-vrp.c (vrp_int_const_binop): Handle PLUS_EXPR and the *_DIV_EXPR codes correctly with overflow infinities.
* tree-vrp.c (vrp_int_const_binop): Handle PLUS_EXPR and
	the *_DIV_EXPR codes correctly with overflow infinities.

From-SVN: r122820
2007-03-11 15:53:30 +00:00
Ira Rosen e838422b9e tree-data-ref.c (analyze_offset): Add a return value (bool) to indicate success/failure of the analysis.
* tree-data-ref.c (analyze_offset): Add a return value (bool) to
	indicate success/failure of the analysis. Add negation to subtrahend
	in case of subtraction. Fail if both operands contain constants.
	(create_data_ref): Fail if analyze_offset fails.

From-SVN: r122817
2007-03-11 11:13:34 +00:00
Uros Bizjak acaaf0c621 i386.md (frndintxf2): Rename to ...
* config/i386/i386.md (frndintxf2): Rename to ...
        (rintxf2): ... this. Remove expander having same name.
        (rintsf2, rintdf2): Implement using SSEMODEF macro.
        (roundsf2, rounddf2): Ditto.
        (lrint<mode>di2, lrint<mode>si2): Implement using SSEMODEI24 macro.
        (lround<mode>di2, lround<mode>si2): Ditto.

From-SVN: r122815
2007-03-11 11:27:30 +01:00
Steven Bosscher 7984c78796 lower-subreg.c: Include except.h.
* lower-subreg.c: Include except.h.
	(decompose_multiword_subregs): Verify that the only control flow
	insns we can split are loads to multi-words pseudos.
	Handle breaking such blocks after splitting, instead of calling
	find_many_sub_basic_blocks.

	* loop-unroll.c (split_edge_and_insert): Don't set BB_SUPERBLOCK
	on the new basic block.  Add a lengthy comment explaining why we
	thought this was necessary.
	* cfglayout.c (cfg_layout_finalize): Don't break superblocks.

From-SVN: r122807
2007-03-10 23:33:40 +00:00
Mark Mitchell ed574fe919 Fix PR number.
From-SVN: r122804
2007-03-10 19:48:44 +00:00
Mark Mitchell 222725d08c re PR target/20924 (inline float divide does not set correct fpu status flags)
PR c++/20924
	* tree.c (walk_type_fields): Recurse into the element type of
	ARRAY_TYPEs if there is a pointer set.

	PR c++/20924
	* g++.dg/template/array18.C: New test.

From-SVN: r122801
2007-03-10 19:35:03 +00:00