Commit Graph

34360 Commits

Author SHA1 Message Date
Joseph Myers 8d8da22788 MAINTAINERS (c4x port): Remove.
* MAINTAINERS (c4x port): Remove.

contrib:
	* paranoia.cc (main): Remove handling of c4x_single and
	c4x_extended formats.

gcc:
	* config/c4x: Remove directory.
	* config.gcc (crx-*, mt-*): Mark obsolete.
	(c4x-*, tic4x-*, c4x-*-rtems*, tic4x-*-rtems*, c4x-*, tic4x-*,
	h8300-*-rtemscoff*, ns32k-*-netbsdelf*, ns32k-*-netbsd*,
	sh-*-rtemscoff*): Remove cases.
	* defaults.h (C4X_FLOAT_FORMAT): Remove.
	* real.c (encode_c4x_single, decode_c4x_single,
	encode_c4x_extended, decode_c4x_extended, c4x_single_format,
	c4x_extended_format): Remove.
	* real.h (c4x_single_format, c4x_extended_format): Remove.
	* doc/extend.texi (interrupt, naked): Remove mention of attributes
	on C4x.
	(Pragmas): Remove comment about c4x pragmas.
	* doc/install.texi (c4x): Remove target-specific instructions.
	* doc/invoke.texi (TMS320C3x/C4x Options): Remove.
	* doc/md.texi (Machine Constraints): Remove C4x documentation.
	* doc/tm.texi (MEMBER_TYPE_FORCES_BLK, c_register_pragma): Do not
	refer to C4x source files as examples.
	(C4X_FLOAT_FORMAT): Remove documentation.

gcc/testsuite:
	* gcc.dg/builtin-inf-1.c, gcc.dg/compare6.c, gcc.dg/sibcall-3.c,
	gcc.dg/sibcall-4.c, gcc.dg/torture/builtin-attr-1.c: Don't handle
	c4x-*-* targets.

libgcc:
	* config.host (tic4x-*-*, c4x-*-rtems*, tic4x-*-rtems*, c4x-*,
	tic4x-*, h8300-*-rtemscoff*, ns32k-*-netbsdelf*, ns32k-*-netbsd*,
	sh-*-rtemscoff*): Remove cases.

From-SVN: r131835
2008-01-25 20:49:04 +00:00
Bernd Schmidt fb7c3b0519 bfin.c (override_options): Reorder tests so that flag_pic gets enabled for -msep-data.
* config/bfin/bfin.c (override_options): Reorder tests so that
	flag_pic gets enabled for -msep-data.

From-SVN: r131829
2008-01-25 17:05:26 +00:00
Richard Guenther dd3b33d773 re PR middle-end/32244 (bit-field: optimization BUG)
2008-01-25  Richard Guenther  <rguenther@suse.de>

	PR middle-end/32244
	* expr.c (expand_expr_real_1): Reduce result of LSHIFT_EXPR
	to its bitfield precision if required.

	* gcc.c-torture/execute/pr32244-1.c: New testcase.

From-SVN: r131828
2008-01-25 15:33:09 +00:00
Jakub Jelinek c256730cef re PR middle-end/33880 (ICE: in extract_omp_for_data, at omp-low.c:162)
PR middle-end/33880
	* tree-nested.c (walk_omp_for): New function.
	(convert_nonlocal_reference, convert_local_reference): Call
	walk_omp_for on OMP_FOR.
	(convert_call_expr): Call walk_body on OMP_FOR's
	OMP_FOR_PRE_INIT_BODY.

	* testsuite/libgomp.c/pr33880.c: New test.
	* testsuite/libgomp.fortran/pr33880.f90: New test.

From-SVN: r131825
2008-01-25 13:54:42 +01:00
Richard Guenther 59805c3b29 re PR tree-optimization/34966 (ICE: verify_ssa fails when optimization trigonometric code)
2008-01-25  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/34966
	* tree-ssa-math-opts.c (execute_cse_sincos_1): For all but
	default defs and PHI_NODEs we have to insert after the
	defining statement.

	* gcc.c-torture/compile/pr34966.c: New testcase.

