X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2FChangeLog;h=d5f8559c1ac5fdc69886ea2ae2ada6665c5033e5;hp=bd545feee2a1b6b04b70592616a8b7b372b5e8c8;hb=24fbb6038f8768e9a8e7ad118abfd18b9f6aa221;hpb=99b0f6d94746a392b7689b495ec107f68ae328c7 diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bd545feee2a..d5f8559c1ac 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,666 @@ +2007-04-06 Andreas Tobler + + * tree-sra.c (sra_build_elt_assignment): Initialize min/maxshift. + +2007-04-06 Uros Bizjak + + * config/i386/i386.md (extendxf2): Rename from extendsfxf2 + and extenddfxf2. Macroize expander using X87MODEF12 mode macro. + (*truncdfsf_mixed, *truncdfsf_i387, *truncdfsf2_i387_1): + Use output_387_reg_move(). + (*truncxf2): Rename from *truncxfsf2 and truncxfdf2. Macroize + expander using X87MODEF12 mode macro. + (*truncxfsf2_mixed): Combine alternatives, ignore "r" alternative when + choosing register preferences. Use output_387_reg_move(). + (*truncxfdf2_mixed): Combine alternatives, use "r" alternative + instead of "x". Use output_387_reg_move(). + (*truncxf2_i387_noop): Rename from *truncxfsf2_i387_noop and + *truncxfdf2_i387_noop. Macroize insn using X87MODEF12 mode macro. + (*truncxf2_i387): Rename from *truncxfsf2_i387 and + *truncxfdf2_i387. Macroize insn using X87MODEF12 mode macro. + Use output_387_reg_move(). + (*truncxf?f_mixed splitter): Macroize splitter using X87MODEF12 + mode macro. + (*truncxf?f_i387 splitter): Ditto. + +2007-04-06 Daniel Berlin + + * langhooks-def.h (LANG_HOOKS_INITIALIZER): Remove + LANG_HOOKS_SAFE_FROM_P. + * expr.c (safe_from_p): Remove langhook call. + * langhooks.h (lang_hooks): Remove safe_from_p. + (lhd_safe_from_p): Remove prototype. + * langhooks.c (lhd_safe_from_p): Remove. + +2007-04-06 Jan Hubicka + + * cgraphunit.c (decide_is_function_needed): Do not keep always_inline + functions. + +2007-04-06 Uros Bizjak + + * config/i386/i386.c (output_387_reg_move): Handle memory operand[0]. + * config/i386/i386.md (*movsf_1, *movdf_nointeger, + *movdf_integer_rex64, *movdf_integer, *movxf_nointeger, + *movxf_integer): Use output_387_reg_move() for x87 reg->mem + alternative. + (*extendsfdf2_mixed, *extendsfdf2_i387, *extendsfxf2_i387, + *extenddfxf2_i387, *truncdfsf_fast_mixed): Ditto. + +2007-04-05 Richard Henderson + + * config/alpha/alpha.c (print_operand) [+]: Remove. + (alpha_end_function): Print nop if call at end of function. + * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Remove +. + * config/alpha/alpha.md (UNSPEC_LDGP1): New. + (call_osf_1_er_noreturn, call_value_osf_1_er_noreturn): New. + (call_osf_2_er_nogp, call_value_osf_2_er_nogp): New. + (call_osf_2_er, call_value_osf_2_er): Merge the ldgp highpart into + the call pattern. Update peepholes to match. + +2007-04-05 Janis Johnson + + * doc/extend.texi (Other Builtins): Add decimal float variants + of signbit. + * builtins.def: Ditto. + * builtins.c (expand_builtin): Ditto. + +2007-04-05 Uros Bizjak + H.J. Lu + + PR target/31478 + * config/i386/sse.md (sse2_umulv2siv2di3): Use V4SImode instead + of V8HImode when calling ix86_binary_operator_ok. + (sse2_pmaddwd): Call ix86_binary_operator_ok. + (sdot_prodv8hi): Operands 1 and 2 must be register. + +2007-04-05 Alexandre Oliva + + * tree-sra.c (try_instantiate_multiple_fields): Needlessly + initialize align to silence bogus warning. + +2007-04-05 Alexandre Oliva + + PR middle-end/22156 + * 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. + +2007-04-05 Steven Bosscher + + * regmove.c: Fix unused variable warnings due to previous commit. + +2007-04-05 Steven Bosscher + + * regmove.c (STACK_GROWS_DOWNWARD): Don't boolean-ize. + (regmove_bb_head): Remove. + (copy_src_to_dest): Don't update regmove_bb_head and BB_HEAD. + (regmove_optimize): Don't do unnecessary CFG fixes for non-existing + problems with fixup_match_1. + Don't initialize/free regmove_bb_head. + + (reg_is_remote_constant_p): If an insn is in the same basic block + but not before INSN, consider it remote, too. + +2007-04-05 Anatoly Sokolov + + PR target/25448 + * config/avr/avr.c (avr_handle_fndecl_attribute): Use the + DECL_ASSEMBLER_NAME, not the DECL_NAME. + +2007-04-05 H.J. Lu + + * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Reformat. + (CONDITIONAL_REGISTER_USAGE): Likewise. + +2007-04-04 Richard Henderson + + * config/alpha/lib1funcs.asm: Remove unused file. + +2007-04-04 Brooks Moses + + PR other/31356 + * opts.c (print_specific_help): Fix --help= + header line. + (common_handle_option): Support --help=common. + +2007-04-04 Brooks Moses + + PR other/31353 + * gcc.c (main): Do not run the linker if + print_subprocess_help indicates that it shouldn't be + run. + +2007-04-04 Brooks Moses + + PR doc/31355 + * doc/invoke.texi (--help=): Document value, fix + formatting in tables of values. + +2007-04-04 Danny Smith + + * config/i386/winnt-cxx.c (i386_pe_type_dllimport_p): Don't ignore + dllimport attribute of virtual methods. + +2007-04-04 Chen Liqin + + * config/score/crti.asm: Change _bss_start to __bss_start. + * config/score/score.h (CONDITIONAL_REGISTER_USAGE): Added. + (OUTGOING_REG_PARM_STACK_SPACE) update. + * config/score/score.opt: add options to make backend support + score5, score5u, score7 and score7d. + * config/score/score.md: Likewise. + * config/score/misc.md: Likewise. + * config/score/mac.md: Likewise. + * doc/invoke.texi: Likewise. + * doc/md.texi: update constraints define. + +2007-04-03 Richard Henderson + + * expr.c (store_expr): If get_signed_or_unsigned_type doesn't yield + an appropriate type, use the mode instead. + +2007-04-03 Richard Sandiford + + * config.gcc (mips-wrs-vxworks): Add vx-common.h to tm_file. + Set the default --with-arch setting to mips2. + * config/mips/t-vxworks (MULTILIB_OPTIONS, MULTILIB_MATCHES) + (MULTILIB_EXCEPTIONS): Redefine with new multilibs. + (MULTILIB_OSDIRNAMES): Delete. + (MULTILIB_DIRNAMES): Define. + * config/mips/vxworks.h (LINK_SPEC): Add VXWORKS_LINK_SPEC. + (LIB_SPEC, STARTFILE_SPEC, ENDFILE_SPEC): Define. + (TARGET_OS_CPP_BUILTINS): Incorporate old SUBTARGET_CPP_SPEC + definitions, except for _WRS_R3K_EXC_SUPPORT. Call + VXWORKS_OS_CPP_BUILTINS. + (SUBTARGET_CPP_SPEC): Redefine to VXWORKS_ADDITIONAL_CPP_SPEC. + (MIPS_DEBUGGING_INFO): Undefine. + (FUNCTION_PROFILER): Define to VXWORKS_FUNCTION_PROFILER. + +2007-04-03 Jakub Jelinek + + PR middle-end/30704 + * fold-const.c (native_encode_real): Encode real.c provided longs + as a series of 32-bit native integers. + (native_interpret_real): Interpret buffer as a series of 32-bit + native integers. + +2007-04-03 Richard Guenther + + * genpreds.c (write_insn_constraint_len): Write function + optimized for CONSTRAINT_LEN implementation. + (write_tm_preds_h): Output insn_constraint_len inline and + use it for CONSTRAINT_LEN. + (write_insn_preds_c): Don't output insn_constraint_len. + * doc/md.texi (define_register_constraint): Document multi-letter + constraints shall have the same length if they start with the same + letter. + +2007-04-03 Uros Bizjak + + PR target/31175 + * config/i386/i386.md (isinf2): Expand only when + TARGET_C99_FUNCTIONS is set. + +2007-04-03 Uros Bizjak + + * config.gcc (i[34567]86-*-linux*): Add i386/t-crtpc to tm-file. + (x86_64-*-linux*): Ditto. + * config/i386/i386.opt (mpc): New option. + * config/i386/i386.c (overrride_options): Handle + ix87_precision_string. + * config/i386/crtprec.c: New file. + * config/i386/t-crtpc: Ditto. + * config/i386/linux.h (ENDFILE_SPEC): Add handling of -mpc32, -mpc64 + and -mpc80 options. + * config/i386/linux64.h (ENDFILE_SPEC): Ditto. + * config/i386/t-linux64 (EXTRA_MULTILIB_PARTS): Add + crtprec32.o, crtprec64.o and crtprec80.o. + + * doc/invoke.texi (Machine Dependent Options): Add -mpc32, -mpc64 + and -mpc80 options. + (i386 and x86-64 Options): Document -mpc32, -mpc64 and -mpc80 options. + +2007-04-02 Eric Christopher + + * doc/invoke.texi (i386 and x86-64 Options): Document -m64 + limitations on darwin. + +2007-04-02 Anatoly Sokolov + + PR target/31137 + * config/avr/avr.c (avr_rtx_costs): Add missing 'break' statements. + +2007-04-02 Dave Korn + + * doc/tm.texi (FUNCTION_MODE): Update and extend documentation. + +2007-04-02 Dave Korn + + * libgcc2.h (exception_descriptor): Don't forward-declare. + (__get_eh_table_language, __get_eh_table_version): Delete + prototypes of long-dead functions. + +2007-04-01 Daniel Berlin + + * ebitmap.h: New file + * ebitmap.c: New file + * Makefile.in (ebitmap.o): New target. + +2007-04-01 Jan Hubicka + + * emit-rtl.c (emit_insn_before_setloc): Do not ICE when asked to emit + before very first instruction. + +2007-04-01 Jan Hubicka + + * ggc-page.c (ggc_print_statistics): Fix formatting string to avoid + waring on 64bit hosts. + * bitmap.h: Fix typo in bitmap_head_def. + +2007-04-01 Steven Bosscher + + PR rtl-optimization/31391 + * cfgcleanup.c (try_optimize_cfg): If a removed label is turned + into a DELETED_LABEL note, and the label is in an empty basic + block, update BB_END as well as BB_HEAD. + +2007-04-01 Richard Henderson + + PR tree-optimization/31169 + * tree-vrp.c (extract_range_from_binary_expr) : Drop + to varying if the range is outside [0, prec-1]. + +2007-04-01 Richard Sandiford + + PR target/31388 + * config/mips/mips.md (load_const_gp): New insn. + * config/mips/mips.c (mips_split_symbol): Avoid using or creating + the MIPS16 GP pseudo register if no_new_pseudos. + (mips16_gp_pseudo_reg): Use gen_load_const_gp. + +2007-03-31 Andrew Pinski + + PR target/31364 + * config/rs6000/rs6000.md (call): Convert to LR hard reg for + secureplt. + (call_value): Likewise. + +2007-03-31 Wolfgang Bangerth + Manuel Lopez-Ibanez + + PR 14737 + * doc/invoke.texi: (optimization options): Reword description + of -ffast-math. Document its primary purpose. + +2007-03-31 Richard Guenther + + * omp-low.c (splay-tree.h): Include. + (lookup_decl): Replace splay-tree usage by pointer-map. + (maybe_lookup_decl): Likewise. + (new_omp_context): Likewise. + (delete_omp_context): Likewise. + * gimplify.c (splay-tree.h): Include. + * tree-inline.c (insert_decl_map): Replace splay-tree usage by + pointer-map. + (remap_ssa_name): Likewise. + (remap_decl): Likewise. + (remap_type_1): Likewise. + (remap_type): Likewise. + (copy_body_r): Likewise. + (expand_call_inline): Likewise. + (clone_body): Likewise. + (copy_tree_r): Likewise. + (remap_save_expr): Likewise. + (unsave_r): Likewise. + (unsave_expr_now): Likewise. + (tree_function_versioning): Likewise. + (build_duplicate_type): Likewise. + * tree-inline.h (pointer-set.h): Include instead of splay-tree.h. + (struct copy_body_data): Replace splay-tree by pointer-map. + * Makefile.in (TREE_INLINE_H): Depend on pointer-map.h, + not $(SPLAY_TREE_H). + (gimplify.o): Depend on $(SPLAY_TREE_H). + (omp-low.p): Likewise. + +2007-03-31 Anatoly Sokolov + + * config/avr/predicates.md (even_register_operand, + odd_register_operand): New predicates. + * config/avr/avr.md (movw peephole2): New. + (movw_r peephole2): New. + +2007-03-30 Rafael Avila de Espindola + + * tree.h (get_signed_or_unsigned_type): New. + * fold-const.c (operand_equal_for_comparison_p): Use + get_signed_or_unsigned_type instead of + lang_hooks.types.signed_or_unsigned_type. + * expr.c (store_expr): Ditto. + * langhooks.c (get_signed_or_unsigned_type): New. + (lhd_signed_or_unsigned_type): New. + * langhooks.h (lhd_signed_or_unsigned_type): New. + * langhooks-def.h (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Define. + +2007-03-30 Richard Henderson + + * tree-ssa-loop-ivopts.c: Include target.h. + (produce_memory_decl_rtl): Pass the rtx through encode_section_info. + (get_address_cost): Force SYMBOL_FLAG_LOCAL set. + (force_expr_to_var_cost): Use produce_memory_decl_rtl. + * Makefile.in (tree-ssa-loop-ivopts.o): Depend on TARGET_H. + +2007-03-30 Richard Henderson + Kai Tietz + + * config/i386/cygming.h (DWARF2_DEBUGGING_INFO): Enable by + default for 64-bit. + (PREFERRED_DEBUGGING_TYPE): Prefer dwarf2 for 64-bit. + (TARGET_64BIT_MS_ABI): New. + (DBX_REGISTER_NUMBER): Handle 64-bit. + (SIZE_TYPE, PTRDIFF_TYPE): Use long long for 64-bit. + (LONG_TYPE_SIZE): Force to 32. + (REG_PARM_STACK_SPACE): New. + (OUTGOING_REG_PARM_STACK_SPACE): New. + (REGPARM_MAX, SSE_REGPARM_MAX): New. + (HANDLE_PRAGMA_PUSH_POP_MACRO): New. + (STACK_BOUNDARY): Use 128 for 64-bit. + * config/i386/cygwin.asm: Use push/ret to preserve call stack. + Add 64-bit implementation. + * config/i386/gthr-win32.c (__gthr_win32_key_create): Mark dtor + argument unused. + * config/i386/i386.c (x86_64_ms_abi_int_parameter_registers): New. + (override_options): Set ix86_cmodel for TARGET_64BIT_MS_ABI. + Warn for -mregparm, -mrtd in 64-bit mode; force ix86_regparm + for 64-bit; use TARGET_SUBTARGET64_DEFAULT. + (ix86_handle_cconv_attribute): Don't warn when ignoring if + TARGET_64BIT_MS_ABI. + (ix86_function_arg_regno_p): Handle TARGET_64BIT_MS_ABI. + (ix86_pass_by_reference): Likewise. + (ix86_function_value_regno_p): Likewise. + (ix86_build_builtin_va_list): Likewise. + (ix86_va_start, ix86_gimplify_va_arg): Likewise. + (function_arg_advance_ms_64): New. + (function_arg_advance): Call it. + (function_arg_ms_64): New. + (function_arg): Call it. + (function_value_ms_64): New. + (ix86_function_value_1): Call it. + (return_in_memory_ms_64): New. + (ix86_return_in_memory): Call it. + (setup_incoming_varargs_ms_64): New. + (ix86_setup_incoming_varargs): Call it. + (ix86_expand_prologue): Handle 64-bit stack probing. + (legitimize_pic_address): Handle TARGET_64BIT_MS_ABI. + (output_pic_addr_const): Likewise. + (x86_this_parameter): Likewise. + (x86_output_mi_thunk): Likewise. + (x86_function_profiler): Likewise. + (TARGET_STRICT_ARGUMENT_NAMING): New. + * config/i386/i386.h (TARGET_SUBTARGET64_DEFAULT): New. + (TARGET_64BIT_MS_ABI): New. + (CONDITIONAL_REGISTER_USAGE): Handle TARGET_64BIT_MS_ABI. + * config/i386/i386.md (allocate_stack_worker): Remove. + (allocate_stack_worker_32): Rename from allocate_stack_worker_1; + describe the clobber of eax without a match_scratch. + (allocate_stack_worker_postreload): Remove. + (allocate_stack_worker_64): Rename from allocate_stack_worker_rex64; + describe the clobbers of rax, r10, r11 properly; use __chkstk symbol. + (allocate_stack_worker_rex64_postreload): Remove. + (allocate_stack): Handle 64-bit. + * config/i386/i386elf (TARGET_SUBTARGET_DEFAULT): Remove. + * config/i386/mingw32.h (TARGET_VERSION): Set correctly for 64-bit. + (EXTRA_OS_CPP_BUILTINS): Handle 64-bit. + (STANDARD_INCLUDE_DIR): Handle TARGET_64BIT_DEFAULT. + (STANDARD_STARTFILE_PREFIX_1): Likewise. + * config/i386/unix.h (TARGET_SUBTARGET64_DEFAULT): New. + * config.build (x86_64-*-mingw*): New host. + * config.host (x86_64-*-mingw*): New host. + * config.gcc (x86_64-*-mingw*): New target. + * gthr-win32.h (__gthread_key_create): Mark dtor unused. + +2007-03-30 Richard Henderson + Kai Tietz + + * c-pragma.c (struct def_pragma_macro_value): New. + (struct def_pragma_macro): New. + (pushed_macro_table): New. + (dpm_hash, dpm_eq): New. + (handle_pragma_push_macro, handle_pragma_pop_macro): New. + (init_pragma): Install them. + * doc/tm.texi (HANDLE_PRAGMA_PUSH_POP_MACRO): New. + +2007-03-30 Anatoly Sokolov + + * config/avr/avr.c (avr_override_options): Clear + 'flag_delete_null_pointer_checks'. + +2007-03-30 Paolo Carlini + + PR c++/26099 + * c-common.h (enum rid): Add RID_HAS_NOTHROW_ASSIGN, + RID_HAS_NOTHROW_CONSTRUCTOR, RID_HAS_NOTHROW_COPY, + RID_HAS_TRIVIAL_ASSIGN, RID_HAS_TRIVIAL_CONSTRUCTOR, + RID_HAS_TRIVIAL_COPY, RID_HAS_TRIVIAL_DESTRUCTOR, + RID_HAS_VIRTUAL_DESTRUCTOR, RID_IS_ABSTRACT, RID_IS_BASE_OF, + RID_IS_CONVERTIBLE_TO, RID_IS_CLASS, RID_IS_EMPTY, RID_IS_ENUM, + RID_IS_POD, RID_IS_POLYMORPHIC, RID_IS_UNION, as + C++ extensions. + * doc/extend.texi (Extensions to the C++ Language): Add Type Traits. + +2007-03-30 Steven Bosscher + + * regmove.c: Move all of pass_stack_adjustments from here... + * combine-stack-adj.c: ...to this new file. + * Makefile.in: Add rules for combine-stack-adj.o. + +2007-03-30 Zdenek Dvorak + + PR tree-optimization/31383 + * tree-data-ref.c (affine_function_equal_p): Do not require the vectors + to have the same length. + +2007-03-30 Jan Hubicka + + PR middle-end/30700 + * dwarf2out.c (reference_to_unused): Ask cgraph for functions + availablility; add more sanity checking; ask varpool only about + VAR_DECL. + +2007-03-29 Richard Henderson + + * unwind-generic.h (_sleb128_t, _uleb128_t): Don't use HAVE_LONG_LONG + to decide, but __SIZEOF_LONG_LONG__. + +2007-03-29 Richard Henderson + + * emutls.c (struct __emutls_array): New. + (emutls_destroy): Use it instead of casting element 0 from void*. + (__emutls_get_address): Likewise. + +2007-03-29 Richard Henderson + + * varasm.c (initializer_constant_valid_p): Don't deny + DECL_DLLIMPORT_P on functions. + + * config/i386/cygming.h: Remove function declarations. + (SUBTARGET_ENCODE_SECTION_INFO): Don't undef first. + (ASM_OUTPUT_LABELREF): Remove. + (COMMON_ASM_OP): Remove. + (ASM_OUTPUT_COMMON): Remove. + (ASM_OUTPUT_ALIGNED_DECL_COMMON): New. + (ASM_DECLARE_OBJECT_NAME): Use i386_pe_maybe_record_exported_symbol. + (ASM_DECLARE_FUNCTION_NAME): Likewise. + * config/i386/i386-interix.h (SUBTARGET_ENCODE_SECTION_INFO): + Rename from TARGET_ENCODE_SECTION_INFO. + * config/i386/netware.h: Likewise. + * config/i386/i386-protos.h: Update. + * config/i386/i386.c (ix86_function_ok_for_sibcall): Turn ifdef + of TARGET_DLLIMPORT_DECL_ATTRIBUTES into straight if. + (legitimate_constant_p): Reject dllimports. + (dllimport_map, get_dllimport_decl): New. + (legitimize_dllimport_symbol): New. + (legitimize_address, ix86_expand_move): Use it. + (TARGET_BINDS_LOCAL_P): Redefine for TARGET_DLLIMPORT_DECL_ATTRIBUTES. + * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Remove. + (SYMBOL_FLAG_DLLIMPORT, SYMBOL_REF_DLLIMPORT_P): New. + (SYMBOL_FLAG_DLLEXPORT, SYMBOL_REF_DLLEXPORT_P): New. + * config/i386/predicates.md (constant_call_address_operand): Only + accept symbols; reject dllimport_p symbols. + * config/i386/uwin.h (ASM_DECLARE_FUNCTION_NAME): Use + i386_pe_maybe_record_exported_symbol. + * config/i386/winnt.c (DLL_IMPORT_PREFIX, DLL_EXPORT_PREFIX): Remove. + (i386_pe_determine_dllexport_p): Rename from i386_pe_dllexport_p. + (i386_pe_determine_dllimport_p): Rename from i386_pe_dllimport_p; + trust the setting of DECL_DLLIMPORT_P. + (i386_pe_dllexport_name_p, i386_pe_dllimport_name_p): Remove. + (i386_pe_mark_dllexport, i386_pe_mark_dllimport): Remove. + (gen_stdcall_or_fastcall_suffix): Return NULL if no change required; + tidy the argument scanning loop. + (i386_pe_encode_section_info): Set SYMBOL_FLAG_DLLIMPORT and + SYMBOL_FLAG_DLLEXPORT in SYMBOL_REF_FLAGS. + (i386_pe_strip_name_encoding): Remove. + (i386_pe_binds_local_p): New. + (i386_pe_strip_name_encoding_full): Use default_strip_name_encoding. + (i386_pe_output_labelref): Remove. + (i386_pe_asm_output_aligned_decl_common): New. + (i386_pe_maybe_record_exported_symbol): Rename from + i386_pe_record_exported_symbol; check for dllexported symbols. + +2007-03-29 Zack Weinberg + + * gengtype.c (oprintf): Mostly revert changes from 2007-03-26; + add comment explaining why vsnprintf cannot be used. + +2007-03-29 Douglas Gregor + + PR tree-optimization/30666 + * tree.c (build_complex_type): When creating type names for DWARF2 + debug info, create TYPE_DECLs for TYPE_NAME instead of + IDENTIFIER_NODEs. + (build_common_tree_nodes_2): Use build_complex_type when building + predefined complex types, to preserve canonical types. + +2007-03-29 Steven Bosscher + + * ifcvt.c (struct noce_if_info): Add then_else_reversed field. + (noce_get_alt_condition): Look at it to determine whether to + reverse the condition or not. + (noce_get_condition): Substitute the truth for lies. + (noce_find_if_block): Set the then_else_reversed field. + +2007-03-29 Lars Poeschel + + * config/fr30/fr30.md (movdi): Do not accept immediates as the + destination of this insn. + * config/fr30/fr30.c (fr30_move_double): Use emit_move_insn rather + than calling gen_rtx_SET directly. Use r0 to hold the value of + 'address + 4' rather than a stack based temporary which can be + mis-optimized away. + +2007-03-29 Andreas Krebbel + + * config/s390/s390.c (s390_secondary_input_reload_class, + s390_secondary_output_reload_class): Functions removed. + (s390_secondary_reload): New function. + (TARGET_SECONDARY_RELOAD): Target macro defined. + * config/s390/s390.h (SECONDARY_INPUT_RELOAD_CLASS, + SECONDARY_OUTPUT_RELOAD_CLASS): Macro definitions removed. + * config/s390/s390.md ("reload_outti", "reload_outdi", + "reload_indi", "reload_insi", "reload_out", "reload_in", + "reload_out"): Expanders removed. + ("reload_plus", "reload_nonoffmem_in", + "reload_nonoffmem_out"): Expanders added. + +2007-03-29 Andreas Krebbel + + * regmove.c (optimize_reg_copy_1): Don't perform DEST->SRC repair action if + SRC->DEST replacement failed anyway. + +2007-03-28 Mike Stump + + * config/darwin9.h (ASM_OUTPUT_ALIGNED_COMMON): Add. + * config/darwin.h (MAX_OFILE_ALIGNMENT): Fix. + * config/rs6000/darwin.h (ASM_OUTPUT_ALIGNED_COMMON): Removed #undef. + +2007-03-28 Dwarakanath Rajagopal + + * config.gcc: Accept barcelona as a variant of amdfam10. + * config/i386/i386.c (override_options): Likewise. + * doc/invoke.texi: Likewise. + +2007-03-28 Eric Botcazou + + * tree-dfa.c (get_ref_base_and_extent): Do not expect positive + offsets for BIT_FIELD_REF and COMPONENT_REF. + +2007-03-28 Richard Guenther + + * tree.c (is_global_var): Move ... + * tree-flow-inline.h (is_global_var): ... here. + * tree.h (is_global_var): Remove declaration. + +2007-03-28 Uros Bizjak + + * config/i386/i386.h (X86_TUNE_PROMOTE_HIMODE_IMUL): New tuning + option. + (TARGET_TUNE_PROMOTE_HIMODE_IMUL): New define. Use new tuning option. + * config/i386/i386.c (ix86_tune_features): Initialize new + tuning option. + * config/i386/predicates.md (promotable_binary_operator): Use + TARGET_TUNE_PROMOTE_HIMODE_IMUL. + +2007-03-28 Grigory Zagorodnev + + PR target/31380 + * config/i386/sse.md (uminv16qi3): Use UMIN instead of UMAX. + +2007-03-28 Lars Poeschel + + * config/fr30/fr30.md (movsi_internal): Change destination + constraint from m to V and add m to the end. + +2007-03-28 Christian Bruel + + * config/sh/sh.md (movsi_i): Fix type attribute. + +2007-03-28 Christian Bruel + + * config/sh/sh.md (movsi_ie): Fix memory constraints attribute length. + (movsf_ie): Likewise. + 2007-03-28 Christian Bruel * config.gcc: Add sh4-300 to multilib. @@ -8,7 +671,7 @@ * config/s390/s390.md ("fix_truncdi2"): New expander. ("fix_truncdi2_dfp"): New insn definition renamed from fix_truncdi2. - ("fixuns_truncdddi2", "fixuns_trunctddi2"): Use + ("fixuns_truncdddi2", "fixuns_trunctddi2"): Use fix_truncdi2_dfp instead of fix_truncdi2. ("fix_truncdfsi2", "fix_truncsfsi2", "fixuns_truncdddi2", "fixuns_trunctddi2"): Whitespace fix. @@ -35,7 +698,7 @@ 2007-03-27 Anatoly Sokolov - * config/avr/avr.c (avr_mcu_types): Move at90usb82 device to 'avr4' + * config/avr/avr.c (avr_mcu_types): Move at90usb82 device to 'avr4' architecture. 2007-03-27 Janis Johnson @@ -55,7 +718,7 @@ 2007-03-27 Richard Guenther * tree-dfa.c (get_ref_base_and_extent): Replace bit_offset and - computations with it with a HOST_WIDE_INT variable. + computations with it with a HOST_WIDE_INT variable. 2007-03-26 Mike Stump @@ -66,22 +729,22 @@ 2007-03-26 Richard Henderson - PR target/31361 - * config/i386/i386.c (IX86_BUILTIN_PSLLDQ128, IX86_BUILTIN_PSLLW128, - IX86_BUILTIN_PSLLD128, IX86_BUILTIN_PSLLQ128, IX86_BUILTIN_PSRAW128, - IX86_BUILTIN_PSRAD128, IX86_BUILTIN_PSRLW128, IX86_BUILTIN_PSRLD128, - IX86_BUILTIN_PSRLQ128): New. - (ix86_init_mmx_sse_builtins): Add them. - (ix86_expand_builtin): Expand them. - * config/i386/sse.md (ashr3, lshr3, ashl3): Make - operand 2 be TImode. - * config/i386/emmintrin.h (_mm_slli_epi64, _mm_srai_epi16, - _mm_srai_epi32, _mm_srli_epi16, _mm_srli_epi32, - _mm_srli_epi64): Mark __B const. - (_mm_srli_si128, _mm_srli_si128): Fix disabled inline versions. - (_mm_sll_epi16, _mm_sll_epi32, _mm_sll_epi64, _mm_sra_epi16, - _mm_sra_epi32, _mm_srl_epi16, _mm_srl_epi32, _mm_srl_epi64): Use - new two-vector shift builtins. + PR target/31361 + * config/i386/i386.c (IX86_BUILTIN_PSLLDQ128, IX86_BUILTIN_PSLLW128, + IX86_BUILTIN_PSLLD128, IX86_BUILTIN_PSLLQ128, IX86_BUILTIN_PSRAW128, + IX86_BUILTIN_PSRAD128, IX86_BUILTIN_PSRLW128, IX86_BUILTIN_PSRLD128, + IX86_BUILTIN_PSRLQ128): New. + (ix86_init_mmx_sse_builtins): Add them. + (ix86_expand_builtin): Expand them. + * config/i386/sse.md (ashr3, lshr3, ashl3): Make + operand 2 be TImode. + * config/i386/emmintrin.h (_mm_slli_epi64, _mm_srai_epi16, + _mm_srai_epi32, _mm_srli_epi16, _mm_srli_epi32, + _mm_srli_epi64): Mark __B const. + (_mm_srli_si128, _mm_srli_si128): Fix disabled inline versions. + (_mm_sll_epi16, _mm_sll_epi32, _mm_sll_epi64, _mm_sra_epi16, + _mm_sra_epi32, _mm_srl_epi16, _mm_srl_epi32, _mm_srl_epi64): Use + new two-vector shift builtins. 2007-03-26 Ian Lance Taylor @@ -269,7 +932,7 @@ IX86_BUILTIN_PSRAW128, IX86_BUILTIN_PSRAD128, IX86_BUILTIN_PSRLW128, IX86_BUILTIN_PSRLD128, IX86_BUILTIN_PSRLQ128): Remove. (ix86_init_mmx_sse_builtins): Remove v8hi_ftype_v8hi_v2di and - v4si_ftype_v4si_v2di. Remove __builtin_ia32_psllw128, + v4si_ftype_v4si_v2di. Remove __builtin_ia32_psllw128, __builtin_ia32_pslld128, __builtin_ia32_psllq128, __builtin_ia32_psrlw128, __builtin_ia32_psrld128, __builtin_ia32_psrlq128, __builtin_ia32_psraw128 and