1. 24 Jun, 2004 27 commits
    • i386.md (ffsdi2, clzdi2): New expanders. · d413e3cc
      	* config/i386/i386.md (ffsdi2, clzdi2): New expanders.
      	(ffs_rex64): New splitter.
      	(ffsdi_1, ctzdi2, bsr_rex64): New instructions.
      
      From-SVN: r83604
      Jakub Jelinek committed
    • darwin7.h (MATH_LIBRARY): Remove. · d42093a1
      gcc/ChangeLog:
              * config/darwin7.h (MATH_LIBRARY): Remove.
              (LIB_SPEC): Define.
              * config/darwin.h (MATH_LIBRARY): Define always to empty.
              (LIB_SPEC): Only define if not already defined.
      
      libstdc++/ChangeLog:
      	* linkage.m4: Remove check for libmx.
      	* configure: Regenerate.
      
      libgfortran/ChangeLog:
      	* configure.ac: Remove check for libmx.
      	* configure: Regenerate.
      
      From-SVN: r83603
      Andrew Pinski committed
    • jacks.xfail: Remove 15.9.1-qualified-concrete-20. · cc21f43e
      	* testsuite/libjava.jacks/jacks.xfail: Remove
      	15.9.1-qualified-concrete-20.
      
      From-SVN: r83602
      Bryce McKinlay committed
    • loop-iv.c (iv_analyze, [...]): Support for identifying shifts of induction variable. · abe0d774
      2004-06-24  Revital Eres  <eres@il.ibm.com>
      
      	* loop-iv.c (iv_analyze, simple_set_p): Support for identifying
      	shifts of induction variable.
      	(iv_shift): New function.
      
      From-SVN: r83599
      Revital Eres committed
    • tree-ssa-dom.c (record_dominating_conditions): New function. · d2d8936f
      
      	* tree-ssa-dom.c (record_dominating_conditions): New function.
      	(dom_opt_finalize_block, get_eq_expr_value): Use it.
      
      	* gcc.dg/tree-ssa/20040624-1.c: New test.
      
      From-SVN: r83597
      Jeff Law committed
    • parse.y (set_nested_class_simple_name_value): Removed. · d01a8ee0
      	* parse.y (set_nested_class_simple_name_value): Removed.
      	(java_complete_expand_class): Remove calls to
      	set_nested_class_simple_name_value.
      
      From-SVN: r83596
      Bryce McKinlay committed
    • calls.c (shift_returned_value): Fix handling of non-integer TYPE_MODEs. · 5a1f3953
      	* calls.c (shift_returned_value): Fix handling of non-integer
      	TYPE_MODEs.
      
      From-SVN: r83595
      Richard Sandiford committed
    • reformat, remove '^M's · 061cae1f
      From-SVN: r83594
      Nathan Sidwell committed
    • Add a blank. · aa7cb8c3
      From-SVN: r83593
      Richard Kenner committed
    • c-decl.c (finish_function): Do not check for DEFAULT_MAIN_RETURN. · bb2d400f
      	* c-decl.c (finish_function): Do not check for DEFAULT_MAIN_RETURN.
      	* system.h (DEFAULT_MAIN_RETURN): Poison.
      	* doc/tm.texi (DEFAULT_MAIN_RETURN): Remove documentation.
      
      From-SVN: r83592
      Ulrich Weigand committed
    • * doc/cfg.texi (Edges): Fix typo. · 79a4758d
      From-SVN: r83591
      Ben Elliston committed
    • tree-ssa.exp: Remove. · bbb2a345
      	* g++.dg/tree-ssa/tree-ssa.exp: Remove. dg.exp already handles
      	this directory.
      
      From-SVN: r83588
      Giovanni Bajo committed
    • re PR middle-end/15988 (ICE in fold_convert with pointer-to-member-function) · b713a445
      2004-06-23  Andrew Pinski  <apinski@apple.com>
      
              PR middle-end/15988
              * fold-const.c (fold_convert): Types which are compatible
              can be converted with only a NOP_EXPR.
      
      2004-06-23  Andrew Pinski  <apinski@apple.com>
      
              PR middle-end/15988
              * g++.dg/opt/ptrmem4.C: New test.
      
      From-SVN: r83585
      Andrew Pinski committed
    • Make-lang.in (cp/lex.o): Do not depend on cp/lex.h. · 62d1db17
      	* Make-lang.in (cp/lex.o): Do not depend on cp/lex.h.
      	(cp/decl.o): Likewise.
      	(cp/decl2.o): Likewise.
      	(cp/pt.o): Likewise.
      	(cp/semantics.o): Likewise.
      	* config-lang.in (gtfiles): Do not reference cp/lex.h.
      	* class.c: Do not include lex.h.
      	(add_implicitly_declared_members): Do not use
      	adding_implicit_members.
      	(check_bases_and_members): Do not talk about grok_x_components.
      	* cp/cp-tree.h (adding_implicit_members): Remove.
      	(cp_storage_class): New type.
      	(cp_decl_spec): Likewise.
      	(cp_decl_specifier_seq): Likewise.
      	(cp_parameter_declarator): Use it for the decl_specifiers field.
      	(check_tag_decl): Adjust prototype.
      	(shadow_tag): Likewise.
      	(groktypename): Likewise.
      	(start_decl): Likewise.
      	(start_function): Likewise.
      	(start_method): Likewise.
      	(grok_x_components): Remove.
      	(grokfield): Adjust prototype.
      	(grokbitfield): Likewise.
      	(finish_member_class_template): Remove.
      	* decl.c: Do not include lex.h.
      	(adding_implicit_members): Do not define.
      	(check_tag_decl): Do not use trees to represent decl-specifiers.
      	(shadow_tag): Likewise.
      	(groktypename): Likewise.
      	(start_decl): Likewise.
      	(grokvardecl): Likewise.
      	(grokdeclarator): Likewise.
      	(grokparms): Likewise.
      	(start_function): Likewise.
      	(start_method): Likewise.
      	* decl.h (grokdeclarator): Adjust prototype.
      	* decl2.c: Do not include lex.h.
      	(grok_x_components): Remove.
      	(grokfield): Do not use trees to represent decl-specifiers.
      	(grokbitfield): Likewise.
      	* lex.c: Do not include lex.h.
      	* lex.h: Remove.
      	* parser.c: Include target.h.
      	(clear_decl_specs): New function.
      	(cp_parser_translation_unit): Do not use trees to represent
      	decl-specifiers.
      	(cp_parser_postfix_expression): Likewise.
      	(cp_parser_new_type_id): Likewise.
      	(cp_parser_condition): Likewise.
      	(cp_parser_simple_declaration): Likewise.
      	(cp_parser_decl_specifier_seq): Likewise.
      	(cp_parser_function_specifier_opt): Likewise.
      	(cp_parser_conversion_type_id): Likewise.
      	(cp_parser_template_parameter): Likewise.
      	(cp_parser_explicit_instantiation): Likewise.
      	(cp_parser_type_specifier): Likewise.
      	(cp_parser_simple_type_specifier): Likewise.
      	(cp_parser_init_declarator): Likewise.
      	(cp_parser_type_id): Likewise.
      	(cp_parser_type_specifier_seq): Likewise.
      	(cp_parser_parameter_declaration): Likewise.
      	(cp_parser_member_declaration): Likewise.
      	(cp_parser_exception_declaration): Likewise.
      	(cp_parser_function_definition_from_specifiers_and_declarator):
      	Likewise.
      	(cp_parser_single_declaration): Likewise.
      	(cp_parser_save_member_function_body): Likewise.
      	(cp_parser_friend_p): Likewise.
      	(cp_parser_set_storage_class): New function.
      	(cp_parser_set_decl_spec_type): Likewise.
      	* pt.c: Do not include lex.h.
      	* semantics.c: Likewise.
      	(finish_member_class_template): Remove.
      
      From-SVN: r83584
      Mark Mitchell committed
    • calls.c (expand_call): Call INIT_CUMULATIVE_ARGS earlier, and pass raw n_named_args to it. · 3a4d587b
      	* calls.c (expand_call): Call INIT_CUMULATIVE_ARGS earlier, and
      	pass raw n_named_args to it.
      	* targhooks.c: Formatting.
      	(hook_bool_CUMULATIVE_ARGS_false): Correct comment.
      
      From-SVN: r83583
      Alan Modra committed
    • c-gimplify.c (gimplify_decl_stmt): Push gimplify_one_sizepos inside non-constant size check. · 8c56bb83
      	* c-gimplify.c (gimplify_decl_stmt): Push gimplify_one_sizepos inside
      	non-constant size check.  Gimplify the type too.  Tidy building
      	BUILT_IN_STACK_ALLOC call
      
      From-SVN: r83582
      Richard Henderson committed
    • c-common.c (expand_unordered_cmp): Delete. · d522060b
      
      	* c-common.c (expand_unordered_cmp): Delete.
      	(expand_tree_builtin): Delete.
      	* c-common.h (expand_tree_builtin): Delete function prototype.
      	* c-typeck.c (build_function_call): Don't call expand_tree_builtin.
      
      	* call.c (build_cxx_call): Don't call expand_tree_builtin.  No
      	longer take both "args" and "convert_args" as arguments.
      	(build_op_delete_call): Update call to build_cxx_call.
      	(build_over_call): Likewise, update call to build_cxx_call.
      	* cp-tree.h (build_cxx_call): Update funtion prototype.
      	* typeck.c (build_function_call): Don't call expand_tree_builtin.
      	* rtti.c (throw_bad_cast): Update call to build_cxx_call.
      	(throw_bad_typeid): Likewise.
      	(build_dynamic_cast_1): Likewise.
      
      From-SVN: r83579
      Roger Sayle committed
    • gimplify.c (gimplify_compound_lval): Don't set ARRAY_REF or COMPONENT_REF… · a7cc468a
      gimplify.c (gimplify_compound_lval): Don't set ARRAY_REF or COMPONENT_REF variable fields unless they're non-constant.
      
              * gimplify.c (gimplify_compound_lval): Don't set ARRAY_REF or
              COMPONENT_REF variable fields unless they're non-constant.
      
      From-SVN: r83578
      Richard Henderson committed
    • Patch from Robert Millan. · cfafe973
      * config.gcc: Merge kfreebsd*-gnu with linux* and add knetbsd*-gnu.
      * config/i386/linux.h: Allow overriding of LINK_EMULATION,
        DYNAMIC_LINKER and register names in sc_ structure.
      * config/kfreebsd-gnu.h: New. kfreebsd-gnu followup for linux.h.
      * config/i386/kfreebsd-gnu.h: New. Ditto for i386-kfreebsd-gnu.
      * config/knetbsd-gnu.h: New. Ditto for knetbsd-gnu.
      * config/i386/knetbsd-gnu.h: New. Ditto for i386-knetbsd-gnu.
      * config/kfreebsdgnu.h: Remove.
      * config/t-kfreebsd-gnu: Likewise.
      * config/i386/kfreebsdgnu.h: Likewise.
      
      From-SVN: r83577
      Robert Millan committed
    • fold-const.c (make_range): Cleanup type checking through function. · d1822754
      2004-06-23  Eric Christopher  <echristo@redhat.com>
      
      	* fold-const.c (make_range): Cleanup type checking through function.
      	Remove orig_type. Replace with checks to exp_type and arg0_type.
      	Clarify comment when converting from unsigned to signed.
      
      From-SVN: r83576
      Eric Christopher committed
    • mips.c (mips_use_dfa_pipeline_interface): Add R3000. · 2ac23d05
      2004-06-23  Eric Christopher  <echristo@redhat.com>
      
      	* config/mips/mips.c (mips_use_dfa_pipeline_interface): Add R3000.
      	* config/mips/mips.md: Remove R3000 scheduling description.
      	* config/mips/3000.md: New file.
      
      From-SVN: r83575
      Eric Christopher committed
    • s390-protos.h (s390_emit_compare): Add prototype. · 6590e19a
      	* config/s390/s390-protos.h (s390_emit_compare): Add prototype.
      	(s390_emit_jump): Likewise.
      	* config/s390/s390.c (s390_emit_compare): New function.
      	(s390_emit_jump): Likewise.
      	* config/s390/s390.md ("beq", "bne", "bgt", "bgtu", "blt", "bltu",
      	"bge", "bgeu", "ble", "bleu", "bunordered", "bordered", "buneq",
      	"bungt", "bunlt", "bunge", "bunle", "bltgt"): Use s390_emit_compare
      	and s390_emit_jump.
      	("cjump"): Remove, replace by ...
      	("*cjump_64", "*cjump_31"): ... these insns.  Improve length default.
      	("icjump", "*icjump_64", "*icjump_31"): Likewise.
      	("trap"): Fix type attribute.
      	("conditional_trap"): Use s390_emit_compare.
      	("doloop_si"): Remove, replace by ...
      	("doloop_si64", "doloop_si31"): ... these new insn_and_split.
      	Merge existing splitter into insn_and_split.  Improve length default.
      	("doloop_di"): Merge with existing splitter into insn_and_split.
      	("doloop"): Adapt.
      	("jump"): Convert to expander.  Use s390_emit_jump.
      	("*jump_64", "*jump_31"): New insns.  Improve length default.
      
      From-SVN: r83574
      Ulrich Weigand committed
    • Daily bump. · 44ee9aef
      [[Split portion of a mixed commit.]]
      
      From-SVN: r83572.2
      GCC Administrator committed
    • Daily bump. · 9412376a
      [[Split portion of a mixed commit.]]
      
      From-SVN: r83571.2
      GCC Administrator committed
  2. 23 Jun, 2004 13 commits
    • gthr-win32.h (__GTHREAD_MUTEX_INIT_DEFAULT): Adjust. · 42dfcf84
      2004-06-23  Wu Yongwei  <adah@sh163.net>
      
      	* gthr-win32.h (__GTHREAD_MUTEX_INIT_DEFAULT): Adjust.
      	(__gthr_i486_lock_cmp_xchg): New inline assembly function.
      	(__GTHR_W32_InterlockedCompareExchange): New macro to choose a
      	suitable function for interlocked compare-and-exchange.
      	(__gthread_mutex_trylock): Use
      	__GTHR_W32_InterlockedCompareExchange.
      	(__gthread_mutex_init_function, __gthread_mutex_lock,
      	__gthread_mutex_trylock, __gthread_mutex_unlock): Adjust the
      	initial counter value to work correctly under Windows 95.
      	* config/i386/gthr-win32.c: Adjust include order.
      	Define __GTHREAD_I486_INLINE_LOCK_PRIMITIVES before including
      	gthr-win32.h.
      	(__gthr_win32_mutex_init_function, __gthr_win32_mutex_lock,
      	__gthr_win32_mutex_trylock, __gthr_win32_mutex_unlock): Adjust
      	to match inline versions in gthr-win32.h.
      
      From-SVN: r83569
      Wu Yongwei committed
    • rs6000.c (rs6000_use_dfa_pipeline_interface): Delete. · 11ac38b2
      	* config/rs6000/rs6000.c (rs6000_use_dfa_pipeline_interface): Delete.
      	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Redefine a hook_int_void_1.
      	(insvdi_rshift_rlwimi_p): New function.
      	* config/rs6000/rs6000.md (insvdi_internal2/3): New patterns.
      	(extendsfdf2): Convert to define_insn_and_split.
      	* config/rs6000/rs6000-protos.h (insvdi_rshift_rlwimi_p): Prototype.
      
      From-SVN: r83568
      David Edelsohn committed
    • c-typeck.c (composite_type, [...]): Abort if we have type qualifiers at all. · de46b2fe
      2004-06-23  Andrew Pinski  <apinski@apple.com>
      
              * c-typeck.c (composite_type, <case ARRAY_TYPE>): Abort if we have
              type qualifiers at all.
              If both of the type domains are null and the new element type is
              the same as one of the, return the one which the element type.
              matches.
              Do not call qualify_type on the new type.
      
      2004-06-23  Andrew Pinski  <apinski@apple.com>
      
              * gcc.dg/c90-array-quals-2.c: New test.
      
      From-SVN: r83567
      Andrew Pinski committed
    • * config/s390/s390.h (DEFAULT_MAIN_RETURN): Remove. · 07f266ae
      From-SVN: r83566
      Ulrich Weigand committed
    • convert.c (strip_float_extension): Skip both NOP_EXPR and CONVERT_EXPR floating point extensions. · 7c243eef
      
      	* convert.c (strip_float_extension): Skip both NOP_EXPR and
      	CONVERT_EXPR floating point extensions.
      
      From-SVN: r83565
      Roger Sayle committed
    • Makefile.in (tree-vn.o): New. · 33c94679
      
      	* Makefile.in (tree-vn.o): New.
      	(tree-ssa-pre.o): Don't depend on RTL_H.
      	* tree-dfa.c (find_referenced_vars): Don't call init_tree_ssa.
      	* tree-flow.h (struct var_ann_d): Remove field expr_set.
      	(add_to_value, expressions_equal_p, get_value_handle, vn_compute,
      	vn_lookup_or_add, vn_add, vn_lookup, vn_init, vn_delete): Declare.
      	* tree-optimize.c (execute_init_datastructures): New local function.
      	(pass_init_datastructures): New local variable.
      	(init_tree_optimization_passes): Sequence pass_init_datastructures.
      	* tree-pretty-print.c (MASK_POINTER): Remove.
      	(dump_generic_node): Handle VALUE_HANDLE.
      	* tree-ssa-pre.c: Move all value numbering routines to tree-vn.c.
      	Update callers to use new function names.
      	Use VALUE_HANDLE_ID and VALUE_HANDLE_EXPR_SET instead of
      	variable annotations.
      	* tree-ssa.c (init_tree_ssa): Call vn_init.
      	(delete_tree_ssa): Call vn_delete.
      	* tree-vn.c: New file.
      	* tree.c (tree_size): Handle VALUE_HANDLE.
      	(tree_node_structure): Likewise.
      	(iterative_hash_expr): Likewise.
      	* tree.def (VALUE_HANDLE): New code.
      	* tree.h (struct tree_value_handle): New.
      	(VALUE_HANDLE_ID): Define.
      	(VALUE_HANDLE_EXPR_SET): Define.
      	(enum tree_node_structure_enum): Add TS_VALUE_HANDLE.
      	(union tree_node): Add struct tree_value_handle.
      
      From-SVN: r83564
      Diego Novillo committed
    • * gcc.dg/kpice1.c: New test. · 881f20cb
      From-SVN: r83563
      Nitin Yewale committed
    • [multiple changes] · fe7080d2
      2004-06-23  Andrew Pinski  <apinski@apple.com>
      
              * c-typeck.c (composite_type):
              <case POINTER_TYPE>: Build a qualified type of
              the new type.
              <case ARRAY_TYPE>: Likewise.
              <case FUNCTION_TYPE>: Likewise.
      
      2006-06-23  Andrew Pinski  <apinski@apple.com>
      
              * gcc.dg/c90-array-quals.c: New test.
      
      From-SVN: r83557
      Andrew Pinski committed
    • re PR rtl-optimization/15633 (Failure to propagate FDO counters by vpt results… · 701b17c2
      re PR rtl-optimization/15633 (Failure to propagate FDO counters by vpt results in performance regression)
      
      2004-06-23  Pat Haugen  <pthaugen@us.ibm.com>
      
              PR optimization/15633
              * value-prof.c (divmod_fixed_value_transform): Compute probability
              of taking optimal path and pass along to gen_ routine.
              (mod_pow2_value_transform): Same.
              (mod_subtract_transform): Same.
              (gen_divmod_fixed_value): Add new probability parameter.
              Add probability to newly created jump.
              (gen_mod_pow2): Same.
              (gen_mod_subtract): Same.
      
      From-SVN: r83555
      Pat Haugen committed
    • re PR libstdc++/16154 (input iterator concept too restrictive) · dcbbf6f3
      2004-06-23  Paolo Carlini  <pcarlini@suse.de>
      
      	PR libstdc++/16154
      	* include/bits/boost_concept_check.h (struct _TrivialIteratorConcept):
      	Don't require the _DefaultConstructibleConcept.
      	(struct _ForwardIteratorConcept): Require it here.
      
      From-SVN: r83554
      Paolo Carlini committed
    • re PR target/15948 (THUMB: ICE with non-commutative cbranch) · e1d2bd1e
      * PR target/15948
      * arm.md (bicsi3_cbranch): Add alternative to handle tying operands
      one and two.
      
      From-SVN: r83549
      Richard Earnshaw committed
    • re PR target/15927 (THUMB -O2: strength-reduced iteration variable ends up off by 1) · 97358092
      PR target/15927
      * arm.h (THUMB_SECONDARY_OUTPUT_RELOAD_CLASS): Don't need a secondary
      reload if CLASS is BASE_REGS.
      
      From-SVN: r83548
      Richard Earnshaw committed
    • Makefile.tpl (HOST_EXPORTS): Fix pasto. · 1c020272
      2004-06-22  Paolo Bonzini  <bonzini@gnu.org>
      
      	* Makefile.tpl (HOST_EXPORTS): Fix pasto.
      	* Makefile.in: Regenerate.
      
      From-SVN: r83547
      Paolo Bonzini committed