Commit Graph

32997 Commits

Author SHA1 Message Date
Zdenek Dvorak 9f2e9ac43b re PR rtl-optimization/32773 (SH: ICE in create_pre_exit, at mode-switching.c:223)
PR rtl-optimization/32773
	* cfglayout.c (force_one_exit_fallthru): New function.
	(cfg_layout_finalize): Use it.

	* gcc.dg/pr32773.c: New test.

From-SVN: r126700
2007-07-17 03:56:40 +00:00
Richard Guenther fd95ee7ca0 tree-if-conv.c (find_phi_replacement_condition): Unshare "*cond" before forcing it to gimple operand.
* tree-if-conv.c (find_phi_replacement_condition): Unshare "*cond"
        before forcing it to gimple operand.


Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>

From-SVN: r126692
2007-07-16 21:58:45 +02:00
Sandra Loosemore d56b9f1222 mips.h (TUNE_24K): Define.
2007-07-16  Sandra Loosemore  <sandra@codesourcery.com>
	    David Ung  <davidu@mips.com>

        gcc/

        * config/mips/mips.h (TUNE_24K): Define.
	(TUNE_MACC_CHAINS): Add TUNE_24K.
        * config/mips/mips.md: (*mul_acc_si, *mul_sub_si): Change type to
        imadd.
        * config/mips/74k.md (r74k_int_mult): Split madd/msub to ..
        (r74k_int_madd): .. this new reservation.
        (define_bypass): Fixed bypasses for r74k_int_madd to use
	mips_linked_madd_p.
        * config/mips/24k.md (define_bypass): Define new
        r24k_int_mul3->r24k_int_madd bypass using mips_linked_madd_p.

	gcc/testsuite/

        * gcc.target/mips/mips-sched-madd.c: New test case.

Co-Authored-By: David Ung <davidu@mips.com>

From-SVN: r126688
2007-07-16 14:12:01 -04:00
Sandra Loosemore 0015c873f4 mips.md: Include 20kc.md.
2007-07-16  Sandra Loosemore  <sandra@codesourcery.com>
	    Nigel Stephens  <nigel@mips.com>

        gcc/

	* config/mips/mips.md:  Include 20kc.md.
	* config/mips/20kc.md: New file.
	* config/mips/mips.c (mips_rtx_cost_data): Fill in 20Kc costs.
	(mips_adjust_cost): Tweak for 20Kc.
	(mips_issue_rate): Likewise.
	* config/mips/mips.h (TUNE_20KC): Define.

Co-Authored-By: Nigel Stephens <nigel@mips.com>

From-SVN: r126687
2007-07-16 13:57:40 -04:00
David Edelsohn 0b11da6707 rs6000.c (struct processor cost): Add cache_line_size, l1_cache_lines, and simultaneous_prefetches fields.
* config/rs6000/rs6000.c (struct processor cost): Add
	cache_line_size, l1_cache_lines, and simultaneous_prefetches
	fields.
	(*_cost): Add cache information.
	(rs6000_override_options): Set cache parameters.

From-SVN: r126686
2007-07-16 13:31:51 -04:00
Rainer Orth 40f5cc95ab re PR bootstrap/3456 (bootstrapping gcc-3.0 with threadmodel=posix fails on IRIX64 6.5)
gcc:
	PR bootstrap/3456
	* config.gcc (mips-sgi-irix[56]*): Enable pthread support.
	* doc/install.texi (mips-sgi-irix6): pthread support works now.

	libstdc++-v3:
	PR bootstrap/3456
	* testsuite/22_locale/locale/cons/12658_thread-1.cc: Enable on
	mips-sgi-irix6*.
	* testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
	* testsuite/thread/18185.cc: Likewise.
	* testsuite/thread/pthread1.cc: Likewise.
	* testsuite/thread/pthread2.cc: Likewise.
	* testsuite/thread/pthread3.cc: Likewise.
	* testsuite/thread/pthread4.cc: Likewise.
	* testsuite/thread/pthread5.cc: Likewise.
	* testsuite/thread/pthread6.cc: Likewise.
	* testsuite/thread/pthread7-rope.cc: Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc: Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.

From-SVN: r126685
2007-07-16 17:21:10 +00:00
Paul Brook fb02857163 re PR target/32753 (building a crosscompiler for arm-elf fails because of an error in cirrus.md)
2007-07-16  Paul Brook  <paul@codesourcery.com>

	PR target/32753
	gcc/
	* config/arm/cirrus.md (cirrus_arm_movsi_insn): Remove dead insn.
	(cirrus_thumb2_movsi_insn): Ditto.

