aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2005-03-15Daily bump.GCC Administrator1-1/+1
From-SVN: r96457
2005-03-14* doc/invoke.texi: Add reference to Visibility document.Devang Patel2-0/+7
From-SVN: r96453
2005-03-14config.gcc (mips*-*-*): Rename MASK_SPLIT_ADDRS to MASK_SPLIT_ADDRESSES.Richard Sandiford5-317/+243
* config.gcc (mips*-*-*): Rename MASK_SPLIT_ADDRS to MASK_SPLIT_ADDRESSES. * config/mips/mips.h (target_flags, mips_fix_vr4130_string): Delete. (MASK_INT64, MASK_LONG64, MASK_SPLIT_ADDR, MASK_NO_FUSED_MADD) (MASK_EXPLICIT_RELOCS, MASK_MEMCPY, MASK_SOFT_FLOAT) (MASK_FLOAT64, MASK_ABICALLS, MASK_XGOT, MASK_LONG_CALLS) (MASK_64BIT, MASK_EMBEDDED_DATA, MASK_BIG_ENDIAN) (MASK_SINGLE_FLOAT, MASK_MAD, MASK_4300_MUL_FIX, MASK_MIPS16) (MASK_NO_CHECK_ZERO_DIV, MASK_BRANCHLIKELY) (MASK_UNINIT_CONST_IN_RODATA, MASK_FIX_R4000, MASK_FIX_R4400) (MASK_FIX_SB1, MASK_FIX_VR4120, MASK_VR4130_ALIGN) (MASK_FP_EXCEPTIONS, MASK_DIVIDE_BREAKS, MASK_PAIRED_SINGLE) (MASK_MIPS3D, MASK_SYM32, MASK_DEBUG, MASK_DEBUG_D) (MASK_MIPS_TFILE, TARGET_INT64, TARGET_LONG64, TARGET_FLOAT64) (TARGET_64BIT, TARGET_SPLIT_ADDRESSES, TARGET_DEBUG_MODE) (TARGET_DEBUG_D_MODE, TARGET_MEMCPY, TARGET_ABICALLS) (TARGET_XGOT, TARGET_SOFT_FLOAT, TARGET_HARD_FLOAT) (TARGET_LONG_CALLS, TARGET_EMBEDDED_DATA) (TARGET_UNINIT_CONST_IN_RODATA, TARGET_BIG_ENDIAN) (TARGET_SINGLE_FLOAT, TARGET_DOUBLE_FLOAT, TARGET_MAD) (TARGET_FUSED_MADD, TARGET_4300_MUL_FIX, TARGET_CHECK_ZERO_DIV) (TARGET_DIVIDE_TRAPS, TARGET_BRANCHLIKELY, TARGET_FIX_SB1) (TARGET_FIX_R4000, TARGET_FIX_R4400, TARGET_FIX_VR4120) (TARGET_FIX_VR4130, TARGET_VR4130_ALIGN, TARGET_FP_EXCEPTIONS) (TARGET_PAIRED_SINGLE_FLOAT, TARGET_MIPS3D, TARGET_SYM32) (TARGET_EXPLICIT_RELOCS): Delete. (TARGET_SWITCHES, SUBTARGET_TARGET_SWITCHES): Delete. (TARGET_OPTIONS): Remove entry for -mfix-vr4130. * config/mips/mips.c (TARGET_DEFAULT_TARGET_FLAGS): Define. (override_options): Set MASK_LONG64 if -mint64 is given and no -mlongXX option is. Complain about -mint64 -mlong32. (override_options, CMP_BUILTINS, mips_bdesc, sb1_desc): Rename MASK_PAIRED_SINGLE to MASK_PAIRED_SINGLE_FLOAT. * config/mips/mips.opt: New file. From-SVN: r96452
2005-03-14config.gcc (extra_options): New variable for listing option files.Richard Sandiford19-126/+519
* config.gcc (extra_options): New variable for listing option files. Add ${cpu_type}/${cpu_type}.opt to it if that file exists. * configure.ac (extra_opt_files): New AC_SUBST variable. (tm_file_list, tm_include_list): Include options.h first. * configure: Regenerate. * Makefile.in (extra_opt_files, ALL_OPT_FILES): New variables. (s-options): Use $(ALL_OPT_FILES) instead of $(lang_opt_files) (s-options-h): New rule. (options.h): Depend on it. (TEXI_GCCINT_FILES): Add options.texi. * hooks.h (hook_bool_size_t_constcharptr_int_true): Declare. * hooks.c (hook_bool_size_t_constcharptr_int_true): New function. * target.h (gcc_target): Add default_target_flags and handle_option. * target-def.h (TARGET_DEFAULT_TARGET_FLAGS) (TARGET_HANDLE_OPTION): New macros. (TARGET_INITIALIZER): Include them. * opt-functions.awk (opt_args, nth_arg): New functions. (switch_flags): Handle the "Target" flag. (var_args): Delete. (var_name): Use opt_args and nth_arg. (var_set, var_ref): Likewise. Handle "Mask" and "InverseMask". * opth-gen.awk: Declare target_flags. Declare MASK_* and TARGET_* macros for the "Mask" and "InverseMask" options. * opts.h (cl_var_cond): New enum. (cl_option): Replace the "has_set_value" and "set_value" fields with "var_cond" and "var_value". (CL_TARGET): New macro. (option_enabled, print_filtered_help): Declare. (decode_options): Move definition. * opts.c (handle_option): Search for the original option before removing any "no-" prefix. Handle CL_TARGET. Adjust for the new var_cond and var_value fields. Use targetm.handle_option to handle target options. (decode_options): Set target_flags to targetm.default_target_flags. (print_filtered_help): Make global. Handle CL_TARGET. (option_enabled): New function. * toplev.c (target_switches): Guard with #ifdef TARGET_SWITCHES. (display_target_options, set_target_switch, print_switch_values) (default_pch_valid_p): Guard uses of target_switches with #ifdef TARGET_SWITCHES. Also... (display_target_options): Display the CL_TARGET entries in cl_options. (set_target_option): Don't complain about the "" option when TARGET_SWITCHES is undefined. (print_switch_values): Use option_enabled. (default_pch_valid_p): Check cl_options[] when looking for something that has changed the value of target_flags. * c.opt: Remove documentation from top of file. * doc/gccint.texi: Add an "Options" chapter. Include options.texi. * doc/sourecebuild.texi: Refer to the new options documentation instead of c.opt. Document machine-specific .opt files. * doc/tm.texi (target_flags): Say that this variable is declared by options.h. (TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Document. (TARGET_SWITCHES, TARGET_OPTIONS): Refer to the option files as an alternative. * doc/options.texi: New file. From-SVN: r96448
2005-03-14re PR rtl-optimization/18628 (miscompilation of switch statement in loop)Alexandre Oliva4-2/+65
gcc/ChangeLog: PR middle-end/18628 * cse.c (fold_rtx_mem): Don't fold a load from a jumptable into a register. gcc/testsuite/ChangeLog: * gcc.dg/pr18628.c: New. From-SVN: r96445
2005-03-14re PR c++/20280 (ICE in create_tmp_var, at gimplify.c:368)Alexandre Oliva4-6/+107
gcc/ChangeLog: PR c++/20280 * gimplify.c (gimplify_cond_expr): Add fallback argument. Use a temporary variable of pointer type if an lvalues is required. (gimplify_modify_expr_rhs): Request an rvalue from it. (gimplify_expr): Pass fallback on. gcc/testsuite/ChangeLog: PR c++/20280 * g++.dg/tree-ssa/pr20280.C: New. From-SVN: r96444
2005-03-14re PR fortran/20467 (Bad fortran code causes ICE)Tobias Schlüter4-0/+18
fortran/ PR fortran/20467 * symbol.c (check_conflict): A dummy argument can't be a statement function. testsuite/ PR fortran/20467 * gfortran.dg/stfunc_2.f90: New test. From-SVN: r96443
2005-03-14* cfgbuild.c: Update comments.Kazu Hirata2-10/+31
From-SVN: r96442
2005-03-14re PR rtl-optimization/17236 (inefficient code for long long multiply on x86)Roger Sayle2-173/+198
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
2005-03-14basic-block.h: Update the prototypes of cached_make_edge and rtl_make_eh_edge.Kazu Hirata4-29/+34
* 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
2005-03-14tree-ssa-phiopt.c (minmax_replacement, [...]): New functions.Zdenek Dvorak4-76/+458
* 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
2005-03-14builtin-attrs.def (ATTR_NOVOPS, [...]): New.Zdenek Dvorak10-5/+84
* 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
2005-03-14re PR target/17688 ([4.1] x87 fops can handle HImodes)Uros Bizjak4-41/+70
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
2005-03-14Fix bogus date.Eric Botcazou1-1/+1
From-SVN: r96436
2005-03-14tree-cfg.c (find_taken_edge_cond_expr): Use zero_p instead of integer_zerop.Zdenek Dvorak5-14/+17
* 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
2005-03-14basic-block.h (BB_VISITED): Removed.Zdenek Dvorak3-29/+70
* basic-block.h (BB_VISITED): Removed. * cfganal.c (dfs_enumerate_from): Do not use BB_VISITED flag. From-SVN: r96434
2005-03-14Fix typo in changelog entry.Daniel Jacobowitz1-1/+1
From-SVN: r96433
2005-03-14re PR c++/4403 (incorrect class becomes a friend in template)Kriang Lerdsuwanakij7-20/+116
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
2005-03-14re PR target/20424 (Bootstrap failure on alphaev56)Falk Hueffner2-1/+6
PR bootstrap/20424 * config/alpha/alpha.c (alpha_fold_builtin_cmpbge): Fix typo. From-SVN: r96431
2005-03-14Friend class name lookup 5/n PR c++/1016Kriang Lerdsuwanakij30-51/+371
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
2005-03-14alloc-pool.c, [...]: Update copyright.Kazu Hirata8-7/+11
* 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
2005-03-14* ggc-zone.c: Fix comment typos.Kazu Hirata2-2/+6
From-SVN: r96427
2005-03-14rs6000-protos.h: Replace "struct rtx_def *" throughout with its typedef, "rtx".Alan Modra4-70/+77
* 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
2005-03-14tree-cfg.c (verify_stmts): Check that bb_for_stmt (stmt) == bb for every PHI ↵Kazu Hirata2-0/+16
node and statement. * tree-cfg.c (verify_stmts): Check that bb_for_stmt (stmt) == bb for every PHI node and statement. From-SVN: r96418
2005-03-14Update messageMark Mitchell1-1/+1
From-SVN: r96417
2005-03-14re PR c++/20157 (Internal compiler error on invalid code)Mark Mitchell4-2/+31
PR c++/20157 * pt.c (determine_specialization): Reject non-specializations. PR c++/20157 * g++.dg/template/error18.C: New test. From-SVN: r96414
2005-03-14regclass.c (reg_class_superclasses, [...]): Make them static.Kazu Hirata3-10/+6
* regclass.c (reg_class_superclasses, reg_class_subclasses): Make them static. * hard-reg-set.h: Remove the corresponding declarations. From-SVN: r96410
2005-03-14function.c (get_func_frame_size): Make it static.Kazu Hirata3-3/+4
* function.c (get_func_frame_size): Make it static. * function.h: Remove the corresponding type. From-SVN: r96409
2005-03-14except.c (check_handled): Make it static.Kazu Hirata3-2/+6
* except.c (check_handled): Make it static. * except.h: Remove the corresponding prototype. From-SVN: r96408
2005-03-14config.gcc: Remove excess indentation.Alan Modra2-57/+62
* config.gcc: Remove excess indentation. (powerpc*-*-*, rs6000-*-*): Accept --with-cpu/tune power5 and 8548. From-SVN: r96405
2005-03-14Daily bump.GCC Administrator1-1/+1
From-SVN: r96401
2005-03-13re PR middle-end/19331 (Inefficient code generated for bitfield assignment)Roger Sayle3-6/+20
PR middle-end/19331 * tree.c (get_unwidened): Treat CONVERT_EXPR and NOP_EXPR identically. * fold-const.c (fold_sign_changed_comparison): Likewise. (fold_binary): Optimize comparisons against widened operands if the extension is represented by a CONVERT_EXPR, same as a NOP_EXPR. From-SVN: r96397
2005-03-14re PR c++/16792 (ICE in gen_subprogram_die, at dwarf2out.c:11267)Ben Elliston2-0/+15
PR debug/16792 * g++.dg/debug/pr16792.C: New test. From-SVN: r96396
2005-03-13sparc.c (struct_value_alias_set): New global variable.Eric Botcazou2-5/+20
* config/sparc/sparc.c (struct_value_alias_set): New global variable. (sparc_override_options): Initialize it. (sparc_struct_value_rtx): Set it on the MEM to be returned. From-SVN: r96395
2005-03-13anon-struct-6.c, [...]: Ensure uniqueness of test assertion names.Joseph Myers13-42/+51
* gcc.dg/anon-struct-6.c, gcc.dg/array-8.c, gcc.dg/cpp/19940712-1.c, gcc.dg/cpp/19951025-1.c, gcc.dg/cpp/tr-warn6.c, gcc.dg/deprecated.c, gcc.dg/init-bad-1.c, gcc.dg/init-bad-2.c, gcc.dg/init-bad-3.c, gcc.dg/m-un-2.c, gcc.dg/parm-mismatch-1.c, gcc.dg/redecl-1.c: Ensure uniqueness of test assertion names. From-SVN: r96391
2005-03-13predicates.md (mem_or_easy_const_operand): Delete.David Edelsohn3-12/+32
* config/rs6000/predicates.md (mem_or_easy_const_operand): Delete. (reg_or_none500mem_operand): New predicate. (zero_reg_mem_operand): New predicate. * config/rs6000/rs6000.md (extendsfdf2): Change operand1 predicate to reg_or_none500mem_operand. (extendsfdf2_fpr): Add MEM alternative. (extenddftf2_internal): Change operand2 predicate to zero_reg_mem_operand. From-SVN: r96390
2005-03-13re PR fortran/18600 (ICE NIST FM020.f reduced case)Tobias Schlüter2-0/+14
PR fortran/18600 * gfortran.dg/stfunc_1.f90: New test. From-SVN: r96389
2005-03-13re PR fortran/16907 (Non-integer array indices rejected)Tobias Schlüter4-5/+29
fortran/ PR fortran/16907 * resolve.c (gfc_resolve_index): Allow REAL indices as an extension. testsuite/ PR fortran/16907 * gfortran.dg/real_index_1.f90: New test. From-SVN: r96385
2005-03-13re PR fortran/20323 (optional arguments incorrectly accepted in ↵Tobias Schlüter4-4/+28
specification expressions) fortran/ PR fortran/20323 * resolve.c (gfc_resolve): Check if character lengths are specification expressions. testsuite/ PR fortran/20323 * gfortran.dg/spec_expr_1.f90: New test. From-SVN: r96382
2005-03-13ggc-zone.c: Rewritten.Daniel Jacobowitz14-710/+1593
* ggc-zone.c: Rewritten. * alloc-pool.c (dump_alloc_pool_statistics): Don't print statistics if there are none. * configure.ac: Define GGC_ZONE for --with-gc=zone. * config.in: Regenerated. * configure: Regenerated. * gentype.c (write_types_process_field, write_func_for_structure): Pass new argument to gt_pch_note_object. * ggc-common.c (struct ptr_data): Add TYPE. (gt_pch_note_object): Take TYPE argument and save it. (call_count): Update call to ggc_pch_count_object. (call_alloc): Update call to ggc_pch_alloc_object. (gt_pch_save): Call ggc_pch_prepare_write after paddng the PCH file. * ggc-none.c (rtl_zone, garbage_zone, ggc_alloc_zone_stat): Delete. * ggc-page.c (rtl_zone, tree_zone, garbage_zone) (ggc_alloc_zone_stat): Delete. (ggc_pch_count_object, ggc_pch_alloc_object): Add TYPE argument. * ggc.h (gt_pch_note_object, ggc_pch_count_object) (ggc_pch_alloc_object): Update prototypes. (garbage_zone): Delete. (tree_zone, rtl_zone, ggc_alloc_zone_stat, ggc_alloc_zone): Move to GGC_ZONE conditional. Update. Change tree_zone and rtl_zone into pointers. (tree_id_zone): New variable. (ggc_alloc_cleared_zone): Remove unused. (ggc_alloc_zone): Define. (ggc_alloc_rtvec, ggc_alloc_tree): Update to use ggc_alloc_zone. * rtl.c (rtx_alloc_stat, shallow_copy_rtx_stat): Use ggc_alloc_zone_stat. * stringpool.c (gt_pch_n_S): Update call to gt_pch_note_object. * tree.c (copy_node_stat, make_tree_binfo_stat, make_tree_vec_stat) (tree_cons_stat, build1_stat): Update call to ggc_alloc_zone_stat. (make_node_stat): Likewise. Use tree_id_zone. From-SVN: r96381
2005-03-13configure.ac: Check for MIPS TLS.Daniel Jacobowitz7-5/+316
* configure.ac: Check for MIPS TLS. * configure: Regenerated. * config/mips/mips-protos.h (enum mips_symbol_type): Add SYMBOL_TLS, SYMBOL_TLSGD, SYMBOL_TLSLDM, SYMBOL_DTPREL, SYMBOL_GOTTPREL, and SYMBOL_TPREL. * config/mips/mips.c (mips_regno_to_class): Handle V1_REG. (TARGET_HAVE_TLS, TARGET_CANNOT_FORCE_CONST_MEM): Define. (mips_classify_symbol, mips_symbolic_constant_p) (mips_symbolic_address_p, mips_symbol_insns): Handle TLS symbols. (mips_tls_operand_p, mips_call_tls_get_addr) (mips_legitimize_tls_address, mips_cannot_force_const_mem) (mips_tls_symbol_ref_1): New functions. (mips_legitimize_address, mips_legitimize_const_move): Call mips_legitimize_tls_address. (override_options): Handle V1_REG and TLS symbols. Disable TLS for MIPS16. * config/mips/mips.h (enum reg_class, REG_CLASS_NAMES) (REG_CLASS_CONTENTS, GR_REG_CLASS_P): Include V1_REG. (mips_char_to_class): Document V1_REG. (HAVE_AS_TLS): Provide default. * config/mips/mips.md (UNSPEC_TLS_LDM, UNSPEC_TLS_GET_TP): New constants. (load_got<mode>): Renamed from *load_got<mode>. Allow when !TARGET_ABICALLS. (tls_get_tp_<mode>): New instruction. Co-Authored-By: Joseph Myers <joseph@codesourcery.com> From-SVN: r96380
2005-03-13configure.ac: Update checks for target tools.Daniel Jacobowitz3-219/+142
* configure.ac: Update checks for target tools. * configure: Regenerated. From-SVN: r96379
2005-03-13* varasm.c (decl_tls_model): Check flag_shlib instead of flag_pic.Daniel Jacobowitz2-1/+5
From-SVN: r96378
2005-03-13expmed.c (expand_mult): Use synthetic multiplication sequences for more ↵Roger Sayle2-43/+90
classes of DImode... * expmed.c (expand_mult): Use synthetic multiplication sequences for more classes of DImode multiplication by constant. Allow both multiplication by small negative constants (by performing a multiplication by a positive constant and negating the result) and multiplications by large powers of two, by using a left shift. From-SVN: r96377
2005-03-13tree-ssa-phiopt.c (value_replacement): Remove local variable result.Kazu Hirata2-2/+3
* tree-ssa-phiopt.c (value_replacement): Remove local variable result. From-SVN: r96376
2005-03-13tree-ssa-live.c (build_tree_conflict_graph): Remove local variable ann.Kazu Hirata2-2/+3
* tree-ssa-live.c (build_tree_conflict_graph): Remove local variable ann. From-SVN: r96375
2005-03-13* tree-cfg.c (group_case_labels): Remove local variable type.Kazu Hirata2-2/+3
From-SVN: r96374
2005-03-13lambda-code.c (lambda_compute_auxillary_space): Remove local variable ↵Kazu Hirata2-3/+6
determinant. * lambda-code.c (lambda_compute_auxillary_space): Remove local variable determinant. From-SVN: r96373
2005-03-13builtins.c (expand_builtin_mathfn_3): Remove local variable before_call.Kazu Hirata2-3/+4
* builtins.c (expand_builtin_mathfn_3): Remove local variable before_call. From-SVN: r96372
2005-03-13builtins.c (fold_trunc_transparent_mathfn, [...]): Use TYPE (TYPE (fndecl)) ↵Kazu Hirata2-17/+36
instead of TREE_TYPE (exp). * builtins.c (fold_trunc_transparent_mathfn, fold_fixed_mathfn, fold_builtin_atan, fold_builtin_trunc, fold_builtin_floor, fold_builtin_ceil, fold_builtin_round, fold_builtin_lround, fold_builtin_bitop, fold_builtin_memcpy, fold_builtin_strcpy, fold_builtin_strncpy, fold_builtin_signbit): Use TYPE (TYPE (fndecl)) instead of TREE_TYPE (exp). From-SVN: r96371