Commit Graph

28121 Commits

Author SHA1 Message Date
Sebastian Pop ab02cc4e2c re PR middle-end/23410 (FAIL: gcc.c-torture/execute/950612-1.c execution, at -Os and -O3)
PR tree-optimization/23410
	* tree-ssa-loop-niter.c (scev_probably_wraps_p): Check that the
	sequence is not wrapping during the first step.

From-SVN: r103733
2005-09-01 15:09:41 +00:00
Jakub Jelinek ac156e9176 re PR debug/7241 (DWARF encoding for "char" incorrect in gcc)
PR debug/7241
	* dwarf2out.c (base_type_die): Compare char_type_node with
	TYPE_MAIN_VARIANT (type), not type.

	* gcc.dg/debug/dwarf2/dwarf-char1.c: New test.
	* gcc.dg/debug/dwarf2/dwarf-char2.c: New test.
	* gcc.dg/debug/dwarf2/dwarf-char3.c: New test.

	* gcc.dg/debug/dwarf2/dwarf-die1.c: Fix a typo.
	* gcc.dg/debug/dwarf2/dwarf-die2.c: Likewise.
	* gcc.dg/debug/dwarf2/dwarf-die3.c: Likewise.
	* gcc.dg/debug/dwarf2/dwarf-die5.c: Likewise.
	* gcc.dg/debug/dwarf2/dwarf-die6.c: Likewise.
	* gcc.dg/debug/dwarf2/dwarf-die7.c: Likewise.
	* gcc.dg/debug/dwarf2/dwarf-uninit.c: Likewise.
	* gcc.dg/debug/dwarf2/dwarf2-macro.c: Likewise.

From-SVN: r103727
2005-09-01 15:53:45 +02:00
Richard Guenther 355866de65 re PR tree-optimization/15366 ([3.4 only][unit-at-a-time] -fno-inline-functions is ignored for static functions)
2005-09-01  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/15366
	* common.opt: Add -finline-functions-called-once.
	Put -fearly-inlining in alphabetically ordered place.
	* doc/invoke.texi: Document new option.
	* ipa-inline.c (cgraph_decide_inlining): Honour
	flag_inline_functions_called_once.

From-SVN: r103722
2005-09-01 08:54:40 +00:00
Jakub Jelinek 95c37cdb41 re PR rtl-optimization/23478 (Miscompilation due to reloading of a var that is also used in EH pad)
PR rtl-optimization/23478
	* local-alloc.c (struct qty): Add n_throwing_calls_crossed field.
	(alloc_qty): Initialize it.
	(update_equiv_regs): Clear REG_N_THROWING_CALLS_CROSSED.
	(combine_regs): Combine also n_throwing_calls_crossed fields.
	(find_free_reg): Don't attempt to caller-save pseudos crossing
	calls that might throw.
	* global.c (struct allocno): Add throwing_calls_crossed field.
	(global_alloc): Revert 2005-08-22 change.  Initialize
	throwing_calls_crossed.
	(find_reg): Don't attempt to caller-save pseudos crossing calls that
	might throw.