From-SVN: r126681
2007-07-16 13:18:45 +00:00
Paul Brook dab0324ad7 re PR target/32753 (building a crosscompiler for arm-elf fails because of an error in cirrus.md)
2007-07-16  Paul Brook  <paul@codesourcery.com>

	PR target/32753
	gcc/
	* config/arm/cirrus.md (cirrus_arm_movsi_insn): Remove dead insn.

From-SVN: r126679
2007-07-16 13:01:18 +00:00
Geoffrey Keating fb0671a8c2 darwin-fallback.c (interpret_libc): Change CR2_REGNO to R_CR2.
* config/rs6000/darwin-fallback.c (interpret_libc): Change
	CR2_REGNO to R_CR2.

From-SVN: r126661
2007-07-15 21:22:14 +00:00
Andrew Haley 759580edb7 unwind-sjlj.c (_Unwind_GetIPInfo): Check for context->fc != NULL before looking in the context.
2007-07-15  Andrew Haley  <aph@redhat.com>

        * unwind-sjlj.c (_Unwind_GetIPInfo): Check for context->fc !=
	NULL before looking in the context.

From-SVN: r126658
2007-07-15 17:37:43 +00:00
John David Anglin 16c16a2476 re PR middle-end/32398 (checking for suffix of object files... configure: error: cannot compute suffix of f object files: cannot compile)
PR middle-end/32398
	PR middle-end/32769
	* pa-protos.h (pa_eh_return_handler_rtx): Declare.
	* pa.c (pa_extra_live_on_entry, rp_saved): Declare.
	(TARGET_EXTRA_LIVE_ON_ENTRY): Define.
	(pa_output_function_prologue): Use rp_saved and current_function_is_leaf
	to generate .CALLINFO statement.
	(hppa_expand_prologue): Set rp_saved.
	(hppa_expand_epilogue): Use rp_saved.
	(pa_extra_live_on_entry, pa_eh_return_handler_rtx): New functions.
	* pa.h (EH_RETURN_HANDLER_RTX): Use pa_eh_return_handler_rtx.

From-SVN: r126657
2007-07-15 17:19:13 +00:00
Dirk Mueller 639d3040d4 omega.c (coalesce): Fix memory leak on early exit.
2007-07-15  Dirk Mueller  <dmueller@suse.de>

        * omega.c (coalesce): Fix memory leak on early exit.
        * matrix-reorg.c (check_allocation_function): Likewise.
        * tree-vect-transform.c (vect_get_new_vect_var): free result
        of concat().
        * bb-reorder.c (find_rarely_executed_basic_blocks_and_crossing_edges):
        pass pointer to edge vector
        (partition_hot_cold_basic_blocks): Fix memory leak.
        * collect2.c (prefix_from_string): Free temporary storage.
        * reload1.c (fixup_abnormal_edges): Free sbitmap.

From-SVN: r126653
2007-07-15 11:45:30 +00:00
Kaz Kojima 00f46785eb sh.h (DO_GLOBAL_CTORS_BODY): Add void to prototype.
* config/sh/sh.h (DO_GLOBAL_CTORS_BODY): Add void to prototype.
	(DO_GLOBAL_DTORS_BODY): Likewise.

From-SVN: r126645
2007-07-14 22:59:56 +00:00
Sandra Loosemore 27e3a7bc8d mips.c (mips_classify_symbol): Don't return SYMBOL_SMALL_DATA for constant pool addresses if...
2007-07-14  Sandra Loosemore  <sandra@codesourcery.com>
	    Nigel Stephens  <nigel@mips.com>

        gcc/
	* config/mips/mips.c (mips_classify_symbol): Don't return
	SYMBOL_SMALL_DATA for constant pool addresses if
	TARGET_EMBEDDED_DATA is true.

Co-Authored-By: Nigel Stephens <nigel@mips.com>

