Commit Graph

32409 Commits

Author SHA1 Message Date
Ulrich Drepper 3fc95619f6 crtstuff.c (HIDDEN_DTOR_LIST_END): New macro.
* crtstuff.c (HIDDEN_DTOR_LIST_END): New macro.
	(__do_global_dtors_aux): Use more paranoid loop to run
	destructors if HIDDEN_DTOR_LIST_END.
	(__DTOR_END__): Export as a hidden symbol when HIDDEN_DTOR_LIST_END.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>

From-SVN: r124444
2007-05-04 21:20:28 +02:00
Jakub Jelinek 52d53754d1 varasm.c (align_variable): Don't increase alignment for DECL_THREAD_LOCAL_P variables above BITS_PER_WORD...
* varasm.c (align_variable): Don't increase alignment for
	DECL_THREAD_LOCAL_P variables above BITS_PER_WORD through
	DATA_ALIGNMENT or CONSTANT_ALIGNMENT.

From-SVN: r124442
2007-05-04 21:17:57 +02:00
Josh Conner 2b28c07aa7 basic-block.h (cdi_direction): Assign values to all enumeration constants.
2007-05-04  Josh Conner  <jconner@apple.com>

	* basic-block.h (cdi_direction): Assign values to all enumeration
	constants.
	(dom_computed): Remove.
	(dom_info_state): New.
	(set_dom_info_availability): New.
	* tree-ssa-loop-im.c (determine_invariantness): Initialize
	walk_data.dom_direction.
	* cfghooks.c (delete_basic_block): Use dom_info_available_p()
	instead of dom_computed[].
	(split_edge): Likewise.
	(create_basic_block): Likewise.
	(merge_blocks): Likewise.
	* ifcvt.c (find_if_header): Likewise.
	* tree-cfgcleanup.c (cleanup_tree_cfg): Likewise.
	* tree-ssa-dce.c (remove_dead_stmt): Likewise.
	* tree-ssa.c (verify_ssa): Likewise.
	* tree-cfg.c (tree_verify_flow_info): Likewise.
	(remove_edge_and_dominated_blocks): Likewise.
	* dominance.c (dom_computed): Make static.
	(calc_dfs_tree_nonrec): Change third param to a bool.
	(calc_dfs_tree): Change second param to a bool.
	(calc_idioms): Change second param to a bool.  Use
	dom_convert_dir_to_idx.
	(init_dom_info): Validate dir before using.
	(dom_convert_dir_to_idx): New.
	(calculate_dominance_info): Use dom_convert_dir_to_idx.  New
	variable 'reverse' used for calling calc_dfs_tree and calc_idoms.
	(free_dominance_info): Use dom_convert_dir_to_idx.
	(get_immediate_dominator): Likewise.
	(set_immediate_dominator): Likewise.
	(get_dominated_by): Likewise.
	(redirect_immediate_dominators): Likewise.
	(nearest_common_denominator): Likewise.
	(dominated_by_p): Likewise.
	(bb_dom_dfs_in): Likewise.
	(bb_dom_dfs_out): Likewise.
	(recount_dominator): Likewise.
	(iterate_fix_dominators): Likewise.
	(add_to_dominance_info): Likewise.
	(delete_from_dominance_info): Likewise.
	(first_dom_son): Likewise.
	(next_dom_son): Likewise.
	(dom_info_available_p): Likewise.
	(dom_info_state): New.
	(set_dom_info_availability): New.

From-SVN: r124439
2007-05-04 18:08:06 +00:00
Andreas Krebbel b60cb710ba s390.md ("fix_trunc<mode>di2", [...]): Expander removed.
2007-05-04  Andreas Krebbel  <krebbel1@de.ibm.com>

	* config/s390/s390.md ("fix_trunc<mode>di2", "fix_trunc<mode>si2"):
	Expander removed.
	("fix_trunc<DSF:mode><GPR:mode>2"): Expander added.

From-SVN: r124433
2007-05-04 16:23:08 +00:00
Bob Wilson b86dee194c xtensa.md (adddi3, [...]): Delete.
* config/xtensa/xtensa.md (adddi3, adddi_carry): Delete.
	(subdi3, subdi_carry): Delete.