From-SVN: r131824
2008-01-25 12:08:52 +00:00
Nick Clifton f84fe9b6f7 stormy16-lib2.c (MIN_UNITS_PER_WORD): Provide a default definition.
* config/stormy16/stormy16-lib2.c (MIN_UNITS_PER_WORD):
  Provide a default definition.
  (LIBGCC2_UNITS_PER_WORD): Likewise.

  * config/stormy16/stormy16.c: Include df.h for the prototype
  for df_regs_ever_live_p.
  (xstormy16_expand_builtin_va_start): Convert the stack offset
  into a component_ref and then use POINTER_PLUS_EXPR to add it
  to the incoming_virtual_args_rtx.
  (xstormy16_gimplify_va_arg_expr): Rename to
  xstormy16_gimplify_va_arg_expr.
  Use POINTER_PLUS_EXPR when performing pointer arithmetic.
  (TARGET_GIMPLIFY_VA_ARG_EXPR): Use renamed
  xstormy16_gimplify_va_arg_expr.
  Fix up some formatting issues.

  * config/stormy16/stormy16.c: (xstormy16_carry_plus_operand):
  Move to predicates.md.
  (xs_hi_general_operand): Likewise.
  (xs_hi_nonmemory_operand): Likewise.
  * config/stormy16/predicates.md:
  (xstormy16_carry_plus_operand): New predicate.
  (xs_hi_general_operand): New predicate.
  (xs_hi_nonmemory_operand): New predicate.
  * config/stormy16/stormy16-protos.h:
  (xstormy16_carry_plus_operand): Delete prototype.
  (xs_hi_general_operand): Likewise.
  (xs_hi_nonmemory_operand): Likewise.

  * config/storm16/stormy16.md (addhi3): Remove earlyclobber
  modifiers as they are no longer needed and they can trigger
  reload spill failures.

  * config/storm16/stormy16.md (ineqbranchsi): Replace match_dup
  with a match_operand in order to help reload.

  * config/storm16/stormy16.md (movhi_internal): Replace 'r'
  constraint with 'e' for the 8th alternative as this version of
  the mov.w instruction only accepts the lower 8 registers.

From-SVN: r131822
2008-01-25 11:23:44 +00:00
Uros Bizjak d1f0728e65 re PR target/34856 (ICE with some constant vectors)
PR target/34856
	* simplifx-rtx.c (simplify_const_binary_operation) [VEC_CONCAT]:
	Consider only CONST_INT, CONST_DOUBLE and CONST_FIXED as constant
	vector elements.

testsuite/ChangeLog:

	PR target/34856
	* gcc.dg/pr34856.c: Use pointer mode for "pin".