From-SVN: r103718
2005-09-01 07:29:03 +02:00
Alan Modra 1990cd7969 re PR target/23649 (gcc.dg/ppc-and-1.c failure due to not using rlwinm)
PR target/23649
	* config/rs6000/predicates.md (mask_operand): Only handle rlwinm masks.
	(mask64_operand): Reinstate code prior to 2005-06-11 change.
	(mask64_2_operand): Reinstate code prior to 2004-11-11 change.
	(and64_2_operand): Tweak to use predicate.
	(and_operand): Adjust for mask_operand changes.
	* config/rs6000/rs6000.c (num_insns_constant): Revert 2005-06-11.
	(print_operand): Likewise.
	(rs6000_rtx_costs): Pass mode to mask_operand and use mask64_operand.
	(mask64_1or2_operand): Delete.
	* rs6000/rs6000-protos.h (mask64_1or2_operand): Delete.
	* config/rs6000/rs6000.h (EXTRA_CONSTRAINT <S>): Revert 2005-06-11.
	(EXTRA_CONSTRAINT <T>): Pass operand mode to predicate.
	(EXTRA_CONSTRAINT <t>): Disallow mask64_operand matches.
	* config/rs6000/rs6000.md (andsi3_internal3 split): Revert 2005-06-11.
	(rotldi3_internal4): Likewise.
	(rotldi3_internal5, rotldi3_internal5 split): Likewise.
	(rotldi3_internal6, rotldi3_internal6 split): Likewise.
	(ashldi3_internal7): Likewise.
	(ashldi3_internal8, ashldi3_internal8 split): Likewise.
	(ashldi3_internal, ashldi3_internal9 split): Likewise.
	(anddi3 split): Don't match mask64_operand.
	(anddi3_internal2): Add rlwinm.  Modify 't' splitter predicate.
	(anddi3_internal3): Add rlwinm.  Use and64_2_operand in non-cr0
	splitter and match TARGET_64BIT not TARGET_POWERPC64.  Modify
	't' splitter predicate.
	(movdi_internal64 + 2): Revert 2005-06-11 change.

From-SVN: r103716
2005-09-01 12:17:59 +09:30
DJ Delorie e9555b1376 m32c.c (m32c_valid_pointer_mode): New.
* config/m32c/m32c.c (m32c_valid_pointer_mode): New.
(m32c_asm_integer): Add support for 32 bit pointers.

From-SVN: r103715
2005-08-31 21:52:26 -04:00
Richard Henderson 8476af981e emit-rtl.c (set_mem_attributes_minus_bitpos): Look through component-like references for setting MEM_NOTRAP_P.
* emit-rtl.c (set_mem_attributes_minus_bitpos): Look through
        component-like references for setting MEM_NOTRAP_P.

        * config/i386/i386.c (ix86_setup_incoming_varargs): Set MEM_NOTRAP_P.
        * config/alpha/alpha.c (alpha_setup_incoming_varargs): Likewise.

From-SVN: r103714
2005-08-31 18:41:30 -07:00
Richard Henderson 0fd662ee04 expr.c (expand_expr_real_1): Force subregs into a pseudo before applying gen_lowpart.
* expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Force subregs
        into a pseudo before applying gen_lowpart.

From-SVN: r103712
2005-08-31 18:06:45 -07:00
Geoffrey Keating 960ac6e129 install.texi (Specific): Update cctools version required for full functionality.
* doc/install.texi (Specific): Update cctools version required
	for full functionality.
	* config/darwin.h (LINK_SPEC): Pass -mmacosx-version-min to the
	linkers as -macosx_version_min.

From-SVN: r103702
2005-08-31 21:43:06 +00:00
J"orn Rennecke 4802062c16 re PR target/21255 (%R and %S are not safe to use from asms)
2005-08-31  J"orn Rennecke <joern.rennecke@st.com>

gcc:
	PR target/21255
	* sh.c (print_operand, %R and %S): Add handling of floating point
	registers, memory, constants and invalid operands.
gcc/testsuite:
	PR target/21255
	* gcc.dg/pr21255-1.c: New test.
	* gcc.dg/pr21255-2-mb.c: Likewise.
	* gcc.dg/pr21255-2-ml.c: Likewise.
	* gcc.dg/pr21255-3.c: Likewise.
	* gcc.dg/pr21255-4.c: Likewise.

From-SVN: r103700
2005-08-31 20:51:17 +01:00
Daniel Berlin d4feded787 ipa-pure-const.c: Change dump name.
2005-08-31  Daniel Berlin  <dberlin@dberlin.org>

	* ipa-pure-const.c: Change dump name.

From-SVN: r103692
2005-08-31 17:33:58 +00:00
Uros Bizjak d16093fdff re PR target/23570 (internal compiler error: in merge_assigned_reloads, at reload1.c:6091)
PR target/23570
        * config/i386/sse.md (*sse_concatv2sf): Change operand 2 constraint
        to "reg_or_0_operand".
        (sse2_loadld): Change operand 1 constraint to "reg_or_0_operand".