From-SVN: r124432
2007-05-04 16:18:19 +00:00
Jan Hubicka 06ea1b8486 opts.c (decode_options): Do not fiddle with inlining parameters in case of optimizing for size.
* opts.c (decode_options): Do not fiddle with inlining
	parameters in case of optimizing for size.
	* ipa-inline.c (cgraph_decide_recursive_inlining): When optimizing
	for size do nothing.
	(cgraph_decide_inlining_of_small_function): When optimizing for
	size never inline functions increasing caller size.
	(cgraph_early_inlining): Inline for size when optimizing for size.

Co-Authored-By: Richard Guenther <rguenther@suse.de>

From-SVN: r124431
2007-05-04 15:32:42 +00:00
Bernd Schmidt e4fae5f757 bfin.md (<optab>di3): Now a define_expand which expands logical operations piecewise.
* config/bfin/bfin.md (<optab>di3): Now a define_expand which expands
	logical operations piecewise.
	(<optab>di_zesidi_di, <optab>di_sesidi_di, negdi2, one_cmpldi2,
	zero_extendsidi2, subdi_di_zesidi, subdi_zesidi_di, subdi_di_sesidi,
	subdi_sesidi_di): Delete.
	(add_with_carry): Produce carry in CC instead of a DREG to shorten
	the generated sequence.  Allow three-reg add in constraints.  Rewrite
	the rtl expression for carry to avoid zero_extend of a constant.
	(sub_with_carry): New pattern.
	(adddi3, subdi3): Change into define_expand.  For subtract, generate a
	different sequence not involving jumps.
	(notbi): Now a named pattern.

From-SVN: r124414
2007-05-04 11:00:00 +00:00
Brad Lucier 80b9cbc955 invoke.texi (i386 and x86-64 Options): Add the note about a significant loss of accuracy of some mathematical routines...
* doc/invoke.texi (i386 and x86-64 Options) [-mpc32, -mpc64, -mpc80]:
        Add the note about a significant loss of accuracy of some
        mathematical routines when these options are used.

From-SVN: r124413
2007-05-04 12:19:31 +02:00
Maxim Kuvyrkov 916fa4f033 haifa-sched.c (rtx_vec_t): New typedef.
* haifa-sched.c (rtx_vec_t): New typedef.
(contributes_to_priority_p): Extract piece of priority () into new
static function.
(priority): Use the function.  Add assertion.
(rank_for_schedule, set_priorities): Add assertion to check that
insn's priority is initialized.
(clear_priorities, calc_priorities): Change signature.  Make it update
all relevant insns.  Update all callers ('add_to_speculative_block ()'
and 'create_block_check_twin ()').
* sched-int.h (struct haifa_insn_data): Remove field 'priority_known'.
Add new field 'priority_status'.
(INSN_PRIORITY_STATUS): New macro.
(INSN_PRIORITY_KNOWN): Change to use INSN_PRIORITY_STATUS.

From-SVN: r124410
2007-05-04 07:21:20 +00:00
Maxim Kuvyrkov b640bd8f20 sched-ebb.c (debug_ebb_dependencies): New static function.
* sched-ebb.c (debug_ebb_dependencies): New static function.
(init_ready_list): Use it.

* sched-rgn.c (debug_dependencies): Split into 'debug_dependencies ()'
with changed signature and 'debug_rgn_dependencies ()'.
(debug_rgn_dependencies): New static function.
(init_ready_list): Use it.
	
* sched-int.h (debug_dependencies): Declare.

From-SVN: r124409
2007-05-04 07:13:28 +00:00
Andreas Krebbel 04749f41af libgcc-std.ver (__ffssi2): Added to GCC_4.3.0 section.
2007-05-04  Andreas Krebbel  <krebbel1@de.ibm.com>

	* libgcc-std.ver (__ffssi2): Added to GCC_4.3.0 section.