From-SVN: r131821
2008-01-25 11:25:21 +01:00
Jakub Jelinek 80e67011e3 re PR middle-end/33333 (ICE with #pragma omp parallel for in try/catch statement)
PR middle-end/33333
	* gimplify.c (gimplify_omp_for): Gimplify OMP_FOR_PRE_BODY.

	* g++.dg/gomp/pr33333.C: New test.

From-SVN: r131820
2008-01-25 10:12:57 +01:00
Golovanevsky Olga 1525f2c3a5 ipa-struct-reorg.c (remove_str_allocs_in_func, [...]): New functions.
2008-01-25  Golovanevsky Olga  <olga@il.ibm.com>

	* ipa-struct-reorg.c (remove_str_allocs_in_func, remove_str_allocs):
	New functions.
	(remove_structure): Update allocations list before removing structure.

From-SVN: r131818
2008-01-25 08:02:54 +00:00
Olga Golovanevsky bd91d74392 [multiple changes]
2008-01-25  Golovanevsky Olga  <olga@il.ibm.com>

	* ipa-struct-reorg.c (is_safe_cond_expr, 
	create_new_stmts_for_cond_expr): Use integer_zerop function,
	that recognize not only zero-pointer, but zero-integer too.
	
2008-01-24  Olga Golovanevsky  <olga@il.ibm.com>

        * gcc.dg/struct/wo_prof_malloc_size_var.c: UnXFAIL.

From-SVN: r131817
2008-01-25 07:47:46 +00:00
Ben Elliston ae7a8ebc89 Committed with RM approval this time.
PR other/22232
	* fixproto: Escape "." in sed expression that strips leading "./".

From-SVN: r131809
2008-01-25 07:52:56 +11:00
H.J. Lu 3371362cb0 re PR driver/34904 (-march=native doesn't work with multiple input files)
2008-01-24  H.J. Lu  <hongjiu.lu@intel.com>

	PR driver/34904
	* gcc.c (SWITCH_OK): Removed.
	(SWITCH_LIVE): Changed to bit.
	(SWITCH_FALSE): Likewise.
	(SWITCH_IGNORE): Likewise.
	(switchstr): Change live_cond to unsigned int.
	(process_command): Replace SWITCH_OK with 0.
	(do_self_spec): Likewise.
	(set_collect_gcc_options): Check the SWITCH_IGNORE bit.
	(give_switch): Likewise.
	(used_arg): Likewise.
	(do_spec_1): Set the SWITCH_IGNORE bit.
	(check_live_switch): Check both SWITCH_LIVE and SWITCH_FALSE
	bits.  Set the SWITCH_LIVE bit.

From-SVN: r131802
2008-01-24 10:57:12 -08:00
Andreas Krebbel 5f1b2ee68f s390.h (MOVE_RATIO): Define new target macro.
2008-01-24  Andreas Krebbel  <krebbel1@de.ibm.com>

	* config/s390/s390.h (MOVE_RATIO): Define new target macro.

From-SVN: r131799
2008-01-24 18:06:20 +00:00
Richard Sandiford 986d97ed88 re PR tree-optimization/34472 (gcc.dg/struct/wo_prof_malloc_size_var.c doesn't work)
gcc/
	PR tree-optimization/34472
	* ipa-struct-reorg.c (safe_cond_expr_check): Change the DATA
	parameter to a "bool *" and set *DATA to false if there is
	an unsafe access.  Do not delete the structure here.
	(check_cond_exprs): Delete it here instead.
	(check_cond_exprs, exclude_cold_structs): Do not increase
	I when removing a structure.

From-SVN: r131798
2008-01-24 17:46:31 +00:00
Uros Bizjak fcc448088d re PR target/34856 (ICE with some constant vectors)
PR target/34856
	* config/i386/i386.c (ix86_expand_vector_init): Consider only
	CONST_INT, CONST_DOUBLE and CONST_FIXED as constant vector elements.

testsuite/ChangeLog:

	PR target/34856
	* gcc.dg/pr34856.c: New test.

From-SVN: r131796
2008-01-24 18:08:10 +01:00
Jakub Jelinek 134c2de333 re PR middle-end/34934 (-O1 crash compile *** glibc detected *** /usr/lib/gcc/i486-linux-gnu/4.2.3/cc1: double free or corruption (!prev))
PR middle-end/34934
	* tree-stdarg.c (reachable_at_most_once): Use VEC vector instead of
	a fixed vector for stack.

	* gcc.c-torture/compile/20080124-1.c: New test.

From-SVN: r131780
2008-01-24 16:13:17 +01:00
Ben Elliston 89bf8683d7 re PR c++/25701 (gcc.texi missing @direntry for g++)
PR c++/25701
	* doc/gcc.texi (Software development): Add a direntry for g++.

From-SVN: r131778
2008-01-24 21:22:11 +11:00
Ben Elliston a831a85585 Revert this patch, as it is not a regression.
2008-01-24  Ben Elliston  <bje@au.ibm.com>

	PR other/22232
	* fixproto: Escape "." in sed expression that strips leading "./".

From-SVN: r131769
2008-01-24 11:11:47 +11:00
Ben Elliston c67bfa31ef re PR other/22232 (Bug in "fixproto" (missing escape))
PR other/22232
	* fixproto: Escape "." in sed expression that strips leading "./".

From-SVN: r131768
2008-01-24 10:26:24 +11:00
Hans-Peter Nilsson 6c660aeb0e cris.h (CC1PLUS_SPEC, [...]): Drop stale and straggling -fforce-addr comments above.
* config/cris/cris.h (CC1PLUS_SPEC, OPTIMIZATION_OPTIONS): Drop
	stale and straggling -fforce-addr comments above.

From-SVN: r131763
2008-01-23 17:24:06 +00:00
Hans-Peter Nilsson 02a4bca9c9 cris.h (CRIS_SUBTARGET_VERSION, [...]): Don't define.
* config/cris/cris.h (CRIS_SUBTARGET_VERSION, TARGET_VERSION): Don't
	define.
	* config/cris/linux.h (CRIS_SUBTARGET_VERSION): Don't define.
	* config/cris/aout.h (CRIS_SUBTARGET_VERSION): Don't define.

From-SVN: r131762
2008-01-23 17:17:58 +00:00
Michael Matz b4da9f9dd0 re PR debug/34895 (ICE in force_type_die, at dwarf2out.c:12923)
PR debug/34895
        * dwarf2out.c (force_type_die): Use modified_type_die instead of
        gen_type_die.

        * g++.dg/debug/pr34895.cc: New testcase.

From-SVN: r131761
2008-01-23 16:44:27 +00:00
Andreas Krebbel 1b7af7b04c ipa-struct-reorg.c (create_new_malloc): Use pointer type as malloc result type.
2008-01-23  Andreas Krebbel  <krebbel1@de.ibm.com>

	* ipa-struct-reorg.c (create_new_malloc): Use pointer type as
	malloc result type.

From-SVN: r131760
2008-01-23 16:41:30 +00:00
Anatoly Sokolov 19298da4bd avr.c (avr_current_arch): New variable.
* config/avr/avr.c (avr_current_arch): New variable.
	(avr_arch_types): Add 'avr31' and 'avr51' entries.
	(avr_arch): Add 'ARCH_AVR31' and 'ARCH_AVR51'.
	(avr_mcu_types): Add 'avr31' and 'avr51' architectures.
	(avr_override_options): Init 'avr_current_arch'. 
	(base_arch_s): Move from here...
	* config/avr/avr.h (base_arch_s): ... here. Add new members 
	'have_elpm', 'have_elpmx', 'have_eijmp_eicall', 'reserved'. Rename 
	'mega' to 'have_jmp_call'.
	(TARGET_CPU_CPP_BUILTINS): Define "__AVR_HAVE_JMP_CALL__", 
	"__AVR_HAVE_RAMPZ__", 	"__AVR_HAVE_ELPM__" and  "__AVR_HAVE_ELPMX__"
	macros.
	(LINK_SPEC, CRT_BINUTILS_SPECS, ASM_SPEC): Add 'avr31' and 'avr51' 
	architectures.
	* config/avr/t-avr (MULTILIB_OPTIONS, MULTILIB_DIRNAMES, 
	MULTILIB_MATCHES): (Ditto.).

From-SVN: r131759
2008-01-23 18:07:09 +03:00
Richard Guenther b86b3ea354 re PR middle-end/31529 (ICE in cgraph_expand_function with IMA)
2008-01-23  Richard Guenther  <rguenther@suse.de>

	PR middle-end/31529
	* cgraphunit.c (cgraph_reset_node): Always mark the node
	not reachable if it is not queued already.

	* gcc.dg/pr31529-1.c: New testcase.
	* gcc.dg/pr31529-2.c: Likewise.

From-SVN: r131758
2008-01-23 14:20:07 +00:00
Bernd Schmidt fa8d4a0f09 bfin-protos.h (WA_RETS, [...]): New macros.
* config/bfin/bfin-protos.h (WA_RETS, ENABLE_WA_RETS): New macros.
	* config/bfin/bfin.c (bfin_cpus): Add WA_RETS everywhere.
	(cputype_selected): New static variable.
	(bfin_handle_option): Set it if -mcpu is used.
	(override_option): Select default set of workarounds if no cpu type
	selected on the command line.
	(workaround_rts_anomaly): Only run if ENABLE_WA_RETS.

From-SVN: r131752
2008-01-23 02:17:00 +00:00
Bernd Schmidt 64882649ca gcc/
From  Michael Frysinger  <michael.frysinger@analog.com>
	* config/bfin/bfin-protos.h (enum bfin_cpu_type): Add
	BFIN_CPU_BF547, BFIN_CPU_BF523, BFIN_CPU_BF524, and BFIN_CPU_BF526.

	* config/bfin/elf.h (LIB_SPEC): Use proper linker script
	for bf547, bf523, bf524, and bf526.
	* config/bfin/bfin.c (bfin_cpus[]): Add bf547,  bf523, bf524, and
	bf526.
	* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define
	__ADSPBF523__ for bf523, __ADSPBF524__ for bf524,
	__ADSPBF526__ for bf526, __ADSPBF52x__ for all three, as well as
	__ADSPBF547__ and __ADSPBF54x__ for bf547.
	* doc/invoke.texi (Blackfin Options): Document that
	-mcpu now accept bf547, bf523, bf524, and bf526.

gcc/testsuite/
	From Michael Frysinger  <michael.frysinger@analog.com>
	* gcc.target/bfin/mcpu-bf547.c: New test.
	* gcc.target/bfin/mcpu-bf523.c: New test.
	* gcc.target/bfin/mcpu-bf524.c: New test.
	* gcc.target/bfin/mcpu-bf526.c: New test.

From-SVN: r131746
2008-01-22 23:55:43 +00:00
Eric Botcazou df1a98aeca re PR rtl-optimization/34628 (problems with inlining on ARM)
PR rtl-optimization/34628
	* combine.c (try_combine): Stop and undo after the first combination
	if an autoincrement side-effect on the first insn has effectively
	been lost.

From-SVN: r131744
2008-01-22 22:27:47 +00:00
David Edelsohn 1a23970d0e re PR target/34529 (Wrong code with altivec stores and offsets)
PR target/34529
        * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
        Offset addresses are not valid for Altivec or paired float modes.

From-SVN: r131741
2008-01-22 16:12:05 -05:00
Jakub Jelinek 61c3a446a2 re PR c++/34607 (ICE with invalid for loop after #pragma omp for)
PR c++/34607
	* c-parser.c (c_parser_omp_for_loop): Don't call c_finish_omp_for
	if DECL_INITIAL (decl) is error_mark_node.

	* semantics.c (finish_omp_for): Don't call c_finish_omp_for
	if decl or init is error_mark_node.

	* gcc.dg/gomp/pr34607.c: New test.
	* g++.dg/gomp/pr34607.C: New test.

From-SVN: r131730
2008-01-22 18:25:37 +01:00
Jakub Jelinek 270e749db4 re PR c++/34914 (Member pointer to vector rejected)
PR c++/34914
	* c-common.c (handle_vector_size_attribute): Only allow
	integral, scalar float and fixed point types.  Handle OFFSET_TYPE
	the same way as pointer, array etc. types.
	* tree.c (reconstruct_complex_type): Handle OFFSET_TYPE.

	* g++.dg/ext/vector10.C: New test.

From-SVN: r131729
2008-01-22 18:03:12 +01:00
Jakub Jelinek 42a89d2d54 re PR c++/34917 (ICE with const vector)
PR c++/34917
	* tree.c (build_type_attribute_qual_variant): Call
	build_qualified_type if attributes are equal, but quals are not.

	* g++.dg/ext/vector12.C: New test.

From-SVN: r131726
2008-01-22 17:18:14 +01:00
Manuel López-Ibáñez 027b740e14 re PR c/32102 (-Wall stomps on -Wstrict-overflow)
2008-01-22  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

        PR 32102
        * doc/invoke.texi (-Wall): -Wall enables -Wstrict-overflow=1.
        * flags.h (warn_strict_aliasing): Remove.
        (warn_strict_overflow): Remove.
        * opts.c (warn_strict_aliasing): Remove.
        (warn_strict_overflow): Remove.
        * c-opts.c (c_common_handle_option): -Wall only sets
        -Wstrict-aliasing or -Wstrict-overflow if they are uninitialized.
        (c_common_post_options): Give default values to -Wstrict-aliasing
        and -Wstrict-overflow if they are uninitialized.
        * common.opt (Wstrict-aliasing): Specify Var and Init.
        (Wstrict-overflow): Likewise.

testsuite/
        * gcc.dg/Wstrict-overflow-21.c: New.
        * g++.dg/warn/Wstrict-aliasing-8.C: New.

From-SVN: r131720
2008-01-22 14:11:44 +00:00
Kenneth Zadeck 963acd6f89 re PR tree-optimization/26854 (Inordinate compile times on large routines)
2008-01-22  Kenneth Zadeck <zadeck@naturalbridge.com>

	PR rtl-optimization/26854
	PR rtl-optimization/34400
	PR rtl-optimization/34884
	* ddg.c (create_ddg_dep_from_intra_loop_link): Use
	DF_RD->gen.
	* df.h (df_changeable_flags.DF_RD_NO_TRIM): Deleted
	(df_rd_bb_info.expanded_lr_out): Deleted
	* loop_invariant.c (find_defs): Deleted DF_RD_NO_TRIM flag.
	* loop_iv.c (iv_analysis_loop_init): Ditto.  * df-problems.c
	(df_rd_free_bb_info, df_rd_alloc, df_rd_confluence_n,
	df_rd_bb_local_compute, df_rd_transfer_function, df_rd_free):
	Removed code to allocate, initialize or free expanded_lr_out.
	(df_rd_bb_local_compute_process_def): Restructured to make more
	understandable.
	(df_rd_confluence_n): Removed code to no apply invalidate_by_call
	sets if the sets are being trimmed.

From-SVN: r131719
2008-01-22 13:57:01 +00:00
H.J. Lu 115e6e5572 re PR bootstrap/32287 (gas version style changed causes warnings with configure)
2008-01-22  H.J. Lu  <hongjiu.lu@intel.com>

	PR bootstrap/32287
	* configure.ac (ld_vers): Support GNU linker version xx.xx.*
	(as_vers): Likewise.
	* configure: Regenerated.

From-SVN: r131718
2008-01-22 05:55:11 -08:00
Manuel López-Ibáñez f9d023841c re PR tree-optimization/33092 (Using -O1 -fno-tree-salias results in ICE)
2008-01-22  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	PR middle-end/33092
	* tree-pass.h (pass_build_alias): New pass.
	* tree-ssa-alias.c (gate_build_alias): New.
	(pass_build_alias): New.
	* passes.c (init_optimization_passes): Add pass_build_alias after
	pass_create_structure_vars.

testsuite/
	* gcc.dg/pr33092.c: New.

From-SVN: r131717
2008-01-22 13:27:52 +00:00
Wolfgang Gellerich 0387c1429d s390.h (S390_TDC_POSITIVE_NORMALIZED_NUMBER): Renamed to S390_TDC_POSITIVE_NORMALIZED_BFP_NUMBER.
2008-01-22  Wolfgang Gellerich  <gellerich@de.ibm.com>

	* config/s390/s390.h (S390_TDC_POSITIVE_NORMALIZED_NUMBER):
	Renamed to S390_TDC_POSITIVE_NORMALIZED_BFP_NUMBER.
	(S390_TDC_NEGATIVE_NORMALIZED_NUMBER): Renamed to
	S390_TDC_NEGATIVE_NORMALIZED_BFP_NUMBER.
	(S390_TDC_POSITIVE_DENORMALIZED_NUMBER): Renamed to
	S390_TDC_POSITIVE_DENORMALIZED_BFP_NUMBER.
	(S390_TDC_NEGATIVE_DENORMALIZED_NUMBER): Renamed to
	S390_TDC_NEGATIVE_DENORMALIZED_BFP_NUMBER.
	(S390_TDC_POSITIVE_NORMALIZED_BFP_NUMBER): New constant.
	(S390_TDC_NEGATIVE_NORMALIZED_BFP_NUMBER): New constant.
	(S390_TDC_POSITIVE_DENORMALIZED_BFP_NUMBER): New constant.
	(S390_TDC_NEGATIVE_DENORMALIZED_BFP_NUMBER): New constant.
	* config/s390/s390.md (FP_ALL): New mode iterator.
	(_d): New mode attribute.
	("*signbit<mode>2>"): Changed mode of first operand.
	("isinf<mode>2"): Changed mode of first operand.
	("*TDC_insn"): Adaptation for DFP modes.

From-SVN: r131714
2008-01-22 10:03:03 +00:00
Ben Elliston 1d4f537493 * tree.c (check_qualified_type): Improve function description.
From-SVN: r131711
2008-01-22 16:57:39 +11:00
Jason Merrill 33b45227e0 re PR c++/34196 (uninitialized variable warning in dead exception region)
PR c++/34196
        * tree.h (TRY_CATCH_IS_CLEANUP): New macro.
        * cp/decl.c (wrap_cleanups_r): Set TRY_CATCH_IS_CLEANUP.
        * tree-eh.c (honor_protect_cleanup_actions): Strip TRY_CATCH_EXPR
        if it is set.

From-SVN: r131710
2008-01-21 23:53:33 -05:00
DJ Delorie 79e168dac0 tm.texi (HARD_REGNO_NREGS): Note that this macro must not return zero.
* doc/tm.texi (HARD_REGNO_NREGS): Note that this macro must not
return zero.

From-SVN: r131703
2008-01-21 17:20:57 -05:00
Richard Guenther bb0c55f6ee re PR target/34856 (ICE with some constant vectors)
2008-01-21  Richard Guenther  <rguenther@suse.de>

	PR middle-end/34856
	* tree-cfg.c (verify_expr): Allow all invariant expressions
	instead of just constant class ones as reference argument.
	* tree-ssa-loop-im.c (for_each_index): Handle CONSTRUCTOR
	like any other constant.
	* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Likewise.

	* gcc.c-torture/compile/pr34856.c: New testcase.

From-SVN: r131696
2008-01-21 16:21:45 +00:00
H.J. Lu 94c54fea1a regmove.c (fixup_match_1): Update call crossed frequencies.
2008-01-21  H.J. Lu  <hongjiu.lu@intel.com>

	* regmove.c (fixup_match_1): Update call crossed frequencies.

From-SVN: r131695
2008-01-21 07:54:41 -08:00
Richard Guenther c54e3854ad re PR tree-optimization/34885 (ICE in copy_reference_ops_from_ref, at tree-ssa-sccvn.c:574)
2008-01-21  Richard Guenther  <rguenther@suse.de>

	PR c/34885
	* tree-inline.c (setup_one_parameter): Deal with mismatched
	types using a VIEW_CONVERT_EXPR.

	* gcc.c-torture/compile/pr34885.c: New testcase.

From-SVN: r131694
2008-01-21 14:25:46 +00:00
Alon Dayan b158b5c6aa re PR middle-end/34701 (ICE in tree-ssa-ccp.c with -fipa-struct-reorg)
2008-01-21  Alon Dayan  <alond@il.ibm.com>
	    Olga Golovanevsky  <olga@il.ibm.com>

	PR tree-optimization/34701
	* gcc.dg/struct/wo_prof_array_field.c: New test.
	
2008-01-21  Alon Dayan  <alond@il.ibm.com>
	    Olga Golovanevsky  <olga@il.ibm.com>
	
	PR tree-optimization/34701
	* ipa-struct-reorg.c (gen_size): Fix the malloc parameter calculation
	when the structure size is not a power of 2.

Co-Authored-By: Olga Golovanevsky <olga@il.ibm.com>

From-SVN: r131689
2008-01-21 09:07:12 +00:00
Kenneth Zadeck 604f825c83 install.texi: Add doc for --enable-checking=df.
2008-01-20  Kenneth Zadeck <zadeck@naturalbridge.com>

	* doc/install.texi: Add doc for --enable-checking=df.

From-SVN: r131685
2008-01-21 01:09:04 +00:00
Kaz Kojima 539c54bafb re PR rtl-optimization/34808 (ICE in prescan_insns_for_dce)
PR rtl-optimization/34808
	* emit-rtl.c (try_split): Handle REG_RETVAL notes.
	* gcc.c-torture/compile/pr34808.c: New test.

From-SVN: r131680
2008-01-21 00:04:23 +00:00
Richard Sandiford ecff8c1c5d global.c (find_reg): Only compute EH_RETURN_DATA_REGNO once per input.
gcc/
	* global.c (find_reg): Only compute EH_RETURN_DATA_REGNO once per
	input.

From-SVN: r131676
2008-01-20 08:47:14 +00:00
Kenneth Zadeck 2b49e1a09d re PR tree-optimization/26854 (Inordinate compile times on large routines)
2008-01-19  Kenneth Zadeck <zadeck@naturalbridge.com>

	PR rtl-optimization/26854
	PR rtl-optimization/34400
	* ddg.c (create_ddg_dep_from_intra_loop_link): Do not use
	DF_RD->gen.
	* df.h (df_changeable_flags.DF_RD_NO_TRIM): New.
	(df_rd_bb_info.expanded_lr_out): New.
	* loop_invariant.c (find_defs): Added DF_RD_NO_TRIM flag.
	* loop_iv.c (iv_analysis_loop_init): Ditto.
	* df-problems.c (df_rd_free_bb_info, df_rd_alloc, df_rd_confluence_n,
	df_rd_bb_local_compute, df_rd_transfer_function, df_rd_free):
	Added code to allocate, initialize or free expanded_lr_out.
	(df_rd_bb_local_compute_process_def): Restructured to make
	more understandable.
	(df_rd_confluence_n): Add code to do nothing with fake edges and
	code to no apply invalidate_by_call sets if the sets are being trimmed.
	(df_lr_local_finalize): Renamed to df_lr_finalize.
	(df_live_local_finalize): Renamed to df_live_finalize.

From-SVN: r131670
2008-01-20 01:48:25 +00:00
Richard Sandiford 0decaff6a5 re PR target/34831 (ICE on gcc.dg/pr34233.c for MIPS)
gcc/
	PR target/34831
	* config/mips/mips.md (div<mode>3): Use <recip_condition> when
	deciding whether to use reciprocal instructions.

gcc/testsuite/
	PR target/34831
	* gcc.target/mips/pr34831.c: New test.

From-SVN: r131662
2008-01-20 00:05:07 +00:00
Uros Bizjak d0b9dbd562 dwarf2out.c (dwarf2out_switch_text_section): Do not call dwarf2out_note_section_used if cold_text_section is NULL.
* dwarf2out.c (dwarf2out_switch_text_section): Do not call
        dwarf2out_note_section_used if cold_text_section is NULL.

From-SVN: r131654
2008-01-19 18:57:57 +01:00