Commit Graph

32421 Commits

Author SHA1 Message Date
Naveen.H.S 44cfab357d muldiv.md (mulhisi3_c): Limit the mode of the 2nd operand to HI mode.
* config/m32c/muldiv.md (mulhisi3_c): Limit the mode of the 2nd
operand to HI mode.
(mulsi3): New.
(divsi3): New.
(udivsi3): New.

From-SVN: r124524
2007-05-07 19:46:02 -04:00
Jayant Sonar 5abd2125f0 m32c.c (SYMBOL_FLAG_FUNCVEC_FUNCTION): Define.
* config/m32c/m32c.c (SYMBOL_FLAG_FUNCVEC_FUNCTION): Define.
(TARGET_ENCODE_SECTION_INFO): Re-define.
(m32c_encode_section_info): New
(function_vector_handler): New
(current_function_special_page_vector): New
(m32c_special_page_vector_p): New.
* config/m32c/m32c-protos.h (m32c_special_page_vector_p): 
Prototype.
* config/m32c/jump.md: Added instruction JSRS for functions 
with attribute "function_vector".
* doc/extend.texi (function_vector): Added description 
for M16C, M32C targets.

From-SVN: r124523
2007-05-07 19:13:15 -04:00
DJ Delorie 3eb5f26faa re PR target/31794 (Problem while compiling gcc for m32c-elf)
PR 31794
* config/m32c/shift.md (ashlpsi3_i, ashrpsi3_i, ashlpsi3,
ashrpsi3, lshrpsi3): Update shift count constraint.

From-SVN: r124521
2007-05-07 18:14:05 -04:00
Danny Smith b187f5cd2f re PR c/22133 (In MinGW trailing slash forward not allowed in include path)
PR 22133
	* c-incpath.c (add_path): Strip trailing path separators.

From-SVN: r124504
2007-05-07 17:41:35 +00:00
Eric Botcazou 4be1caf900 tree-ssa-dom.c (tree_ssa_dominator_optimize): Do not free dominance info after purging EH edges.
* tree-ssa-dom.c (tree_ssa_dominator_optimize): Do not free dominance
	info after purging EH edges.
	(eliminate_degenerate_phis): Likewise.

From-SVN: r124499
2007-05-07 12:48:46 +00:00
Eric Botcazou 8d9d65619c tree-ssa-dom.c (tree_ssa_dominator_optimize): Reset cfg_altered.
* tree-ssa-dom.c (tree_ssa_dominator_optimize): Reset cfg_altered.
	Free dominance info before purging EH edges as well as after.
	(eliminate_degenerate_phis): Likewise.
	(propagate_rhs_into_lhs): Set cfg_altered to true instead of 1.

From-SVN: r124498
2007-05-07 11:42:21 +00:00
Jan Hubicka 2cb7995f07 gimplify.c (gimplify_expr): Do not crash when folding (void *)(int)&a + 4.
* gimplify.c (gimplify_expr): Do not crash when folding
	(void *)(int)&a + 4.

From-SVN: r124497
2007-05-07 10:36:09 +00:00
Francois-Xavier Coudert 2f8e3bd7bd re PR driver/31694 (__GFORTRAN__ preprocessor macro)
PR driver/31694
	* c-opts.c (lang_fortran): Make it non static.
	* c-common.h (lang_fortran): New prototype.
	* c-cppbuiltin.c (c_cpp_builtins): Create a __GFORTRAN__ if the
	-lang-fortran option was passed by the driver.

From-SVN: r124495
2007-05-07 05:48:24 +00:00
Ben Elliston 8fa013c3e0 Fix a typo in 2007-05-03 entry from Ian Lance Taylor.
From-SVN: r124489
2007-05-07 11:14:15 +10:00
Eric Botcazou 982533a5b2 timevar.c (timevar_print): Test ENABLE_ASSERT_CHECKING instead of ASSERT_CHECKING.
* timevar.c (timevar_print): Test ENABLE_ASSERT_CHECKING instead
	of ASSERT_CHECKING.  Tweak message.

From-SVN: r124478
2007-05-06 21:21:17 +00:00
Revital Eres 290358f770 Fix PR30957
From-SVN: r124471
2007-05-06 10:35:42 +00:00
Aurelien Jarno a758fa89b5 pa.md: Split tgd_load, tld_load and tie_load into pic and non-pic versions.
* config/pa/pa.md: Split tgd_load, tld_load and tie_load
	into pic and non-pic versions. Mark r19 as used for 
	tgd_load_pic, tld_load_pic and tie_load_pic. Mark r27 as used 
	for tgd_load, tld_load and tie_load .
	* config/pa/pa.c (legitimize_tls_address): Emit pic or non-pic
	version of tgd_load, tld_load and tie_load depending on the 
	value of flag_pic.

From-SVN: r124468
2007-05-06 02:42:36 +00:00
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