From-SVN: r126643
2007-07-14 12:56:31 -04:00
Uros Bizjak e41ef48678 i386.c (init_mmx_sse_builtins): Define all builtins except __builtin_ia32_emms...
* config/i386/i386.c (init_mmx_sse_builtins): Define all builtins
        except __builtin_ia32_emms, __builtin_ia32_ldmxcsr,
        __builtin_ia32_stmxcsr, __builtin_ia32_maskmovq, __builtin_ia32_loadups,
        __builtin_ia32_storeups, __builtin_ia32_loadhps, __builtin_ia32_loadlps,
        __builtin_ia32_storehps, __builtin_ia32_storelps,
        __builtin_ia32_movntps, __builtin_ia32_movntq, __builtin_ia32_sfence,
        __builtin_ia32_femms, __builtin_ia32_maskmovdqu, __builtin_ia32_loadupd,
        __builtin_ia32_storeupd, __builtin_ia32_loadhpd, __builtin_ia32_loadlpd,
        __builtin_ia32_movnti, __builtin_ia32_movntpd, __builtin_ia32_movntdq,
        __builtin_ia32_clflush, __builtin_ia32_lfence, __builtin_ia32_mfence,
        __builtin_ia32_loaddqu, __builtin_ia32_storedqu, __builtin_ia32_monitor,
        __builtin_ia32_mwait, __builtin_ia32_lddqu, __builtin_ia32_movntdqa,
        __builtin_ia32_movntsd and __builtin_ia32_movntss as const builtins
        using def_builtin_const.

From-SVN: r126639
2007-07-14 15:46:40 +02:00
Eric Botcazou 8d1341f797 re PR tree-optimization/32705 (ICE in set_ssa_val_to, at tree-ssa-sccvn.c:1022)
PR tree-optimization/32705
	* tree-ssa-sccvn.c (set_ssa_val_to): Accept VN_TOP as value number.
	(simplify_binary_expression): Use SSA_VAL consistently.

From-SVN: r126637
2007-07-14 08:43:48 +00:00
David Edelsohn 1de43f850c spe.md (SPE_ACC_REGNO): Delete definition.
* config/rs6000/spe.md (SPE_ACC_REGNO): Delete definition.
        (SPEFSCR_REGNO): Delete definition.
        * config/rs6000/rs6000.c: LINK_REGISTER_REGNUM -> LR_REGNO.
        COUNT_REGISTER_REGNUM -> CTR_REGNO.
        * config/rs6000/rs6000.h: Do not define *_REGNO.
        LINK_REGISTER_REGNUM -> LR_REGNO.
        COUNT_REGISTER_REGNUM -> CTR_REGNO.
        * config/rs6000/predicates.md: LINK_REGISTER_REGNUM -> LR_REGNO.
        COUNT_REGISTER_REGNUM -> CTR_REGNO.
        * config/rs6000/linux-unwind.h: Define R_LR, R_CR2, R_VR0,
        R_VRSAVE, R_VSCR. Use them.
        * config/rs6000/darwin-fallback.c: Define R_LR, R_CTR, R_CR2,
        R_XER, R_VR0, R_VRSAVE, R_VSCR, R_SPEFSCR.  Use them.
        * config/rs6000/rs6000.md: Define REGNO constants.  Use them.
        * config/rs6000/aix.h: Define R_LR.  Use it.

From-SVN: r126631
2007-07-13 20:12:45 -04:00
Caroline Tice 62760ffd15 Add ability to track uninitialized variables, and mark uninitialized variables in the Dwarf debug info.
Add ability to track uninitialized variables, and mark uninitialized
variables in the Dwarf debug info.  Controlled by compile option
-fvar-tracking-uninit

From-SVN: r126630
2007-07-13 16:11:15 -07:00
Sa Liu 39aeae8573 config.gcc: Add options for arch and tune on SPU.
2007-07-13  Sa Liu  <saliu@de.ibm.com>

	* config.gcc: Add options for arch and tune on SPU.
	* config/spu/predicates.md: Add constant operands 0 and 1.
	* config/spu/spu-builtins.def: Add builtins for double precision 
	floating point comparison: si_dfceq, si_dfcmeq,	si_dfcgt, si_dfcmgt, 
	si_dftsv, spu_cmpeq_13, spu_cmpabseq_1, spu_cmpgt_13, spu_cmpabsgt_1,
	spu_testsv.
	* config/spu/spu-c.c: Define __SPU_EDP__ when builtins invoked with 
	a CELLEDP target.
	* config/spu/spu-protos.h: Add new function prototypes. 
	* config/spu/spu.c (spu_override_options): Check options -march and
	-mtune.
	(spu_comp_icode): Add comparison code for DFmode and vector mode.
	(spu_emit_branch_or_set): Use the new code for DFmode and vector 
	mode comparison.
	(spu_const_from_int): New.  Create a vector constant from 4 ints.
	(get_vec_cmp_insn): New.  Get insn index of vector compare instruction.
	(spu_emit_vector_compare): New.  Emit vector compare.
	(spu_emit_vector_cond_expr): New.  Emit vector conditional expression.
	* config/spu/spu.h: Add options -march and -mtune.  Define processor
	types PROCESSOR_CELL and PROCESSOR_CELLEDP.  Define macro
	CANONICALIZE_COMPARISON.
	* config/spu/spu.md: Add new insns for double precision compare
	and double precision vector compare.  Add vcond and smax/smin patterns
	to enable DFmode vector conditional expression.
	* config/spu/spu.opt: Add options -march and -mtune.
	* config/spu/spu_internals.h: Add builtins for CELLEDP target:
	si_dfceq, si_dfcmeq, si_dfcgt, si_dfcmgt, si_dftsv.  Add builtin for
	both CELL and CELLEDP targets: spu_testsv.
	* config/spu/spu_intrinsics.h: Add flag mnemonics for test special 
	values.