From-SVN: r124408
2007-05-04 07:07:47 +00:00
Dirk Mueller 820b51ae16 c.opt (Wmain,ffreestanding): Enable for C++,ObjC++.
2007-05-04  Dirk Mueller  <dmueller@suse.de>

        * c.opt(Wmain,ffreestanding): Enable for C++,ObjC++.

        * cp-tree.h (DECL_MAIN_P): only if -ffreestanding is
        not in effect.

From-SVN: r124404
2007-05-04 00:46:02 +00:00
Jan Hubicka ac5a28a64e fold-const.c (fold_unary): Convert (T1)(X op Y) into ((T1)X op (T1)Y)...
* fold-const.c (fold_unary): Convert (T1)(X op Y) into ((T1)X op (T1)Y),
	for pointer type in more cases than before.

	* gimplify.c (gimplify_expr): Fold (void *)&a + 4.

	* tree-object-size.c (plus_expr_object_size): When operand size is
	unknown, return unknown.

From-SVN: r124403
2007-05-04 00:40:20 +00:00
Dirk Mueller d347d4c745 invoke.texi (-m386,-m486,-mpentium,-mpentiumpro): Remove.
2007-05-03  Dirk Mueller  <dmueller@suse.de>

        * doc/invoke.texi (-m386,-m486,-mpentium,-mpentiumpro): Remove.

        * config/i386/i386.h (CC1_CPU_SPEC): Remove handling for deprecated
        options.

        * config/i386/i386.opt (m386,m486,mpentium,mpentiumpro): Remove.

From-SVN: r124400
2007-05-04 00:08:53 +00:00
Janis Johnson ce396345ac * doc/sourcebuild.texi (Test Directives) Clarify dg-excess-errors.
From-SVN: r124392
2007-05-03 21:32:52 +00:00
Joseph Myers 13cc6d1bd3 double.h, [...]: Update from glibc CVS.
* config/soft-fp/double.h, config/soft-fp/extended.h,
	config/soft-fp/floatundidf.c, config/soft-fp/floatundisf.c,
	config/soft-fp/floatunsidf.c, config/soft-fp/floatunsisf.c,
	config/soft-fp/op-2.h, config/soft-fp/op-4.h,
	config/soft-fp/op-common.h, config/soft-fp/quad.h: Update from
	glibc CVS.

From-SVN: r124388
2007-05-03 20:05:39 +01:00
Ian Lance Taylor a45bce6e9f rs6000.c (rs6000_override_options): Don't se MASK_PPC_GFXOPT for 8540 or 8548.
* config/rs6000/rs6000.c (rs6000_override_options): Don't se
	MASK_PPC_GFXOPT for 8540 or 8548.

From-SVN: r124381
2007-05-03 17:37:19 +00:00
Uros Bizjak 98120f628b tree-vect-transform.c (vect_update_inits_of_drs): Use vect_print_dump_info() to output debug information.
* tree-vect-transform.c (vect_update_inits_of_drs): Use
        vect_print_dump_info() to output debug information.

From-SVN: r124380
2007-05-03 16:50:34 +02:00
Uros Bizjak f3ba423529 re PR target/31768 (Invalid code or ICE for %z constraint)
PR target/31768
        * config/i386/i386.c (print_operand) ['z']: Output 'w' for
        operands of size 2 when operand is not MEM_P.

From-SVN: r124379
2007-05-03 16:32:25 +02:00
Zdenek Dvorak e604f56c8f re PR tree-optimization/30565 (ICE with -O1 -ftree-pre -ftree-loop-linear)
PR tree-optimization/30565
	* lambda-code.c (perfect_nestify): Fix updating of dominators.

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

From-SVN: r124378
2007-05-03 13:27:26 +00:00
Bernd Schmidt 314f99131f bfin.md (addpdi3, [...]): New patterns.
* config/bfin/bfin.md (addpdi3, us_truncpdisi2): New patterns.
	(umulsi3_highpart): Use them.
	* config/bfin/lib1funcs.asm (__umulsi3_highpart): Use unsigned move
	for final accumulator to D regisster tranfser.

