1. 14 Mar, 2005 24 commits
    • * cfgbuild.c: Update comments. · 55b18c19
      From-SVN: r96442
      Kazu Hirata committed
    • re PR rtl-optimization/17236 (inefficient code for long long multiply on x86) · f927760b
      
      	PR rtl-optimization/17236
      	* optabs.c (expand_doubleword_mult): New helper function split out
      	from expand_binop.  Permute the order in which instructions are
      	emitted to minimize the number of simultaneously live registers.
      	(expand_binop): Call expand_doubleword_mult to synthesize a double
      	word multiplication.
      
      From-SVN: r96441
      Roger Sayle committed
    • basic-block.h: Update the prototypes of cached_make_edge and rtl_make_eh_edge. · a6ee1a15
      	* basic-block.h: Update the prototypes of cached_make_edge and
      	rtl_make_eh_edge.
      	* cfg.c (cached_make_edge): Take edge_cache representing one
      	row of the adjacency matrix of edges.
      	* cfgbuild.c (make_label_edge, rtl_make_eh_edge): Likewise.
      	(make_edges): Initialize edge_cache to represent one row of
      	the adjacency matrix of edges.
      
      From-SVN: r96440
      Kazu Hirata committed
    • tree-ssa-phiopt.c (minmax_replacement, [...]): New functions. · 8eaa0f34
      	* tree-ssa-phiopt.c (minmax_replacement, blocks_in_phiopt_order):
      	New functions.
      	(tree_ssa_phiopt): Use blocks_in_phiopt_order and minmax_replacement.
      	Remove unused removed_phis variable.
      	(conditional_replacement): Use build1/build2.
      	(abs_replacement): Use last_and_only_stmt and build1/build2.
      
      	* gcc.dg/tree-ssa/phi-opt-5.c: New test.
      
      From-SVN: r96439
      Zdenek Dvorak committed
    • builtin-attrs.def (ATTR_NOVOPS, [...]): New. · dcd6de6d
      	* builtin-attrs.def (ATTR_NOVOPS, ATTR_NOVOPS_LIST,
      	ATTR_PURE_NOTHROW_NOVOPS_LIST): New.
      	* builtins.def (ATTR_MATHFN_FPROUNDING): Use NOVOPS.
      	(BUILT_IN_PREFETCH): Set the NOVOPS attribute.
      	* c-common.c (handle_novops_attribute): New function.
      	(c_common_attribute_table): Add "no vops" entry.
      	* c-decl.c (merge_decls): Copy DECL_IS_NOVOPS.
      	* calls.c (flags_from_decl_or_type): Set ECF_NOVOPS.
      	* tree-ssa-operands.c (get_call_expr_operands): Do not
      	create virtual operands for calls with ECF_NOVOPS flag.
      	* tree.h (DECL_IS_NOVOPS): New macro.
      	(struct tree_decl): Add novops_flag.
      	(ECF_NOVOPS): New constant.
      
      From-SVN: r96438
      Zdenek Dvorak committed
    • re PR target/17688 ([4.1] x87 fops can handle HImodes) · 0e8c2b0d
      	PR target/17688
      	* config/i386/i386.c (x86_use_himode_fiop): New.
      	(x86_use_simode_fiop): Rename from x86_use_fiop.
      	* config/i386/i386.h (x86_use_himode_fiop): Declare.
      	(TARGET_USE_HIMODE_FIOP): New.
      	(x86_use_simode_fiop): Rename from x86_use_fiop.
      	(TARGET_USE_SIMODE_FIOP): Rename from TARGET_USE_FIOP.
      
      	* config/i386/i386.md (X87MODEI12): New mode macro define.
      	(*cmpfp_<mode>): Rename from *cmpfp_si.  Use X87MODEI12 mode macro
      	to implement x87 FP compare with HImode input operands.
      	(*fp_jcc_8<mode>_387, splitter): Rename from *fp_jcc_8_387.
      	Use X87MODEI12 mode macro to handle HImode input operands.
      	(*fop_sf_2<mode>_i387, *fop_sf_3<mode>_i387, *fop_df_2<mode>_i387,
      	*fop_df_3<mode>_i387, *fop_xf_2<mode>_i387, *fop_xf_3<mode>_i387):
      	Renamed from *fop_sf_2_i387, *fop_sf_3_i387, *fop_df_2_i387,
      	*fop_df_3_i387, *fop_xf_2_i387, *fop_xf_3_i387. Use X87MODEI12 mode
      	macro to implement x87 operators with HImode input operands.
      	(fop splitters): Use X87MODEI12 mode macro to handle HImode
      	input operands.
      
      From-SVN: r96437
      Uros Bizjak committed
    • Fix bogus date. · e4a31e19
      From-SVN: r96436
      Eric Botcazou committed
    • tree-cfg.c (find_taken_edge_cond_expr): Use zero_p instead of integer_zerop. · f1b19062
      	* tree-cfg.c (find_taken_edge_cond_expr): Use zero_p instead of
      	integer_zerop.
      	* tree-gimple.c (is_gimple_min_invariant): Consider overflowed
      	constants invariant.
      
      	* fortran/trans-intrinsic.c (gfc_conv_intrinsic_ishft): Convert
      	the argument of the shift to the unsigned type.
      
      From-SVN: r96435
      Zdenek Dvorak committed
    • basic-block.h (BB_VISITED): Removed. · 9e32d2be
      	* basic-block.h (BB_VISITED): Removed.
      	* cfganal.c (dfs_enumerate_from): Do not use BB_VISITED flag.
      
      From-SVN: r96434
      Zdenek Dvorak committed
    • Fix typo in changelog entry. · ae83e8ae
      From-SVN: r96433
      Daniel Jacobowitz committed
    • re PR c++/4403 (incorrect class becomes a friend in template) · 5a24482e
      	PR c++/4403
      	PR c++/9783, DR433
      	* name-lookup.c (pushtag): Skip template parameter scope when
      	scope is ts_global.  Don't push tag into template parameter
      	scope.
      	* pt.c (instantiate_class_template): Reorder friend class
      	template substitution to handle non-dependent friend class
      	that hasn't been previously declared.
      
      	* g++.dg/template/friend34.C: New test.
      	* g++.dg/template/friend35.C: Likewise.
      	* g++.old-deja/g++.pt/inherit2.C: Remove XFAIL's.
      
      From-SVN: r96432
      Kriang Lerdsuwanakij committed
    • re PR target/20424 (Bootstrap failure on alphaev56) · 18410793
      	PR bootstrap/20424
      	* config/alpha/alpha.c (alpha_fold_builtin_cmpbge): Fix typo.
      
      From-SVN: r96431
      Falk Hueffner committed
    • Friend class name lookup 5/n PR c++/1016 · bd3d082e
      	Friend class name lookup 5/n
      	PR c++/1016
      	* cp-tree.h (pushtag): Adjust declaration.
      	* decl.c (lookup_and_check_tag): Call lookup_type_scope if
      	lookup_name fails.
      	(xref_tag): Adjust call to pushtag.  Make hidden class visible.
      	(start_enum): Adjust call to pushtag.
      	* name-lookup.c (ambiguous_decl): Ignore hidden names.
      	(qualify_lookup): Change return type to bool.
      	(hidden_name_p): New function.
      	(lookup_namespace_name, unqualified_namespace_lookup,
      	lookup_name_real): Use it.
      	(lookup_type_scope): Update comments.
      	(maybe_process_template_type_declaration): Change parameter name
      	from globalize to is_friend.
      	(pushtag): Change globalize parameter of type int to tag_scope.
      	Hide name if introduced by friend declaration.
      	* name-lookup.h (hidden_name_p): Add declaration.
      	* parser.c (cp_parser_lookup_name): Don't deal with hidden name
      	here.
      	* pt.c (push_template_decl_real): Make hidden class template
      	visible.
      	(lookup_template_class, instantiate_class_template): Adjust call
      	to pushtag.
      	* semantics.c (begin_class_definition): Likewise.
      	* rtti.c (init_rtti_processing, build_dynamic_cast_1,
      	tinfo_base_init, emit_support_tinfos): Use ts_current instead of
      	ts_global.
      
      	* g++.dg/lookup/hidden-class1.C: New test.
      	* g++.dg/lookup/hidden-class2.C: Likewise.
      	* g++.dg/lookup/hidden-class3.C: Likewise.
      	* g++.dg/lookup/hidden-class4.C: Likewise.
      	* g++.dg/lookup/hidden-class5.C: Likewise.
      	* g++.dg/lookup/hidden-class6.C: Likewise.
      	* g++.dg/lookup/hidden-class7.C: Likewise.
      	* g++.dg/lookup/hidden-class8.C: Likewise.
      	* g++.dg/lookup/hidden-class9.C: Likewise.
      	* g++.dg/lookup/hidden-temp-class1.C: Likewise.
      	* g++.dg/lookup/hidden-temp-class2.C: Likewise.
      	* g++.dg/lookup/hidden-temp-class3.C: Likewise.
      	* g++.dg/lookup/hidden-temp-class4.C: Likewise.
      	* g++.dg/lookup/hidden-temp-class5.C: Likewise.
      	* g++.dg/lookup/hidden-temp-class6.C: Likewise.
      	* g++.dg/lookup/hidden-temp-class7.C: Likewise.
      	* g++.dg/lookup/hidden-temp-class8.C: Likewise.
      	* g++.dg/lookup/hidden-temp-class9.C: Likewise.
      	* g++.dg/lookup/hidden-temp-class10.C: Likewise.
      	* g++.dg/lookup/hidden-temp-class11.C: Likewise.
      
      From-SVN: r96430
      Kriang Lerdsuwanakij committed
    • alloc-pool.c, [...]: Update copyright. · a2130901
      	* alloc-pool.c, except.h, ggc-common.c, ggc-zone.c, ggc.h,
      	stringpool.c, config/mips/mips-protos.h: Update copyright.
      
      From-SVN: r96428
      Kazu Hirata committed
    • * ggc-zone.c: Fix comment typos. · c1b97125
      From-SVN: r96427
      Kazu Hirata committed
    • rs6000-protos.h: Replace "struct rtx_def *" throughout with its typedef, "rtx". · 9390387d
      	* config/rs6000/rs6000-protos.h: Replace "struct rtx_def *"
      	throughout with its typedef, "rtx".
      	* config/rs6000/rs6000.c: Likewise.  Formatting fixes.
      	(rs6000_tls_symbol_ref_1): Remove inline keyword.
      	* config/rs6000/rs6000.h (REG_ALLOC_ORDER): Formatting.  Reorder
      	regs in comment to match code.
      
      From-SVN: r96420
      Alan Modra committed
    • tree-cfg.c (verify_stmts): Check that bb_for_stmt (stmt) == bb for every PHI node and statement. · 8de1fc1b
      	* tree-cfg.c (verify_stmts): Check that
      	bb_for_stmt (stmt) == bb for every PHI node and statement.
      
      From-SVN: r96418
      Kazu Hirata committed
    • Update message · 80fb36b1
      From-SVN: r96417
      Mark Mitchell committed
    • re PR c++/20157 (Internal compiler error on invalid code) · 98f99d7f
      	PR c++/20157
      	* pt.c (determine_specialization): Reject non-specializations.
      
      	PR c++/20157
      	* g++.dg/template/error18.C: New test.
      
      From-SVN: r96414
      Mark Mitchell committed
    • regclass.c (reg_class_superclasses, [...]): Make them static. · 1b28cd06
      	* regclass.c (reg_class_superclasses, reg_class_subclasses):
      	Make them static.
      	* hard-reg-set.h: Remove the corresponding declarations.
      
      From-SVN: r96410
      Kazu Hirata committed
    • function.c (get_func_frame_size): Make it static. · 7b25e663
      	* function.c (get_func_frame_size): Make it static.
      	* function.h: Remove the corresponding type.
      
      From-SVN: r96409
      Kazu Hirata committed
    • except.c (check_handled): Make it static. · c148389e
      	* except.c (check_handled): Make it static.
      	* except.h: Remove the corresponding prototype.
      
      From-SVN: r96408
      Kazu Hirata committed
    • config.gcc: Remove excess indentation. · fe3e7450
      	* config.gcc: Remove excess indentation.
      	(powerpc*-*-*, rs6000-*-*): Accept --with-cpu/tune power5 and 8548.
      
      From-SVN: r96405
      Alan Modra committed
    • Daily bump. · 1d2093c3
      From-SVN: r96401
      GCC Administrator committed
  2. 13 Mar, 2005 16 commits