testsuite/
	* gcc.dg/vect/fast-math-vect-reduc-7.c: Switch on test
	for V2DFmode vector conditional expression.
	* gcc.target/spu/dfcmeq.c: New.  Test combination of abs
	and dfceq patterns.
	* gcc.target/spu/dfcmgt.c: New.  Test combination of abs
	and dfcgt patterns.
	* gcc.target/spu/intrinsics-2.c: New.  Test intrinsics for
	V2DFmode comparison and test special values.
	* lib/target-supports.exp: Switch on test for V2DFmode 
	vector conditional expression.

From-SVN: r126626
2007-07-13 18:31:08 +00:00
Richard Guenther cbf8d355b8 re PR tree-optimization/32721 (CCP removes volatile qualifiers.)
2007-07-13  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/32721
	* tree-ssa-ccp.c (maybe_fold_stmt_indirect): Preserve
	TREE_THIS_VOLATILE on the folded reference.
	* tree-ssa-operands.c (get_expr_operands): Set has_volatile_ops
	if the array reference has TREE_THIS_VOLATILE set.

	* gcc.dg/pr32721.c: New testcase.

From-SVN: r126624
2007-07-13 15:41:02 +00:00
H.J. Lu 248f01d465 re PR other/32188 (DFP instrinic document is out of date)
2007-07-13  H.J. Lu  <hongjiu.lu@intel.com>

	PR other/32188
	* doc/libgcc.texi: Update DFP intrinsics for DPD and BID.

From-SVN: r126619
2007-07-13 06:22:10 -07:00
Andreas Schwab 36f568c387 * gengtype-lex.l: Allow declarations to be indented.
From-SVN: r126615
2007-07-13 09:12:13 +00:00
Geoffrey Keating 1617e5eedc Index: gcc/ChangeLog
2007-07-12  Geoffrey Keating  <geoffk@apple.com>

	* ginclude/tgmath.h: New.
	* config.gcc: Use GCC's tgmath.h on non-glibc systems.
	* doc/sourcebuild.texi (Headers): Document use_gcc_tgmath.
	* configure.ac (STMP_FIXPROTO): Honor use_gcc_tgmath.
	* configure: Regenerate.

Index: gcc/testsuite/ChangeLog
2007-07-11  Geoffrey Keating  <geoffk@apple.com>

	* gcc.dg/c99-tgmath-1.c: New.
	* gcc.dg/c99-tgmath-2.c: New.
	* gcc.dg/c99-tgmath-3.c: New.
	* gcc.dg/c99-tgmath-4.c: New.

From-SVN: r126613
2007-07-13 06:12:51 +00:00
Kaz Kojima 192c543cd4 linux-unwind.h (sh_fallback_frame_state): Use correct index when setting register save state for xd registers.
* config/sh/linux-unwind.h (sh_fallback_frame_state): Use
	correct index when setting register save state for xd
	registers.

From-SVN: r126612
2007-07-13 05:57:26 +00:00
Kaz Kojima e27a1019c5 sh.c (mark_use): Remove.
* config/sh/sh.c (mark_use): Remove.

From-SVN: r126611
2007-07-13 05:49:33 +00:00
Paul Brook 19e723f40b arm.c (thumb1_compute_save_reg_mask): Make sure scratch reg does not overlap return value.
2007-07-12  Paul Brook  <paul@codesourcery.com>

	gcc/
	* config/arm/arm.c (thumb1_compute_save_reg_mask): Make sure scratch
	reg does not overlap return value.