From-SVN: r124376
2007-05-03 13:17:51 +00:00
Dorit Nuzman cb9ed5d79f re PR middle-end/31699 (-march=opteron -ftree-vectorize generates wrong code)
PR tree-optimization/31699
        * tree-vect-analyze.c (vect_update_misalignment_for_peel): Remove wrong
        code.
        (vect_enhance_data_refs_alignment): Compute peel amount using
        TYPE_VECTOR_SUBPARTS instead of vf.
        * tree-vect-transform.c (vect_gen_niters_for_prolog_loop): Likewise.

From-SVN: r124375
2007-05-03 12:54:45 +00:00
Brooks Moses df58283300 re PR bootstrap/31776 (Bootstrap fails with "error: conflicting types for strsignal")
PR bootstrap/31776
* system.h: Remove inclusion of double-int.h
* tree.h: Include double-int.h
* gengtype.c: Likewise
* cfgloop.h: Likewise
* Makefile.in: Adjust dependencies on double-int.h

From-SVN: r124373
2007-05-02 23:14:52 -07:00
Eric Christopher ae07728488 darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Translate -shared to -Zdynamiclib.
2007-05-02  Eric Christopher  <echristo@apple.com>

	    * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Translate
	    -shared to -Zdynamiclib.

From-SVN: r124372
2007-05-03 02:09:58 +00:00
Seongbae Park ba99296704 re PR c++/31663 (Segfault in constrain_class_visibility with anonymous namespace)
gcc/ChangeLog:
2007-05-02  Seongbae Park  <seongbae.park@gmail.com>

	PR c++/31663
	* c-common.c (strip_pointer_or_array_types): New function.
	* c-common.h (strip_pointer_or_array_types): New function declaration.

gcc/cp/ChangeLog:
2007-05-02  Seongbae Park  <seongbae.park@gmail.com>

	PR c++/31663
	* decl2.c (constrain_class_visibility): 
	Use strip_pointer_or_array_types instead of strip_array_types.

gcc/testsuite/ChangeLog:
2007-05-02  Seongbae Park  <seongbae.park@gmail.com>

	PR C++/31663
	* g++.dg/warn/anonymous-namespace-2.C: New. 
	* g++.dg/warn/anonymous-namespace-2.h: New.

From-SVN: r124363
2007-05-02 23:11:13 +00:00
Zdenek Dvorak e0310afb08 re PR rtl-optimization/31771 (g++.dg/gomp/pr26913.C ICEs)
PR tree-optimization/31771
	* tree-cfg.c (move_block_to_fn): Assign bb to the correct index.

From-SVN: r124362
2007-05-02 22:34:38 +00:00
Paul Brook ad1ec76fea bpabi.S (aeabi_lcmp): Fix result on overflow.
2007-05-02  Paul Brook  <paul@codesourcery.com>

	gcc/
	* config/arm/bpabi.S (aeabi_lcmp): Fix result on overflow.

	gcc/testsuite/
	* gcc.dg/arm-eabi1.c: Move debug output.  Augment lcmp/ulcmp tests.

From-SVN: r124361
2007-05-02 22:16:21 +00:00
Andrew Pinski c5b75e95c0 Forgot to add the PR number to the last changelog entry:
2007-05-02  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR middle-end/29715
        * fold-const.c (fold_comparision): Remove the "foo++ == CONST"
        transformation.

From-SVN: r124354
2007-05-02 10:47:50 -07:00
Andrew Pinski 0e3aa12623 fold-const.c (fold_comparision): Remove the "foo++ == CONST" transformation.
2007-05-02  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        * fold-const.c (fold_comparision): Remove the "foo++ == CONST"
        transformation.

From-SVN: r124353
2007-05-02 10:47:06 -07:00
Nick Clifton 5271f9bad5 * config/frv/predicates.md (symbolic_operand): Accept CONSTs.
From-SVN: r124352
2007-05-02 17:00:19 +00:00
Richard Guenther f6c5fefc1d re PR tree-optimization/31146 (forwprop does not look through casts)
2007-05-02  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/31146
	* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): New
	argument, single_use_p.  If we have a single use that is
	a conversion to the definition rhs type, propagate that rhs.
	(forward_propagate_addr_expr): Pass single_use_p argument
	to forward_propagate_addr_expr_1.

	* g++.dg/tree-ssa/pr31146-2.C: New testcase.