From-SVN: r103690
2005-08-31 10:27:53 -07:00
Dale Johannesen c9eb80971d loop-iv.c (iv_number_of_iterations): Fix overflow check for loops that count down.
2005-08-31  Dale Johannesen  <dalej@apple.com>

        * loop-iv.c (iv_number_of_iterations):  Fix overflow check for
        loops that count down.

From-SVN: r103689
2005-08-31 17:25:36 +00:00
Richard Henderson 35210087ce No, I had the number right the first time. Sigh.
From-SVN: r103684
2005-08-31 09:41:47 -07:00
Richard Henderson e7fad296a1 Fix typo in pr number.
From-SVN: r103681
2005-08-31 09:29:13 -07:00
Richard Henderson be0c514c74 re PR rtl-optimization/23601 (reload may drop non-call exception information)
PR rtl-opt/23601
        * reload1.c (reload): Set MEM_NOTRAP_P in spill slots.
        (fixup_eh_region_note): New.
        (reload_as_needed): Call it.
        (fixup_abnormal_edges): Allow all throwing insns to be deleted;
        don't call find_many_sub_basic_blocks; call verify_flow_info.
        * function.c (assign_stack_local_1): Set MEM_NOTRAP_P.
        (keep_stack_depressed): Likewise.
        (assign_stack_temp_for_type): Likewise; use adjust_address_nv.

From-SVN: r103680
2005-08-31 09:26:51 -07:00
Richard Henderson 5d3018cee7 i386.c (ix86_function_ok_for_sibcall): Fix test for fp return matching.
* config/i386/i386.c (ix86_function_ok_for_sibcall): Fix test for
        fp return matching.

From-SVN: r103679
2005-08-31 09:16:31 -07:00
Fariborz Jahanian dc38a61086 Fix ppc -m64 constant address expression expansion bug.
Oked by Richard Henderson.

From-SVN: r103676
2005-08-31 15:55:52 +00:00
Andrew Pinski f471f0fcc7 Fix a couple of dates in the changelog
From-SVN: r103674
2005-08-31 06:48:39 -07:00
Richard Guenther c525013985 re PR middle-end/23477 (default-initializing array new expression uses makes stack usage go way up)
2005-08-31  Richard Guenther  <rguenther@suse.de>

	PR middle-end/23477
	* expr.c (all_zeros_p): New function.
	(expand_expr_real_1): Handle the case of an all-zero
	non-addressable constructor separately.