From-SVN: r126604
2007-07-12 21:28:27 +00:00
Daniel Berlin c83c48792f tree-ssa-pre.c (get_expression_vuses): Move out side-effect.
2007-07-12  Daniel Berlin  <dberlin@dberlin.org>

	* tree-ssa-pre.c (get_expression_vuses): Move out side-effect.
	(set_expression_vuses): Ditto.
	(init_pre): Initialize expression_vuses.

From-SVN: r126595
2007-07-12 18:51:35 +00:00
Zdenek Dvorak 019b9fdbb3 sse.md (storentdf, storentsf): New.
* config/i386/sse.md (storentdf, storentsf): New.

From-SVN: r126594
2007-07-12 18:46:46 +00:00
Dorit Nuzman 5b900a4c0e re PR target/25413 (wrong alignment or incorrect address computation in vectorized code on Pentium 4 SSE)
2007-07-12  Dorit Nuzman  <dorit@il.ibm.com>
            Devang Patel  <dpatel@apple.com>

        PR tree-optimization/25413
        * targhooks.c (default_builtin_vector_alignment_reachable): New.
        * targhooks.h (default_builtin_vector_alignment_reachable): New.
        * tree.h (contains_packed_reference): New.
        * expr.c (contains_packed_reference): New.
        * tree-vect-analyze.c (vector_alignment_reachable_p): New.
        (vect_enhance_data_refs_alignment): Call
        vector_alignment_reachable_p.
        * target.h (vector_alignment_reachable): New builtin.
        * target-def.h (TARGET_VECTOR_ALIGNMENT_REACHABLE): New.
        * config/rs6000/rs6000.c (rs6000_vector_alignment_reachable): New.
        (TARGET_VECTOR_ALIGNMENT_REACHABLE): Define.


Co-Authored-By: Devang Patel <dpatel@apple.com>

From-SVN: r126591
2007-07-12 14:42:08 +00:00
Geoffrey Keating d872ada017 builtins.c (get_pointer_alignment): Honor DECL_ALIGN on a FUNCTION_DECL.
* builtins.c (get_pointer_alignment): Honor DECL_ALIGN on a
	FUNCTION_DECL.
	* tree.c (build_decl_stat): Move code from here...
	(make_node_stat): ... to here.  Don't uselessly clear DECL_USER_ALIGN.
	(expr_align): Honor DECL_ALIGN on a FUNCTION_DECL.  Add comment
	about using DECL_ALIGN of LABEL_DECL and CONST_DECL.
	* tree.h (DECL_USER_ALIGN): Fix misplaced comment.
	* varasm.c (assemble_start_function): Use DECL_ALIGN instead of
	FUNCTION_BOUNDARY.