From-SVN: r124349
2007-05-02 09:12:49 +00:00
H.J. Lu 9a60b02d97 i386.c (ix86_expand_sse_comi): Remove unused variable.
2007-05-01  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.c (ix86_expand_sse_comi): Remove unused
	variable.

From-SVN: r124344
2007-05-01 17:37:51 -07:00
Dwarakanath Rajagopal d8f52b0232 invoke.texi: Fix typo, 'AMD Family 10h core' instead of 'AMD Family 10 core'.
2007-05-01  Dwarakanath Rajagopal <dwarak.rajagopal@amd.com>

        * doc/invoke.texi: Fix typo, 'AMD Family 10h core' instead of
	'AMD Family 10 core'.

From-SVN: r124341
2007-05-01 19:53:40 +00:00
Dwarakanath Rajagopal 9369ed9561 Accept k8-sse3, opteron-sse3 and athlon64-sse3 as improved versions of k8,opteron and athlon64 with SSE3 instruction set support
From-SVN: r124340
2007-05-01 19:48:29 +00:00
Dwarakanath Rajagopal 2af6cb38db Tuning 32-byte loop alignment for amdfam10 architecture
From-SVN: r124336
2007-05-01 18:29:39 +00:00
Kazu Hirata b38bab9485 constraints.md: New.
* config/m68k/constraints.md: New.
	* config/m68k/m68k.h (REG_CLASS_FROM_LETTER,
	CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P,
	EXTRA_CONSTRAINT): Remove.
	* config/m68k/m68k.md: Include constraints.md.
	* expr.c (expand_expr_real_1): Copy DECL_RTL before using it.

From-SVN: r124335
2007-05-01 17:54:15 +00:00
Ian Lance Taylor e1f28918ef re PR tree-optimization/31739 (ICE at tree.c:902 compiling g-regexp.adb)
PR tree-optimization/31739
	* tree-vrp.c (vrp_val_is_max): New static function.
	(vrp_val_is_min): New static function.
	(set_value_range_to_value): Use TYPE_{MAX,MIN}_VALUE rather than
	copying the node.
	(set_value_range): Use vrp_val_is_{max,min}.
	(extract_range_from_assert): Likewise.
	(extract_range_from_binary_expr): Likewise.
	(extract_range_from_unary_expr): Likewise.
	(dump_value_range, vrp_meet): Likewise.
	(vrp_visit_phi_node): Likewise.
	* tree.c (build_distinct_type_copy): Revert change of 2007-04-27.

From-SVN: r124334
2007-05-01 17:51:56 +00:00
Mark Mitchell 1d87d70dd0 gmon-sol2.c (size_t): New type.
* config/i386/gmon-sol2.c (size_t): New type.
	(intptr_t): Likewise.
	(s_textsize): Declare as size_t.
	(sbrk): Declare.
	(monstartup): Use size_t for sizes.
	(_mcount): Save and restore registers.
	(internal_mcount): Pass 0 as the first argument to monstartup
	in 64-bit mode.
	(moncontrol): Convert pointer to appropriately sized integer
	before passing to profil.

From-SVN: r124333
2007-05-01 17:51:21 +00:00
Joseph Myers b26941b46a darwin-ldouble.c (__gcc_qunord): Define if __NO_FPRS__, not just if _SOFT_DOUBLE.
* config/rs6000/darwin-ldouble.c (__gcc_qunord): Define if
	__NO_FPRS__, not just if _SOFT_DOUBLE.
	* config/rs6000/libgcc-ppc-glibc.ver (__gcc_qunord): Likewise.
	* config/rs6000/rs6000.c (rs6000_init_libfuncs): Use __gcc_qunord
	also for E500 double.
	* config/rs6000/rs6000.md (buneq, bunge, bungt, bunle, bunlt,
	suneq, sunge, sungt, sunle, sunlt): Disable for (TARGET_HARD_FLOAT
	&& !TARGET_FPRS).