From-SVN: r103670
2005-08-31 11:20:38 +00:00
Adrian Straetling ab17392846 builtins.c: (expand_builtin_strcpy...
2005-08-31  Adrian Straetling  <straetling@de.ibm.com>

	* builtins.c: (expand_builtin_strcpy, expand_builtin_strcat): Change
	arguments, adjust all callers.
	(expand_builtin_strcat): Rewrite to call strcpy instead of mempcpy.

From-SVN: r103661
2005-08-31 07:49:27 +00:00
Richard Henderson fabaaf3678 re PR target/23630 (built-ins MMX regression)
PR target/23630
        * expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Use gen_lowpart
        whenever the mode sizes match.

From-SVN: r103660
2005-08-30 22:00:37 -07:00
Alan Modra 40b0345dda calls.c (load_register_parameters): Fix comment typo.
* calls.c (load_register_parameters): Fix comment typo.
	* expr.c (emit_push_insn): Comment formatting.

From-SVN: r103656
2005-08-31 13:03:23 +09:30
Ian Lance Taylor c2e493dccc x-cygwin (host-cygwin): Change dependency from hosthooks-def.h to $(HOSTHOOKS_DEF_H).
* config/i386/x-cygwin (host-cygwin): Change dependency from
	hosthooks-def.h to $(HOSTHOOKS_DEF_H).

From-SVN: r103648
2005-08-30 21:26:36 +00:00
Geoffrey Keating 9fc5fa7b8b [multiple changes]
2005-08-29  Geoffrey Keating  <geoffk@apple.com>

	* config/i386/i386.c (ix86_expand_vector_init_one_var): Don't modify
	parts of 'vals'.

Index: testsuite/ChangeLog
2005-08-30  Geoffrey Keating  <geoffk@apple.com>

	* g++.dg/other/i386-1.C: New.

From-SVN: r103632
2005-08-30 07:32:39 +00:00
Andrew Pinski 57247f4b28 [multiple changes]
2005-08-18  Andrew Pinski  <pinskia@physics.uc.edu>

        PR middle-end/23408
        * ipa-inline.c (cgraph_decide_inlining_incrementally): Remove the
        call to ggc_collect.
2005-08-28  Andrew Pinski  <pinskia@physics.uc.edu>

        PR middle-end/23408
        * gcc.dg/pr23408.c: New test.

From-SVN: r103612
2005-08-29 10:48:58 -07:00
Paolo Bonzini 3a6ebcdcee re PR bootstrap/21268 (Bootstrap, configuration problem and insn-conditions.c)
2005-08-18  Paolo Bonzini  <bonzini@gnu.org>

	PR bootstrap/21268
	* Makefile.in (ALL_CPPFLAGS): Include $(INCLUDES) at the
	beginning.  Remove $(INCLUDES) from all the rules, if following
	$(ALL_CPPFLAGS) or $(BUILD_CPPFLAGS).

From-SVN: r103601
2005-08-29 13:52:32 +00:00
Jakub Jelinek f28d3046d2 re PR middle-end/23484 (__builtin___memcpy_chk miscompilation)
PR middle-end/23484
	* builtins.c (fold_builtin_memory_chk, fold_builtin_stxcpy_chk,
	fold_builtin_strncpy_chk, fold_builtin_snprintf_chk): If len is
	not constant, but maxlen is, don't set len to maxlen, rather
	set maxlen to len if len is a constant.

	* gcc.c-torture/execute/builtins/pr23484-chk.c: New test.
	* gcc.c-torture/execute/builtins/pr23484-chk-lib.c: New file.

From-SVN: r103594
2005-08-29 10:40:48 +02:00
Zdenek Dvorak 37261a5c97 re PR tree-optimization/23475 (Frequences are not updated for empty loop removal)
PR tree-optimization/23475
	* tree-ssa-loop-ivcanon.c (remove_empty_loop): Update frequencies
	and counts.

From-SVN: r103593
2005-08-29 07:13:06 +00:00
Daniel Berlin 46c5394b31 re PR middle-end/22455 (ICE tree check: expected function_decl, have type_decl in fold_checksum_tree, at fold-const.c:10282)
2005-08-28  Daniel Berlin  <dberlin@dberlin.org>

	Fix PR middle-end/22455

	* fold-const.c (fold_checksum_tree): Adjust for now-largest tree size.
	Checksum only the parts of the tree that exist for the tree code.

From-SVN: r103586
2005-08-29 00:12:19 +00:00
Dale Johannesen ea407814d0 i386.c (nocona_cost): Increase MOVE_RATIO.
2005-08-28  Dale Johannesen  <dalej@apple.com>

        * config/i386/i386.c (nocona_cost):  Increase MOVE_RATIO.

From-SVN: r103585
2005-08-28 23:28:57 +00:00
Andrew Pinski 87e71ff43b tree-vrp.c: Remove obsolete comment in front of vrp_initialize.
2005-08-28  Andrew Pinski  <pinskia@physics.uc.edu>

        * tree-vrp.c: Remove obsolete comment in front of vrp_initialize.

From-SVN: r103584
2005-08-28 14:08:28 -07:00
Richard Henderson 490272b474 stor-layout.c (finalize_type_size): Revert workaround from 08-26.
* stor-layout.c (finalize_type_size): Revert workaround from 08-26.
        * tree.c (make_node_stat): Use BITS_PER_UNIT instead of alignment
        of char_type_node.

From-SVN: r103583
2005-08-28 09:28:59 -07:00
Jakub Jelinek a6017253cb re PR ada/23593 (5 ACATS compiler SEGV c371002 c371003 c52008b cc51004 cc51b03)
PR ada/23593
	* builtins.c (get_memory_rtx): Don't strip nops
	in between COMPONENT_REFs.

From-SVN: r103578
2005-08-28 13:01:31 +02:00
Andrew Pinski 412f898605 re PR middle-end/23463 (va-arg-22.c execution fails)
2005-08-27  Andrew Pinski  <pinskia@physics.uc.edu>

        PR middle-end/23463
        * gimplify.c (gimplify_modify_expr_rhs): Remove check for zero sized
        types.
        (gimplify_modify_expr): Check for zero sized types and gimplify the
        rhs and lhs as statements.

2005-08-27  Andrew Pinski  <pinskia@physics.uc.edu>

        PR middle-end/23463
        * gcc.c-torture/execute/zero-struct-1.c: New test.

From-SVN: r103571
2005-08-27 14:37:53 -07:00
John David Anglin 147a8fb1ca re PR target/23508 (FAIL: PR218)
PR libgcj/23508
	* pa/linux-unwind.h (pa32_fallback_frame_state): Use r0 slot in frame
	state for return address column of signal frames.

From-SVN: r103568
2005-08-27 18:36:46 +00:00
David Edelsohn ec53fc93d0 re PR target/23539 (C & C++ compiler generating misaligned references regardless of compiler flags)
PR target/23539
        * config/rs6000/rs6000.c (expand_block_clear): Use HImode when
        bytes >= 2 not bytes == 2.
        (expand_block_move): Same.

From-SVN: r103564
2005-08-27 11:44:26 -04:00
Richard Guenther f013cadc88 re PR target/23575 (ICE: output_operand: unterminated assembly dialect alternative)
2005-08-27  Richard Guenther  <rguenther@gcc.gnu.org>

	PR target/23575
	* config/i386/sse.md (sse2_movsd): Add missing closing
	braces.

	* gcc.target/i386/pr23575.c: New testcase.

From-SVN: r103559
2005-08-27 12:04:28 +00:00
Paul Brook 0cd6c85a31 genrecog.c (enum decision_type): Add DT_num_insns.
2005-08-27  Paul Brook  <paul@codesourcery.com>

	* genrecog.c (enum decision_type): Add DT_num_insns.
	(struct decision_test): Add u.num_insns.
	(add_to_sequence): Add DT_num_insns test.
	(maybe_both_true_2, nodes_identical_1): Handle DT_num_insns.
	(write_cond, debug_decision_2): Ditto.
	(change_state): Assume peep2_next_insn never fails.
	Remove "afterward" argument.
	(write afterward, write_tree): Update to match.
	* recog.c (peep2_current_count): New variable.
	(peep2_next_insn): Check it.
	(peephole2_optimize): Set peep2_current_count.
	* recog.h (peep2_current_count): Declare.

From-SVN: r103553
2005-08-27 02:08:29 +00:00
Josh Conner 1b0d2d1789 re PR tree-optimization/23584 (ipa-pure-const pass ignores dereferencing a volatile pointer type)
PR middle-end/23584
        * ipa-pure-const.c (check_tree): Check for volatile-ness
        when considering a dereference.

From-SVN: r103546
2005-08-26 22:42:44 +00:00
Jakub Jelinek 24b7d7c318 * rtl.h (MEM_IN_STRUCT_P): Fix comment typo.
From-SVN: r103542
2005-08-27 00:05:57 +02:00
Jakub Jelinek 435bb2a125 re PR rtl-optimization/23561 (nonoverlapping_memrefs_p returns true even for overlapping memory references)
PR rtl-optimization/23561
	* builtins.c (get_memory_rtx): Add LEN argument.  If MEM_EXPR is
	a COMPONENT_REF, remove all COMPONENT_REF from MEM_EXPR unless
	at most LEN bytes long memory fits into the field.
	(expand_builtin_memcpy, expand_builtin_mempcpy, expand_movstr,
	expand_builtin_strncpy, expand_builtin_memset, expand_builtin_memcmp,
	expand_builtin_strcmp, expand_builtin_strncmp): Adjust callers.

	* gcc.c-torture/execute/20050826-1.c: New test.

From-SVN: r103541
2005-08-27 00:02:44 +02:00
Richard Henderson 52e772ba4b re PR rtl-optimization/23560 (Strength-reduction breaking unsigned COMPARE)
PR rtl-opt/23560
	* loop.c (biased_biv_may_wrap_p): New.
	(maybe_eliminate_biv_1): Use it to suppress non-equality
	comparison transformations.  Delete disabled code.

From-SVN: r103539
2005-08-26 23:57:25 +02:00
Ian Lance Taylor 8f34bde689 combine.c (make_extraction): Avoid reference outside object.
2005-08-26  Ian Lance Taylor  <ian@airs.com>

        * combine.c (make_extraction): Avoid reference outside object.

From-SVN: r103537
2005-08-26 21:52:23 +00:00
J"orn Rennecke d6cde48033 stor-layout.c (finalize_type_size): Restore behaviour for non-aggregate types to the status quo ante of the patch...
* stor-layout.c (finalize_type_size): Restore behaviour for
	non-aggregate types to the status quo ante of the patch for
	pr 23467.  Document why it matters.

From-SVN: r103527
2005-08-26 18:17:05 +01:00
Jakub Jelinek 39627fed89 re PR c/23506 (Bad array access in DEF_GCC_BUILTIN)
PR c/23506
	* c-common.c (c_common_nodes_and_builtins): Increase builtin_types
	array by one element, initialize the BT_LAST element with NULL.

From-SVN: r103526
2005-08-26 18:26:50 +02:00
David Edelsohn 297abd0d40 rs6000.md (eq<mode>_compare): Only enable when optimizing for size.
* config/rs6000/rs6000.md (eq<mode>_compare): Only enable when
	optimizing for size.
	(plus_eqsi): Same.
	(compare_plus_eqsi): Same.
	(plus_eqsi_compare): Same.
	(neg_eq0<mode>): Same.
	(neg_eq<mode>): Same.

	* config/rs6000/aix52.h (PROCESSOR_DEFAULT): Change to
	PROCESSOR_POWER4.

From-SVN: r103522
2005-08-26 10:24:20 -04:00
Nick Clifton 2ec6cd51b6 v850.c (ep_memory_operand): Return FALSE if TARGET_EP is not defined.
* config/v850/v850.c (ep_memory_operand): Return FALSE if TARGET_EP is not
  defined.
* config/v850/c850.h (TARGET_CPU_CPP_BUILTINS): Define __EP__ if TARGET_EP is
  enabled.
  (OPTIMIZATION_OPTIONS): Do not define MASK_EP when optimizing.
* config/v850/v850.md (save_all_interrupt): Only use the EP register if
  TARGET_EP is defined.
  (restore_all_interrupt): Likewise.
* config/v850/lib1funcs.asm: Update functions so that the EP register is only
  used if __EP__ is defined.

From-SVN: r103520
2005-08-26 13:45:42 +00:00
David Ung e296c00c32 mips.c (mips_expand_prologue): Handle case when generating for MIPS16 and the outgoing argument area is more...
* config/mips/mips.c (mips_expand_prologue): Handle case when
generating for MIPS16 and the outgoing argument area is more than
SMALL_OPERAND. Use the frame pointer as temporary to generate the
add instruction.

From-SVN: r103519
2005-08-26 13:15:14 +00:00
Paul Woegerer 55d61dbacc crx.md: Make doloop_end pattern usage controllable via mloop-nesting=<max-nesting>...
* config/crx/crx.md: Make doloop_end pattern usage controllable
	via mloop-nesting=<max-nesting> command line switch. Make sure
	the combiner cannot use doloop_end_<mode> in an illegal way.
	* config/crx/crx.c: Use regs up to r6 for argument passing.
	Refine crx_address_cost (non cst4 displacements are expensive).
	* config/crx/crx.opt: Add switch for mloop-nesting=.

From-SVN: r103518
2005-08-26 08:20:55 +00:00