From-SVN: r126588
2007-07-12 13:43:33 +00:00
Dorit Nuzman e95b59d2ab target.h (builtin_vectorization_cost): Add new target builtin.
2007-07-12  Dorit Nuzman  <dorit@il.ibm.com>

        * target.h (builtin_vectorization_cost): Add new target builtin.
        * target-def.h (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): New.
        * tree-vectorizer.h (TARG_SCALAR_STMT_COST): New.
        (TARG_SCALAR_LOAD_COST, TARG_SCALAR_STORE_COST): New.
        * tree-vect-analyze.c (vect_analyze_slp_instance): Initisliaze
        uninitialized variables.
        * tree-vect-transform.c (cost_for_stmt): New function.
        (vect_estimate_min_profitable_iters): Call cost_for_stmt instead of
        using cost 1 for all scalar stmts. Be less conservative when
        estimating the number of prologue/epulogue iterations. Call
        targetm.vectorize.builtin_vectorization_cost. Return
        min_profitable_iters-1.
        (vect_model_reduction_cost): Use TARG_SCALAR_TO_VEC_COST for
        initialization cost instead of TARG_VEC_STMT_COST. Use
        TARG_VEC_TO_SCALAR_COST instead of TARG_VEC_STMT_COST for reduction
        epilogue code. Fix epilogue cost computation.
        * config/spu/spu.c (spu_builtin_vectorization_cost): New.
        (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Implement.
        * config/spu/spu.h (TARG_COND_BRANCH_COST, TARG_SCALAR_STMT_COST):
        (TARG_SCALAR_LOAD_COST, TARG_SCALAR_STORE_COST, TARG_VEC_STMT_COST):
        (TARG_VEC_TO_SCALAR_COST, TARG_SCALAR_TO_VEC, TARG_VEC_LOAD_COST):
        (TARG_VEC_UNALIGNED_LOAD_COST, TARG_VEC_STORE_COST): Define.

2007-07-12  Dorit Nuzman  <dorit@il.ibm.com>

        * gcc.dg/vect/costmodel/ppc/costmodel-vect-reduc-1char.c: Loops now
        get vectorized.
        * gcc.dg/vect/costmodel/i386/costmodel-vect-reduc-1char.c: Loops
        now get vectorized.
        * gcc.dg/vect/costmodel/spu/spu-costmodel-vect.exp: New.
        * gcc.dg/vect/costmodel/spu/costmodel-fast-math-vect-pr29925.c: New.
        * gcc.dg/vect/costmodel/spu/costmodel-vect-31a.c: New.
        * gcc.dg/vect/costmodel/spu/costmodel-vect-31b.c: New.
        * gcc.dg/vect/costmodel/spu/costmodel-vect-31c.c: New.
        * gcc.dg/vect/costmodel/spu/costmodel-vect-31d.c: New.
        * gcc.dg/vect/costmodel/spu/costmodel-vect-iv-9.c: New.
        * gcc.dg/vect/costmodel/spu/costmodel-vect-33.c: New.
        * gcc.dg/vect/costmodel/spu/costmodel-vect-76a.c: New.
        * gcc.dg/vect/costmodel/spu/costmodel-vect-76b.c: New.
        * gcc.dg/vect/costmodel/spu/costmodel-vect-76c.c: New.
        * gcc.dg/vect/costmodel/spu/costmodel-vect-68a.c: New.
        * gcc.dg/vect/costmodel/spu/costmodel-vect-68b.c: New.
        * gcc.dg/vect/costmodel/spu/costmodel-vect-68c.c: New.
        * gcc.dg/vect/costmodel/spu/costmodel-vect-68d.c: New.
        * lib/target-supports.exp (check_effective_target_vect_int_mul):
        Add spu.

From-SVN: r126584
2007-07-12 12:17:03 +00:00
Richard Guenther 8f20c48505 gimplify.c (gimplify_conversion): Make sure that the result from maybe_fold_offset_to_reference is trivially...
2007-07-12  Richard Guenther  <rguenther@suse.de>

	* gimplify.c (gimplify_conversion): Make sure that the result
	from maybe_fold_offset_to_reference is trivially convertible
	to the desired type before doing the simplification.
	(gimplify_expr): Likewise.
	* fold-const.c (fold_binary): Use the correct types for
	building the simplified expression.

From-SVN: r126577
2007-07-12 10:27:51 +00:00
Zdenek Dvorak 44f51d597e re PR rtl-optimization/32729 (Loop unrolling not performed with large constant loop bound)
PR rtl-optimization/32729
	* cfghooks.c (can_duplicate_block_p): Do not forbid duplicating blocks
	that fallthru to exit.

From-SVN: r126576
2007-07-12 10:24:19 +00:00
Kaz Kojima 45312d9d96 sh.md (symGOTOFF2reg): Add missing parenthesis.
* config/sh/sh.md (symGOTOFF2reg): Add missing parenthesis.
	(symDTPOFF2reg): Likewise.

From-SVN: r126571
2007-07-12 03:56:01 +00:00
Daniel Berlin c5830edf85 re PR tree-optimization/32663 (revision 126369 went into an infinite loop)
2007-07-11  Daniel Berlin  <dberlin@dberlin.org>

	PR tree-optimization/32663
	
	* tree.h (VALUE_HANDLE_VUSES): Remove.
	(struct tree_value_handle): Remove vuses.

	* tree-vn.c (create_value_handle_for_expr): Don't set
	VALUE_HANDLE_VUSES. 

	* tree-ssa-pre.c (expression_vuses): New.
	(alloc_expression_id): Set up expression_vuses.
	(get_expression_vuses): New.
	(set_expression_vuses): Ditto.
	(clear_expression_ids): Modify for expression_vuses.
	(phi_translate_1): Ditto.
	(phi_translate_set): Ditto.
	(value_dies_in_block_x): Ditto
	(valid_in_sets): Ditto.
	(add_to_sets): Ditto.
	(find_existing_value_expr): Ditto.
	(create_value_handle_for_expr): Ditto.
	(make_values_for_stmt): Ditto.
	(vuse_equiv): Remove.

From-SVN: r126568
2007-07-12 02:20:04 +00:00
Alexandre Oliva 66a82a79ea * Makefile.in (mostlyclean): Remove object files.
From-SVN: r126566
2007-07-12 01:10:51 +00:00
Kenneth Zadeck ef4375b218 toplev.c (no_new_pseudos): Deleted.
2007-07-11  Kenneth Zadeck <zadeck@naturalbridge.com>

	* toplev.c (no_new_pseudos): Deleted.
	* rtl.h (no_new_pseudos): Deleted.
	* tree-pass.h (pass_no_new_pseudos): Deleted. 
	* passes.c (pass_no_new_pseudos): Deleted.
	* final.c (rest_of_clean_state): Removed no_new_pseudos.
	(rest_of_no_new_pseudos, pass_no_new_pseudos): Deleted.
	* struct-equiv.c (rtx_equiv_p): Replaced no_new_pseudos with 
	reload_completed.
	* cfgcleanup.c (try_crossjump_to_edge): Ditto. 
	* rtlhooks.c (gen_lowpart_general): Ditto.
	* optabs.c (prepare_operand): Ditto.
	* mode-switching.c (rest_of_handle_mode_switching): Deleted set of
	no_new_pseudos.
	* modulo-sched.c (rest_of_handle_sms): Ditto.
	* see.c (rest_of_handle_see): Ditto.
	* ifcvt.c (if_convert): Ditto.
	(gate_handle_if_after_combine): Replaced no_new_pseudos with 
	reload_completed.
	* init-regs.c (gate_initialize_regs): Deleted set of
	no_new_pseudos.
	* lower-subreg.c (decompose_multiword_subregs): Ditto. 
	* bb-reorder.c (rest_of_handle_partition_blocks): Ditto.
	* doc/md.texi: Changed no_new_pseudos to can_create_pseudo_p.

From-SVN: r126561
2007-07-11 22:57:51 +00:00
Uros Bizjak 29d27fb08a re PR target/32661 (__builtin_ia32_vec_ext suboptimal for pointer/ref args)
PR target/32661
        * config/i386/sse.md (*sse2_storeq_rex64): Handle 64bit mem->reg moves.
        (*vec_extractv2di_1_sse2): Disable for TARGET_64BIT.
        (*vec_extractv2di_1_rex64): New insn pattern.

testsuite/ChangeLog:

        PR target/32661
        * gcc.target/i386/pr32661-1.c: New test.

From-SVN: r126557
2007-07-11 20:42:44 +02:00
David Daney aa3e18a066 linux-unwind.h (mips_fallback_frame_state): Rewrite return address calculation.
* config/mips/linux-unwind.h (mips_fallback_frame_state): Rewrite
	return address calculation.  Substitute DWARF_ALT_FRAME_RETURN_COLUMN
	for SIGNAL_UNWIND_RETURN_COLUMN.
	* config/mips/mips.h (SIGNAL_UNWIND_RETURN_COLUMN): Remove.
	(DWARF_FRAME_REGNUM): Rewrite.
	(DWARF_ALT_FRAME_RETURN_COLUMN) Define.

From-SVN: r126555
2007-07-11 16:56:54 +00:00
Nick Clifton 9251d66467 * config/m32r/m32r.h (INITIALIZE_TRAMPOLINE): Revert previous delta and use gen_int_mode in place of GET_INT instead.
From-SVN: r126552
2007-07-11 14:03:37 +00:00
Uros Bizjak 942ca20a70 reg-stack.c (struct tree_opt_pass pass_stack_regs): Nullify name and letter field.
* reg-stack.c (struct tree_opt_pass pass_stack_regs): Nullify name
        and letter field.

From-SVN: r126551
2007-07-11 15:52:44 +02:00
Douglas Gregor 7313518b90 params.def (PARAM_VERIFY_CANONICAL_TYPES): Remove.
2007-07-11  Douglas Gregor  <doug.gregor@gmail.com>

       * params.def (PARAM_VERIFY_CANONICAL_TYPES): Remove.
       (PARAM_USE_CANONICAL_TYPES): New; decides whether to use canonical
       types or not.
       * params.h (VERIFY_CANONICAL_TYPES): Remove.
       (USE_CANONICAL_TYPES): New.
       * doc/invoke.texi (verify-canonical-types): Remove.
       (use-canonical-types): Add.

2007-07-11  Douglas Gregor  <doug.gregor@gmail.com>

       * typeck.c (comptypes): When USE_CANONICAL_TYPES, use the
       canonical types; otherwise, fall back to structural type
       comparisons. If ENABLE_CHECKING and USE_CANONICAL_TYPES, give an
       internal compiler error if the canonical types are wrong.

From-SVN: r126550
2007-07-11 13:50:13 +00:00
Ulrich Weigand 039cb25833 spu.c (spu_optimization_options): Remove setting of parameter PARAM_MAX_COMPLETELY_PEEL_TIMES.
* config/spu/spu.c (spu_optimization_options): Remove setting of
	parameter PARAM_MAX_COMPLETELY_PEEL_TIMES.
	(spu_override_options): Move it here.

From-SVN: r126549
2007-07-11 13:41:30 +00:00
Richard Sandiford 9e32002f0d mips.h (MIPS_ISA_LEVEL_SPEC): Handle -m4ksc and -m4ksd.
gcc/
	* config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Handle -m4ksc and
	-m4ksd.
	* config/mips/mips.c (mips_cpu_info_table): Mention MIPS_ISA_LEVEL_SPEC
	in the comment.

From-SVN: r126548
2007-07-11 13:09:51 +00:00
Eric Botcazou 26b70b9f64 re PR tree-optimization/32713 (ICE in copy_reference_ops_from_ref, at tree-ssa-sccvn.c:550)
PR tree-optimization/32713
	* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Handle REAL_CST.

From-SVN: r126547
2007-07-11 10:29:17 +00:00
Paolo Carlini 4ac1edaf7f re PR middle-end/30482 (<complex> division by 0)
2007-07-11  Paolo Carlini  <pcarlini@suse.de>

	PR middle-end/30482
	* c-opts.c (c_common_post_options): Do not change flag_complex_method
	conditional to flag_isoc99.
	(c_common_init_options): Do it here, unconditionally.

From-SVN: r126546
2007-07-11 10:23:56 +00:00
Eric Botcazou c2979eaf57 re PR tree-optimization/32589 (exp_dbug.adb:981: error: invalid array index)
PR tree-optimization/32589
	* doc/tree-ssa.texi (Rough GIMPLE Grammar): Add missing rule.
	* tree-gimple.c (is_gimple_min_invariant): Clarify head comment.
	* tree-ssa-propagate.c (valid_gimple_expression_p): New
	predicate, extracted from...
	(set_rhs): ...here.  Call it for the expression on entry.
	* tree-ssa-propagate.h (valid_gimple_expression_p): Declare.
	* tree-ssa-sccvn.c: Include tree-ssa-propagate.h.
	(simplify_binary_expression): Use valid_gimple_expression_p
	to validate the simplification.
	* Makefile.in (tree-ssa-sccvn.o): Depends on tree-ssa-propagate.h.

From-SVN: r126545
2007-07-11 09:43:25 +00:00
Danny Smith 13c0a63051 cygming.h (PREFERRED_DEBUGGING_TYPE): Define to DWARF2_DEBUG on 32 bit target too.
* config/i386/cygming.h (PREFERRED_DEBUGGING_TYPE): Define to
	DWARF2_DEBUG on 32 bit target too.
	(DWARF2_UNWIND_INFO): Reorganize 64-bit vs 32-bit definition.

From-SVN: r126544
2007-07-11 09:37:18 +00:00
Nick Clifton 0dcd2e7872 oops - this is the missing changelog entry for the previous delta
From-SVN: r126540
2007-07-11 08:26:55 +00:00
David Daney df770e0442 mips.h (ISA_HAS_SYNCI): New target capability predicate.
2007-07-10  David Daney  <ddaney@avtrex.com>

	* config/mips/mips.h (ISA_HAS_SYNCI): New target capability
	predicate.
	(INITIALIZE_TRAMPOLINE): Emit clear_cache insn instead of  library
	call.
	* config/mips/mips.c (mips_expand_synci_loop): New function.
	* config/mips/mips.md (UNSPEC_CLEAR_HAZARD): New constant.
	(UNSPEC_RDHWR): Same.
	(UNSPEC_SYNCI): Same.
	(UNSPEC_SYNC): Same.
	(clear_cache): New expand.
	(sync): New insn.
	(synci): Same.
	(rdhwr): Same.
	(clear_hazard): Same.
	* config/mips/mips-protos.h (mips_expand_synci_loop): Declare
	function.
	* testsuite/gcc.target/mips/clear-cache-1.c: New test.
	* testsuite/gcc.target/mips/clear-cache-2.c: New test.

From-SVN: r126537
2007-07-11 05:14:35 +00:00