From-SVN: r124332
2007-05-01 18:41:48 +01:00
Richard Guenther ae2cf11b91 tree-ssa-loop-manip.c (ip_normal_pos): Check if last stmt is NULL.
2007-05-01  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-loop-manip.c (ip_normal_pos): Check if last stmt
 	is NULL.

From-SVN: r124329
2007-05-01 14:54:30 +00:00
Joseph Myers 037ab18d88 * config/rs6000/libgcc-ppc-glibc.ver (__gcc_qgt): Fix typo.
From-SVN: r124328
2007-05-01 14:44:56 +01:00
Jan Hubicka 617428e9f6 tree-vectorize.c (vect_is_simple_use): gimple_min_invariant is invariant.
* tree-vectorize.c (vect_is_simple_use): gimple_min_invariant is
	invariant.

From-SVN: r124324
2007-05-01 11:19:59 +00:00
Jan Hubicka fe9821b88c tree.h (maybe_fold_offset_to_component_ref): Remove.
* tree.h (maybe_fold_offset_to_component_ref): Remove.
	(maybe_fold_offset_to_reference): Declare.
	* fold-const.c (fold_unary): Do not fold
	(type *)&A into &A->field_of_type_and_offset_0
	* tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): When base type
	size is unknown, give up.
	(maybe_fold_offset_to_component_ref): Ignore firelds with unknown
	offsets.
	(maybe_fold_offset_to_reference): New.
	(maybe_fold_stmt_indirect): Use it.
	(fold_stmt_r): Fold (type *)&A+offset into A->field_if_type_and_offset.
	* gimplify.c (gimplify_conversion): Canonicalize conversions to
	field references.
	(gimplify_expr): Likewise for plus_expr.

From-SVN: r124323
2007-05-01 11:18:01 +00:00
Zdenek Dvorak 8b11009bad tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Use bsi_after_labels.
* tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Use
	bsi_after_labels.  Always insert statements before bsi.
	* tree-vect-transform.c (vect_create_epilog_for_reduction): Ditto.
	* predict.c (apply_return_prediction): Check for empty blocks.
	* cfgexpand.c (lab_rtx_for_bb): New variable.
	(label_rtx_for_bb): Do not create new tree labels.
	(expand_gimple_basic_block): Add labels recorded in lab_rtx_for_bb.
	(tree_expand_cfg): Initialize lab_rtx_for_bb.
	* tree-cfg.c (build_tree_cfg): Call cleanup_dead_labels after
	creating edges.
	(label_for_bb): Add field used.
	(update_eh_label, main_block_label): Mark the label used.
	(cleanup_dead_labels): Remove unused labels.

From-SVN: r124322
2007-05-01 10:17:43 +00:00
Richard Guenther f5052e291a tree-vrp.c (set_value_range): Do not allocate equiv bitmap if it is not about to be set.
2007-05-01  Richard Guenther  <rguenther@suse.de>

	* tree-vrp.c (set_value_range): Do not allocate equiv bitmap
	if it is not about to be set.
	(get_value_range): Do not pre-allocate equiv bitmap.
	(update_value_range): No need to clear equiv field.
	(add_equivalence): Change prototype to get bitmap pointer.
	Allocate bitmap here if it is not already.
	(extract_range_from_assert): Do not allocate bitmap here.
	Update callers to add_equivalence.
	(extract_range_from_ssa_name): Likewise.
	(get_vr_for_comparison): New static helper.
	(compare_name_with_value): Handle NULL equiv bitmap by
	peeling the first iteration of the comparison loop.
	Use get_vr_for_comparison.
	(compare_names): Handle NULL equiv bitmaps by using fake
	ones.  Use get_vr_for_comparison.

From-SVN: r124321
2007-05-01 09:32:34 +00:00
Brooks Moses e4fd22c6d5 double-int.c (mpz_set_double_int): Moved from tree-ssa-loop-niter.c.
* double-int.c (mpz_set_double_int): Moved from
tree-ssa-loop-niter.c.
(mpz_get_double_int): Likewise; also, add option to wrap
out-of-range integers.
* double-int.h: New prototypes for above.
* tree.c (get_static_type_bounds): Moved from
tree-ssa-loop-niter.c; now returns TYPE_MIN_VALUE and
TYPE_MAX_VALUE if they exist..
* tree.h: New prototype for above.
* tree-ssa-loop-niter.c: Adjust mpz_to_double_int and
get_type_bounds calls.
(mpz_set_double_int): Move to double-int.c.
(get_type_bounds): Move to tree.c, rename to
get_static_type_bounds.
(mpz_to_double_int): Move to double-int.c, rename to
mpz_get_double_int.

From-SVN: r124304
2007-04-30 12:14:04 -07:00
Bob Wilson 0a21c1d2ba lib1funcs.asm (__umodsi3, __modsi3): Rearrange so that DIV0 exception can fall through to a normal return.
* config/xtensa/lib1funcs.asm (__umodsi3, __modsi3): Rearrange so that
	DIV0 exception can fall through to a normal return.

From-SVN: r124303
2007-04-30 17:59:10 +00:00
Alexandre Oliva 143569a85c re PR middle-end/22156 (bit-field copying regressed)
PR middle-end/22156
Temporarily revert:
2007-04-06  Andreas Tobler  <a.tobler@schweiz.org>
2007-04-05  Alexandre Oliva  <aoliva@redhat.com>
* tree-sra.c (try_instantiate_multiple_fields): Needlessly
initialize align to silence bogus warning.
2007-04-05  Alexandre Oliva  <aoliva@redhat.com>
* tree-sra.c (struct sra_elt): Add in_bitfld_block.  Remove
all_no_warning.
(struct sra_walk_fns): Remove use_all parameter from use.
(sra_hash_tree): Handle BIT_FIELD_REFs.
(sra_elt_hash): Don't hash bitfld blocks.
(sra_elt_eq): Skip them in parent compares as well.  Handle
BIT_FIELD_REFs.
(sra_walk_expr): Don't maintain or pass down use_all_p.
(scan_use): Remove use_all parameter.
(scalarize_use): Likewise.  Re-expand assignment to
BIT_FIELD_REF of gimple_reg.  De-scalarize before input or
output, and re-scalarize after output.  Don't mark anything
for no warning.
(scalarize_ldst): Adjust.
(scalarize_walk_gimple_modify_statement): Likewise.
(build_element_name_1): Handle BIT_FIELD_REFs.
(instantiate_element): Don't warn for any element whose parent
is used as a whole.
(instantiate_missing_elements_1): Return the sra_elt.
(canon_type_for_field): New.
(try_instantiate_multiple_fields): New.
(instantiate_missing_elemnts): Use them.
(mark_no_warning): Removed.
(generate_one_element_ref): Handle BIT_FIELD_REFs.
(REPLDUP, sra_build_elt_assignment): New.
(generate_copy_inout): Use them.
(generate_element_copy): Likewise.  Handle bitfld differences.
(generate_element_zero): Don't recurse for blocks.  Use
sra_build_elt_assignment.
(generate_one_element_int): Take elt instead of var.  Use
sra_build_elt_assignment.
(generate_element_init_1): Adjust.
(scalarize_use, scalarize_copy): Use REPLDUP.
(scalarize_ldst): Move assert before dereference.
(dump_sra_elt_name): Handle BIT_FIELD_REFs.

From-SVN: r124302
2007-04-30 17:41:11 +00:00
Andrew Pinski ab44f2818c [multiple changes]
2007-04-30  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR C++/31721
        * tree.c (reconstruct_complex_type): Reconstruct a reference
        correctly.
        Also use the same mode for the pointer as the old pointer type.
2007-04-30  Andrew pinski  <andrew_pinski@playstation.sony.com>

        PR C++/31721
        * g++.dg/ext/vector7.C: New testcase.

From-SVN: r124300
2007-04-30 10:01:18 -07:00
Francois-Xavier Coudert a19632d4f9 trouble.texi (Interoperation): Remove note about Ultrix Fortran compiler.
* doc/trouble.texi (Interoperation): Remove note about Ultrix
	Fortran compiler.

From-SVN: r124292
2007-04-30 07:54:41 +00:00