| 2007-04-09 Jan Hubicka <jh@suse.cz> |
| |
| Radar 5097839 |
| PR target/27869 |
| * config/i386/sse.md |
| (sse_vmaddv4sf3, sse_vmmulv4sf3): Remove '%' modifier. |
| (sse_vmsmaxv4sf3_finite, sse_vmsminv4sf3_finite): Remove. |
| (sse2_vmaddv2df3, sse2_vmmulv2df3): Remove '%' modifier. |
| (sse2_vmsmaxv2df3_finite, sse2_vmsminv2df3_finite): Remove. |
| |
| 2007-03-28 Mike Stump <mrs@apple.com> |
| |
| Radar 5077358 |
| * 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. |
| |
| 2006-12-13 Geoffrey Keating <geoffk@apple.com> |
| |
| Radar 4697325 |
| * doc/invoke.texi (Darwin Options): Update documentation for |
| -mmacosx-version-min. |
| * config.gcc (*-*-darwin*): Set extra_gcc_objs. |
| * config/darwin-driver.c: New file. |
| * config/darwin.h (GCC_DRIVER_HOST_INITIALIZATION): New. |
| * config/t-darwin (darwin-driver.o): New rule. |
| |
| 2006-12-12 Geoffrey Keating <geoffk@apple.com> |
| |
| * mips-tdump.c: Replace CROSS_COMPILE with |
| CROSS_DIRECTORY_STRUCTURE. |
| * mips-tfile.c: Likewise. |
| * gcc.c: Likewise. |
| * configure.ac: Likewise. |
| * cppdefault.c: Likewise. |
| * Makefile.in: Likewise. |
| * config/alpha/osf.h: Likewise. |
| * config/i386/cygwin.h: Likewise. |
| * config/i386/beos-elf.h: Likewise. |
| * config/i386/nto.h: Likewise. |
| * config/fr30/fr30.h: Likewise. |
| * config/svr4.h: Likewise. |
| * config/rs6000/aix.h: Likewise. |
| * config/rs6000/sysv4.h: Likewise. |
| * config/pa/pa64-hpux.h: Likewise. |
| * config/pa/pa-hpux10.h: Likewise. |
| * config/pa/pa-hpux11.h: Likewise. |
| * collect2.c: Likewise. |
| * configure: Regenerate. |
| |
| 2007-03-13 Geoffrey Keating <geoffk@apple.com> |
| |
| * doc/invoke.texi (Spec Files): Update for '%{,' spec. |
| |
| 2007-03-10 Tobias Schlüter <tobi@gcc.gnu.org> |
| |
| * config/i386/darwin.h (DARWIN_MINVERSION_SPEC): Add missing |
| quotation mark. |
| |
| 2007-03-09 Geoffrey Keating <geoffk@apple.com> |
| |
| Radar 5040758 |
| * gcc.c: Document %{, in big comment at top. |
| (input_suffix_matches): Remove special handling for .s and |
| .S. |
| (input_spec_matches): New. |
| (handle_braces): Handle %{,. |
| (validate_switches): ',' indicates a value which is not a switch. |
| * config/alpha/osf.h (ASM_FINAL_SPEC): Use %{, rather than %{. |
| to detect assembler input. |
| * config/i386/sol2.h (CPP_SPEC): Likewise. |
| * config/rs6000/sysv4.h (ASM_SPEC): Likewise. |
| * config/rs6000/vxworks.h (ASM_SPEC): Likewise. |
| * config/rs6000/lynx.h (ASM_SPEC): Likewise. |
| * config/rs6000/linux64.h (ASM_SPEC_COMMON): Likewise. |
| * config/i386/darwin.h (DARWIN_MINVERSION_SPEC): Objective-C plus |
| -m64 causes deployment target to default to 10.5. |
| * config/rs6000/darwin.h (DARWIN_MINVERSION_SPEC): Likewise. |
| |
| 2007-02-20 Geoffrey Keating <geoffk@apple.com> |
| |
| Radar 5005743, 4226546 |
| * config/darwin.h (LINK_SPEC): Default -mmacosx-version-min only |
| if user didn't pass it. |
| * config/i386/darwin.h (CC1_SPEC): Likewise. |
| * config/rs6000/darwin.h (CC1_SPEC): Likewise. |
| (DARWIN_MINVERSION_SPEC): Don't depend on user's setting of |
| -mmacosx-version-min. |
| |
| * config/darwin.h (LINK_SPEC): Always pass -macosx_version_min |
| to linker. |
| (DARWIN_EXTRA_SPECS): Add %(darwin_minversion). |
| * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Just call |
| darwin_rs6000_override_options. |
| (C_COMMON_OVERRIDE_OPTIONS): Expect |
| darwin_macosx_version_min to be non-NULL always. |
| (TARGET_C99_FUNCTIONS): Likewise. |
| (CC1_SPEC): Always pass -mmacosx-version-min to cc1*. |
| (DARWIN_MINVERSION_SPEC): New. |
| * config/rs6000/rs6000.c (darwin_rs6000_override_options): New. |
| * config/i386/darwin.h (CC1_SPEC): Always pass -mmacosx-version-min |
| to cc1*. |
| (DARWIN_MINVERSION_SPEC): New. |
| * config/darwin.opt (mmacosx-version-min): Initialize to non-NULL |
| value. |
| * config/darwin-c.c (darwin_cpp_builtins): Expect |
| darwin_macosx_version_min to be non-NULL always. |
| |
| 2007-01-04 Geoffrey Keating <geoffk@apple.com> |
| |
| Radar 4871915 |
| * target.h (struct gcc_target): New field library_rtti_comdat. |
| * target-def.h (TARGET_CXX_LIBRARY_RTTI_COMDAT): New. |
| (TARGET_CXX): Add TARGET_CXX_LIBRARY_RTTI_COMDAT. |
| * doc/tm.texi (C++ ABI): Document TARGET_CXX_LIBRARY_RTTI_COMDAT. |
| * config/darwin.h (TARGET_CXX_LIBRARY_RTTI_COMDAT): Define. |
| |
| 2006-12-18 Roger Sayle <roger@eyesopen.com> |
| Eric Christopher <echristo@apple.com> |
| |
| Radar 4820385 |
| PR target/29302 |
| * real.c (real_maxval): Correctly handle IBM extended double format. |
| |
| 2006-12-22 Mike Stump <mrs@apple.com> |
| |
| * config/rs6000/t-darwin (DARWIN_EXTRA_CRT_BUILD_CFLAGS): Add |
| -mmacosx-version-min=10.4. |
| (crt2.o): Add $(DARWIN_EXTRA_CRT_BUILD_CFLAGS). |
| |
| 2006-12-18 Geoffrey Keating <geoffk@apple.com> |
| |
| Radar 4869554 |
| * doc/invoke.texi (Debugging Options): Document -g0. |
| * config/darwin.h (LINK_COMMAND_SPEC): Replace -gnone with -g0. |
| |
| 2006-12-13 Geoffrey Keating <geoffk@apple.com> |
| |
| Radar 4697325 |
| * doc/invoke.texi (Darwin Options): Update documentation for |
| -mmacosx-version-min. |
| * config.gcc (*-*-darwin*): Set extra_gcc_objs. |
| * config/darwin-driver.c: New file. |
| * config/darwin.h (GCC_DRIVER_HOST_INITIALIZATION): New. |
| * config/t-darwin (darwin-driver.o): New rule. |
| |
| 2006-12-12 Geoffrey Keating <geoffk@apple.com> |
| |
| * mips-tdump.c: Replace CROSS_COMPILE with |
| CROSS_DIRECTORY_STRUCTURE. |
| * mips-tfile.c: Likewise. |
| * gcc.c: Likewise. |
| * configure.ac: Likewise. |
| * cppdefault.c: Likewise. |
| * Makefile.in: Likewise. |
| * config/alpha/osf.h: Likewise. |
| * config/i386/cygwin.h: Likewise. |
| * config/i386/beos-elf.h: Likewise. |
| * config/i386/nto.h: Likewise. |
| * config/fr30/fr30.h: Likewise. |
| * config/svr4.h: Likewise. |
| * config/rs6000/aix.h: Likewise. |
| * config/rs6000/sysv4.h: Likewise. |
| * config/pa/pa64-hpux.h: Likewise. |
| * config/pa/pa-hpux10.h: Likewise. |
| * config/pa/pa-hpux11.h: Likewise. |
| * collect2.c: Likewise. |
| * configure: Regenerate. |
| |
| 2006-12-08 Mike Stump <mrs@apple.com> |
| |
| * config/rs6000/t-darwin (TARGET_LIBGCC2_CFLAGS): Build |
| libgcc with -mmacosx-version-min=10.4. |
| * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Default to |
| G4 for 10.5+ unless doing kernel builds. |
| |
| 2005-09-19 Steven Bosscher <steven@gcc.gnu.org> |
| |
| Radar 4842086 |
| PR rtl-optimization/23943 |
| * cse.c (find_best_addr): Never propagate an EXPR_LIST rtx. |
| |
| 2006-12-04 Eric Christopher <echristo@apple.com> |
| |
| Radar 4521370 |
| * config/darwin.h (DARWIN_EXTRA_SPECS): New. |
| (STARTFILE_SPEC): Use. |
| (DARWIN_DYLIB1_SPEC): New. |
| (DARWIN_CRT1_SPEC): New. |
| * config/i386/darwin64.h (SUBTARGET_EXTRA_SPECS): Use |
| DARWIN_EXTRA_SPECS. |
| * config/i386/darwin.h: Ditto. |
| * config/rs6000/darwin.h: Ditto. |
| |
| 2005-04-11 Mark Mitchell <mark@codesourcery.com> |
| |
| * target-def.h (TARGET_CXX_EXPORT_CLASS_DATA): Remove. |
| (TARGET_CXX_DETERMINE_CLASS_VISIBILITY): New macro. |
| (TARGET_CXX_CLASS_DATA_ALWAYS_COMDAT): Likewise. |
| (TARGET_CXX): Adjust accordingly. |
| * target.h (struct gcc_target): Remove epxort_class_data. Add |
| determine_class_data_visibility and class_data_always_comdat. |
| * doc/tm.texi (TARGET_CXX_EXPORT_CLASS_DATA): Remove. |
| (TARGET_CXX_DETERMINE_CLASS_DATA_VISIBILITY): Document. |
| (TARGET_CXX_CLASS_DATA_ALWAYS_COMDAT): Likewise. |
| * config/arm/arm.c (arm_cxx_export_class_data): Remove. |
| (arm_cxx_determine_class_data_visibility): New. |
| (arm_cxx_class_data_always_comdat): Likewise. |
| (TARGET_CXX_EXPORT_CLASS_DATA): Remove. |
| (TARGET_CXX_DETERMINE_CLASS_DATA_VISIBILITY): Define. |
| (TARGET_CXX_CLASS_DATA_ALWAYS_COMDAT): Likewise. |
| * config/arm/arm.h (TARGET_ARM_DYNAMIC_VAGUE_LINKAGE_P): Define. |
| * config/arm/symbian.h (TARGET_ARM_DYNAMIC_VAGUE_LINKAGE_P): |
| Define. |
| |
| 2006-11-09 Eric Christopher <echristo@apple.com> |
| |
| PR bootstrap/26892 |
| PR bootstrap/27814 |
| PR other/28994 |
| * configure: Regenerate. |
| * configure.ac: Match powerpc*-*-darwin* for powerpc darwin checks. |
| * config.gcc (powerpc64-*-darwin*): New target. |
| * config.host: Ditto. |
| * config/rs6000/darwin64.h: New file. |
| * config/rs6000/x-darwin64: Ditto. |
| * config/rs6000/host-ppc64-darwin.c: Ditto. |
| |
| 2006-11-06 Eric Christopher <echristo@apple.com> |
| |
| * config.gcc: Add x86_64-darwin host support. |
| * config.host: Ditto. |
| * config/i386/darwin64.h: New file. |
| * config/i386/t-darwin64: Ditto. |
| |
| 2006-10-27 Mike Stump <mrs@apple.com> |
| |
| * config/darwin-c.c (darwin_cpp_builtins): Move __STATIC__ and |
| __DYNAMIC__ from here back to ... |
| * config/darwin.h (CPP_SPEC): ... here. |
| |
| 2006-10-16 Mike Stump <mrs@apple.com> |
| |
| * doc/invoke.texi (Darwin Options): Document -mkernel. |
| * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Add |
| -mkernel support. |
| (C_COMMON_OVERRIDE_OPTIONS): Add -mkernel support. Add |
| SUBTARGET_C_COMMON_OVERRIDE_OPTIONS callout. |
| (CC1_SPEC): Don't turn on -fPIC when -mkernel is given. |
| (OS_MISSING_ALTIVEC): Add. |
| * config/i386/i386.c (override_options): Add |
| SUBSUBTARGET_OVERRIDE_OPTIONS callout. |
| * config/i386/darwin.h (CC1_SPEC): Don't turn on -fPIC when |
| -mkernel, -static or -mdynamic-no-pic is given. |
| (C_COMMON_OVERRIDE_OPTIONS): Add. |
| * config/darwin.opt (fapple-kext): Add. |
| (mkernel): Add. |
| * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add |
| -fapple-kext, -findirect-virtual-calls, -fterminated-vtables and |
| -mkernel support. |
| (SUBSUBTARGET_OVERRIDE_OPTIONS): Add. |
| (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): Add. |
| (CPP_SPEC): Move defines for __DYNAMIC__ and __STATIC__ from here... |
| (SUBTARGET_ATTRIBUTE_TABLE): Add apple_kext_compatibility. |
| (TARGET_CXX_CDTOR_RETURNS_THIS): Add. |
| (flag_mkernel): Add. |
| (flag_apple_kext): Add. |
| (TARGET_KEXTABI): Add. |
| * config/darwin.c (darwin_handle_kext_attribute): Add. |
| (DARWIN_VTABLE_P): Add. |
| (darwin_binds_local_p): Add partial support for rebinding vtables |
| in kexts. |
| (darwin_kextabi_p): Add. |
| (darwin_override_options): Add. |
| * config/darwin-protos.h (darwin_handle_kext_attribute): Add. |
| (darwin_kextabi_p): Add. |
| (darwin_override_options): Add. |
| * config/darwin-c.c (darwin_cpp_builtins): ... move defines for |
| __DYNAMIC__ and __STATIC__ here. |
| |
| 2006-09-11 Geoffrey Keating <geoffk@apple.com> |
| |
| * config/darwin.h (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG. |
| |
| 2006-09-01 Geoffrey Keating <geoffk@apple.com> |
| |
| * config/darwin.h (LINK_COMMAND_SPEC): Don't do weird things with -@. |
| Call dsymutil when compiling and linking one or more source files |
| in one step. |
| |
| 2006-09-20 Eric Christopher <echristo@apple.com> |
| |
| Radar 4632262 |
| * config/i386/i386.c (x86_fisttp): Remove. |
| * config/i386/i386.h (x86_fisttp): Ditto. |
| (TARGET_FISTTP): Ditto. |
| |
| 2005-06-16 Joseph S. Myers <joseph@codesourcery.com> |
| |
| * Makefile.in (cc1-checksum.c): Use |
| build/genchecksum$(build_exeext), not build/genchecksum$(exeext). |
| |
| 2006-08-16 Mike Stump <mrs@apple.com> |
| |
| * doc/invoke.texi (-Wno-deprecated-declarations): Fixup use of pxref. |
| * doc/cppopts.texi (-MD): Likewise. |
| |
| 2005-10-31 Jan Hubicka <jh@suse.cz> |
| |
| Radar 4651177 |
| PR target/20928 |
| * i386.c (legitimize_pic_address): Deal with large immediates. |
| |
| 2006-07-20 Eric Christopher <echristo@apple.com> |
| |
| PR target/26877 |
| Radar 4639953 |
| * config/i386/i386.h (OPTION_DEFAULT_SPECS): Reorder. |
| |
| 2006-07-05 Mike Stump <mrs@apple.com> |
| |
| * doc/invoke.texi (Invoking G++): Clarify prose for g++. |
| |
| 2006-06-02 Geoffrey Keating <geoffk@apple.com> |
| |
| Radar 4508814 |
| * config/rs6000/host-darwin.c (sigaltstack): Protect prototype with |
| HAVE_DECL_SIGALTSTACK. |
| (MC_FLD): New. |
| (segv_handler): Use MC_FLD. |
| * configure.ac: Check for a sigaltstack declaration. |
| Compute HAS_MCONTEXT_T_UNDERSCORES on Darwin. |
| * configure: Regenerate. |
| * config.in: Regenerate. |
| |
| 2005-04-20 Michael Pogue <michael.pogue@sun.com> |
| Joseph S. Myers <joseph@codesourcery.com> |
| |
| Radar 2883585 |
| * c.opt (Wint-to-pointer-cast, Wpointer-to-int-cast): New options. |
| * c-typeck.c (build_c_cast): Check these options. |
| * doc/invoke.texi: Document these options. |
| |
| 2006-05-16 Geoffrey Keating <geoffk@apple.com> |
| |
| Radar 4550526 |
| * c-decl.c (grokdeclarator): Don't set DECL_EXTERNAL on |
| inline static functions in c99 mode. |
| |
| 2006-05-09 Geoffrey Keating <geoffk@apple.com> |
| |
| Radar 4134307 |
| PR 16622 |
| * doc/extend.texi (Inline): Update. |
| * c-tree.h (struct language_function): Remove field 'extern_inline'. |
| * c-decl.c (current_extern_inline): Delete. |
| (pop_scope): Adjust test for an undefined nested function. |
| Add warning about undeclared inline function. |
| (diagnose_mismatched_decls): Update comments. Disallow overriding |
| of inline functions in a translation unit in C99. Allow inline |
| declarations in C99 at any time. |
| (merge_decls): Boolize variables. Handle C99 'extern inline' |
| semantics. |
| (grokdeclarator): Set DECL_EXTERNAL here for functions. Handle |
| C99 inline semantics. |
| (start_function): Don't clear current_extern_inline. Don't set |
| DECL_EXTERNAL. |
| (c_push_function_context): Don't push current_extern_inline. |
| (c_pop_function_context): Don't restore current_extern_inline. |
| |
| 2006-05-04 Geoffrey Keating <geoffk@apple.com> |
| |
| Radar 4134307 |
| PR 11377 |
| * c-typeck.c (build_external_ref): Warn about static variables |
| used in extern inline functions. |
| * c-decl.c (start_decl): Warn about static variables declared |
| in extern inline functions. |
| |
| 2006-05-18 Mike Stump <mrs@apple.com> |
| |
| Radar 4336222 |
| Fix up vla, vm and [*] sematics. |
| |
| PR c/18740 |
| PR c/7948 |
| PR c/25802 |
| PR c/27673 |
| * c-tree.h (struct c_arg_info): Add had_vla_unspec. |
| (c_vla_unspec_p): Add. |
| (c_vla_type_p): Add. |
| * c-decl.c (struct c_scope): Add had_vla_unspec. |
| (build_array_declarator): Add support for [*]. |
| (grokdeclarator): Likewise. |
| (grokparms): Likewise. |
| (get_parm_info): Likewise. |
| * c-objc-common.c (c_vla_unspec_p): Likewise. |
| * c-objc-common.h (LANG_HOOKS_TREE_INLINING_VAR_MOD_TYPE_P): Likewise. |
| * c-parser.c (c_parser_typeof_specifier): Evaluate arguments to |
| typeof when argument is a variably modified type not inside sizeof or alignof. |
| (c_parser_direct_declarator_inner): Propagate errors. |
| (c_parser_sizeof_expression): Add support for [*]. |
| (c_parser_parms_declarator): Initialize had_vla_unspec. |
| (c_parser_parms_list_declarator): Likewise. |
| * c-typeck.c (c_vla_type_p): Add. |
| (composite_type): Add support for vla compositing. |
| (comptypes_internal): Add support for vla compatibility. |
| (c_expr_sizeof_expr): Evaluate vla arguments. |
| * tree.c (variably_modified_type_p): Update comment for [*]. |
| |
| 2005-12-01 Geoffrey Keating <geoffk@apple.com> |
| |
| Radar 4096183 |
| * config/t-slibgcc-darwin (SHLIB_LINK): Use -single_module rather |
| than -flat_namespace. |
| |
| 2006-10-10 Mark Mitchell <mark@codesourcery.com> |
| |
| Radar 4484060 |
| PR c++/24302 |
| * toplev.c (check_global_declarations): Check anonymous |
| decl name. |
| |
| 2006-06-11 Eric Christopher <echristo@apple.com> |
| |
| Radar 4581948 |
| PR middle-end/27948 |
| * stor-layout.c (place_field): Remove check for |
| remaining_in_alignment when aligning at the end of a run. |
| |
| 2006-05-08 Eric Christopher <echristo@apple.com> |
| |
| Radar 4537881 |
| * unwind-dw2-fde-darwin.c (examine_objects): Only check data |
| section for ppc. |
| |
| 2006-04-25 Eric Christopher <echristo@apple.com> |
| |
| Radar 4529978 |
| * target-def.h (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Bracket |
| with #ifndef/#endif. |
| * config/darwin-c.c (darwin_ms_struct): New. |
| (darwin_pragma_ms_struct): Ditto. |
| (darwin_set_default_type_attributes): Ditto. |
| * config/darwin-protos.h (darwin_pragma_ms_struct): Declare. |
| * config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS): |
| Register ms_struct pragma. |
| * config/i386/darwin.h (REGISTER_TARGET_PRAGMAS): Declare. |
| (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Ditto. |
| * config/rs6000/rs6000.c (rs6000_set_default_type_attributes): Call |
| darwin_set_default_type_attributes if TARGET_MACHO. |
| |
| 2006-04-25 Geoffrey Keating <geoffk@apple.com> |
| |
| Radar 4498201 |
| * dwarf2out.c (size_of_locs): Don't fill dw_loc_addr if there |
| are no branches. |
| |
| Radar 4498201 |
| * dwarf2asm.c (dw2_asm_output_data): Don't generate RTL just |
| to print an integer. |
| |
| 2006-04-24 Geoffrey Keating <geoffk@apple.com> |
| |
| Radar 4498201 |
| * dwarf2out.c (verify_marks_clear): New. |
| (prune_unused_types): Call verify_marks_clear initially, not |
| prune_unmark_dies. |
| |
| 2006-04-21 Geoffrey Keating <geoffk@apple.com> |
| |
| Radar 4498201 |
| * dwarf2out.c (struct die_struct): Document that die_sib makes |
| a circular linked list. |
| (FOR_EACH_CHILD): New. |
| (reverse_die_lists): Delete. |
| (reverse_all_dies): Delete. |
| (add_dwarf_attr): Correct documentation. |
| (remove_child_with_prev): New. |
| (remove_child_TAG): Update for change to die_struct, use |
| remove_child_with_prev. |
| (add_child_die): Update for change to die_struct. |
| (splice_child_die): Use remove_child_with_prev and add_child_die. |
| (print_die): Use FOR_EACH_CHILD. |
| (die_checksum): Likewise. |
| (assign_symbol_names): Likewise. |
| (output_location_lists): Likewise. |
| (build_abbrev_table): Likewise. |
| (calc_die_sizes): Likewise. |
| (mark_dies): Likewise. |
| (unmark_dies): Likewise. |
| (unmark_all_dies): Likewise. |
| (output_die): Likewise. |
| (prune_unused_types_mark): Likewise. |
| (prune_unused_types_walk): Likewise. |
| (same_die_p): Update for change to die_struct. |
| (break_out_includes): Likewise. |
| (prune_unused_types_prune): Likewise. |
| (add_sibling_attributes): Use FOR_EACH_CHILD, simplify logic. |
| (prune_unmark_dies): Use FOR_EACH_CHILD, don't clear die_mark if |
| it's already clear. |
| (dwarf2out_finish): Don't call reverse_all_dies. |
| |
| 2006-04-04 Eric Christopher <echristo@apple.com> |
| |
| Radar 4525014 |
| * config/rs6000/rs6000.c (TARGET_MS_BITFIELD_LAYOUT_P): Define. |
| (TARGET_USE_MS_BITFIELD_LAYOUT): Ditto. |
| (rs6000_handle_struct_attribute): New. |
| (rs6000_ms_bitfield_layout_p): Ditto. |
| |
| 2006-04-17 Geoffrey Keating <geoffk@apple.com> |
| |
| Radar 4498201 |
| * dwarf2out.c (free_AT): Delete. |
| (remove_AT): Update string ref counts. |
| (remove_child_TAG): Don't call free_die. |
| (free_die): Delete. |
| (break_out_includes): Don't call free_die on DW_TAG_GNU_BINCL |
| or DW_TAG_GNU_EINCL. |
| (prune_unused_types_walk_attribs): Reset string refcounts. |
| (prune_unused_types_update_strings): New. |
| (prune_unused_types_prune): Don't make unnecessary stores. Don't |
| call free_die. Do call prune_unused_types_update_strings. |
| (prune_unused_types): Empty debug_str_hash. |
| |
| 2006-04-10 Geoffrey Keating <geoffk@apple.com> |
| |
| Radar 4498201 |
| * dwarf2out.c (struct dw_attr_struct): Remove dw_attr_next. |
| Declare VECs of this type. |
| (struct die_struct): Make field die_attr a VEC of dw_attr_struct. |
| (remove_children): Delete. |
| (add_dwarf_attr): Use VEC routines. |
| (add_AT_flag): Update for changes to add_dwarf_attr. |
| (add_AT_int): Likewise. |
| (add_AT_unsigned): Likewise. |
| (add_AT_long_long): Likewise. |
| (add_AT_vec): Likewise. |
| (add_AT_string): Likewise. |
| (add_AT_die_ref): Likewise. |
| (add_AT_fde_ref): Likewise. |
| (add_AT_loc): Likewise. |
| (add_AT_loc_list): Likewise. |
| (add_AT_addr): Likewise. |
| (add_AT_lbl_id): Likewise. |
| (add_AT_lineptr): Likewise. |
| (add_AT_macptr): Likewise. |
| (add_AT_offset): Likewise. |
| (add_AT_range_list): Likewise. |
| (get_AT): Use VEC_iterate. |
| (remove_AT): Use VEC_ordered_remove. |
| (free_die): Fold remove_children into here; have it use VEC_iterate. |
| (print_die): Use VEC_iterate on attrs. |
| (reverse_die_lists): Don't reverse attr lists. |
| (die_checksum): Use VEC_iterate on attrs. |
| (same_die_p): Likewise. |
| (output_location_lists): Likewise. |
| (build_abbrev_table): Likewise. |
| (size_of_die): Likewise. |
| (unmark_all_dies): Likewise. |
| (output_abbrev_section): Likewise. |
| (output_die): Likewise. |
| (prune_unused_types_walk_attribs): Likewise. |
| |
| 2006-04-04 Geoffrey Keating <geoffk@apple.com> |
| |
| Radar 4502209 |
| * config/darwin-crt3.c (atexit): Pass &__dso_handle rather than |
| NULL for dso parameter to atexit_common. |
| |
| Radar 4383613 |
| * doc/extend.texi (Function Attributes): Rewrite visibility |
| attribute documentation. |
| * doc/invoke.texi (C++ Dialect Options): Rewrite |
| -fvisibility-inlines-hidden documentation to describe something |
| entirely different, although in practise compatible. |
| (Code Gen Options): Warn about system headers in -fvisibility= |
| documentation. |
| |
| 2006-03-22 Eric Christopher <echristo@apple.com> |
| |
| Radar 4419200 |
| 2006-01-27 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/emmintrin.h (_mm_cvtsd_f64): Add missing Intel |
| intrinsic. |
| (_mm_cvtsi128_si64): Likewise. |
| (_mm_cvtsd_si64): Likewise. |
| (_mm_cvttsd_si64): Likewise. |
| (_mm_cvtsi64_sd): Likewise. |
| (_mm_cvtsi64_si128): Likewise. |
| * config/i386/mmintrin.h (_m_from_int64): Likewise. |
| (_mm_cvtsi64_m64): Likewise. |
| (_m_to_int64): Likewise. |
| (_mm_cvtm64_si64): Likewise. |
| * config/i386/xmmintrin.h (_mm_cvtss_si64): Likewise. |
| (_mm_cvttss_si64): Likewise. |
| (_mm_cvtsi64_ss): Likewise. |
| (_mm_cvtss_f32): Likewise. |
| |
| 2006-03-30 Geoffrey Keating <geoffk@apple.com> |
| |
| Radar 4495520 |
| * config/darwin.h (LINK_COMMAND_SPEC): Don't try to protect %S with |
| !Zdynamiclib. |
| |
| 2006-03-24 Geoffrey Keating <geoffk@apple.com> |
| |
| Radar 4485597 |
| * dwarf2out.c (is_c_family): Understand new DWARF3 language types. |
| (is_cxx): Likewise. |
| (gen_compile_unit_die): Use new language types for Objective-C and |
| Objective-C++. |
| (dwarf2out_decl): Use is_cxx rather than testing explicitly against |
| DW_LANG_C_plus_plus. |
| |
| 2006-03-01 Jakub Jelinek <jakub@redhat.com> |
| |
| * dwarf2.h (DW_TAG_condition, DW_TAG_shared_type): New constants |
| from DWARF 3. |
| (DW_AT_description, DW_AT_binary_scale, DW_AT_decimal_scale, |
| DW_AT_small, DW_AT_decimal_sign, DW_AT_digit_count, |
| DW_AT_picture_string, DW_AT_mutable, DW_AT_threads_scaled, |
| DW_AT_explicit, DW_AT_object_pointer, DW_AT_endianity, |
| DW_AT_elemental, DW_AT_pure, DW_AT_recursive): New. |
| (DW_OP_form_tls_address, DW_OP_call_frame_cfa, DW_OP_bit_piece): New. |
| (DW_ATE_packed_decimal, DW_ATE_numeric_string, DW_ATE_edited, |
| DW_ATE_signed_fixed, DW_ATE_unsigned_fixed): New. |
| (DW_DS_unsigned, DW_DS_leading_overpunch, DW_DS_trailing_overpunch, |
| DW_DS_leading_separate, DW_DS_trailing_separate): New. |
| (DW_END_default, DW_END_big, DW_END_little): New. |
| (DW_END_lo_user, DW_END_hi_user): Define. |
| (DW_LNE_lo_user, DW_LNE_hi_user): Define. |
| (DW_CFA_val_offset, DW_CFA_val_offset_sf, DW_CFA_val_expression): New. |
| (DW_LANG_PLI, DW_LANG_ObjC, DW_LANG_ObjC_plus_plus, DW_LANG_UPC, |
| DW_LANG_D): New. |
| |
| 2006-03-15 Geoffrey Keating <geoffk@apple.com> |
| |
| Radar 3992198 |
| * config.gcc (*-*-darwin*): Don't build crt2.o for all Darwin ports. |
| Do switch on default_use_cxa_atexit. |
| (powerpc*-*-darwin*): Build crt2.o on powerpc. |
| * config/darwin-crt3.o: New. |
| * config/darwin.h (LINK_SPEC): If -shared-libgcc, make linker default |
| to 10.3. Pass '-multiply_defined suppress' if crt3.o is in use. |
| (STARTFILE_SPEC): Add crt3.o when -shared-libgcc and appropriate |
| OS version. |
| * config/rs6000/t-darwin: Move crt2.o building to here. |
| * config/rs6000/darwin.h (C_COMMON_OVERRIDE_OPTIONS): Update |
| Mac OS version for using __cxa_get_exception_ptr. Don't test versions |
| of __cxa_atexit. |
| |
| 2006-03-07 Geoffrey Keating <geoffk@apple.com> |
| |
| Radar 4466819 |
| * dwarf2out.c (DWARF2_FRAME_REG_OUT): Move up in file. |
| (expand_builtin_dwarf_sp_column): Call DWARF2_FRAME_REG_OUT. |
| (expand_builtin_init_dwarf_reg_sizes): Likewise. |
| |
| Radar 4446590 |
| * config/i386/i386.c (ix86_delegitimize_address): Handle Darwin |
| addresses with offsets; reorganize. |
| |
| 2006-03-02 Eric Christopher <echristo@apple.com> |
| |
| * config/i386/i386.c (machopic_output_stub): Add indirection to |
| jump. |
| |
| 2006-02-24 Geoffrey Keating <geoffk@apple.com> |
| |
| Radar 4086777 |
| * doc/tm.texi (Run-time Target): Document C_COMMON_OVERRIDE_OPTIONS. |
| * doc/invoke.texi (C++ Dialect Options): Document |
| -fno-use-cxa-get-exception-ptr. |
| * configure.ac: Define DEFAULT_USE_CXA_ATEXIT to 2 not 1. |
| * configure: Regenerate. |
| * c.opt (fuse-cxa-get-exception-ptr): New. |
| * c-opts.c (c_common_handle_option): Handle |
| OPT_fuse_cxa_get_exception_ptr. |
| * c-common.c (flag_use_cxa_atexit): Update documentation. |
| (flag_use_cxa_get_exception_ptr): New. |
| * c-common.h (flag_use_cxa_get_exception_ptr): New. |
| * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Improve |
| documentation. |
| (C_COMMON_OVERRIDE_OPTIONS): New. |
| |
| 2006-02-21 Geoffrey Keating <geoffk@apple.com> |
| |
| Radar 4439051 |
| * config/i386/darwin.h (DWARF2_FRAME_REG_OUT): New. |
| |
| 2006-02-13 Geoffrey Keating <geoffk@apple.com> |
| |
| Radar 4433453 |
| * dwarf2out.c (base_type_die): Don't add AT_name here. |
| (subrange_type_die): Don't add AT_name here. |
| (modified_type_die): Rearrange code flow. Do add AT_name here. |
| |
| 2006-02-10 Geoffrey Keating <geoffk@apple.com> |
| |
| Radar 4439051 |
| * config/i386/darwin.h (DBX_REGISTER_NUMBER): Define. |
| |
| 2006-02-07 Geoffrey Keating <geoffk@apple.com> |
| |
| Radar 4430041 |
| * config/i386/i386.c (ix86_delegitimize_address): Support Darwin |
| PIC addresses. |
| |
| 2006-01-06 Eric Christopher <echristo@apple.com> |
| |
| * doc/tm.texi (TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL): Document. |
| (TARGET_UNWIND_EMIT): Fix spelling. |
| * target.h (gcc_target): Add except_table_label. |
| * except.c (output_function_exception_table): Use. |
| * varasm.c (default_emit_except_table_label): New. |
| * target-def.h (TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL): New default |
| define. |
| (asm_out): Add here. |
| * output.h (default_emit_except_table_label): Prototype. |
| * config/darwin-protos.h (darwin_emit_except_table_label): Ditto. |
| * config/darwin.c (darwin_emit_except_table_label): Define. |
| * config/darwin.h (TARGET_ASM_EMIT_EXCEPT_TABLE): Ditto. |
| |
| 2006-01-02 Geoffrey Keating <geoffk@apple.com> |
| |
| * dwarf2out.c (have_switched_text_section): Delete. |
| (have_multiple_function_sections): New. |
| (have_location_lists): Make 'bool'. |
| (add_AT_loc_list): Use 'true' not '1'. |
| (dwarf2out_switch_text_section): Set have_multiple_function_sections. |
| (output_loc_list): Use have_multiple_function_sections. |
| (output_ranges): Likewise. |
| (dwarf2out_begin_function): Set have_multiple_function_sections if |
| necessary. |
| (dwarf2out_source_line): Don't fake separate_line_info_table_in_use. |
| Check function_section rather than DECL_SECTION_NAME. |
| (dwarf2out_finish): Use have_multiple_function_sections. |
| Don't clear have_location_lists. |
| |
| 2005-12-06 Geoffrey Keating <geoffk@apple.com> |
| |
| * config/darwin.h (TARGET_CXX_CLASS_DATA_ALWAYS_COMDAT): New. |
| |
| 2005-12-05 Geoffrey Keating <geoffk@apple.com> |
| |
| * config/darwin.c (machopic_select_section): It's not defined |
| as weak if it's only marked as weak_import. |
| |
| * config/rs6000/host-darwin.c (segv_handler): Unblock SEGV so |
| we don't go into an infinite loop. |
| |
| 2005-11-15 Mike Stump <mrs@apple.com> |
| |
| * c-decl.c (lookup_name_two): Add. |
| * c-tree.h (lookup_name_two): Likewise. |
| * c-common.c (handle_cleanup_attribute): Use lookup_name_two instead. |
| * config/darwin-c.c (darwin_pragma_unused): Likewise. |
| |
| 2005-11-14 Mike Stump <mrs@apple.com> |
| |
| * config/i386/i386.c (override_options): -masm=intel isn't |
| supported on darwin. |
| * doc/invoke.texi (i386 and x86-64 Options): Likewise. |
| |
| 2005-10-06 Geoffrey Keating <geoffk@apple.com> |
| |
| * config/t-slibgcc-darwin (SHLIB_MAPFILES): Use '+='. |
| |
| 2005-10-04 Geoffrey Keating <geoffk@apple.com> |
| |
| * doc/invoke.texi (Option Summary): Correct spelling |
| of -mmacosx-version-min. |
| |
| 2005-09-30 Geoffrey Keating <geoffk@apple.com> |
| |
| * config/t-slibgcc-darwin (libgcc_s_%.dylib): Remove old symlinks |
| before creating new ones. Do symlinks before creating the actual |
| targets. |
| |
| * config/t-slibgcc-darwin (libgcc_s_%.dylib): Use --print-multi-lib |
| to work out which multilibs are actually being built. |
| |
| 2005-09-28 Geoffrey Keating <geoffk@apple.com> |
| |
| * Makefile.in: Export LIPO_FOR_TARGET, STRIP_FOR_TARGET. |
| (stage1-start): Delete old libgcc and libunwind before moving |
| anything into the stage directory. |
| (stage2-start): Likewise. |
| (stage3-start): Likewise. |
| (stage4-start): Likewise. |
| (stageprofile-start): Likewise. |
| (stagefeedback-start): Likewise. |
| * config.gcc (*-*-darwin*): Automatically use CPU-specific darwin.h |
| header in tm_file and CPU-specific t-darwin in tmake_file. |
| (i[34567]86-*-darwin*): Don't change tm_file. |
| (powerpc-*-darwin*): Don't change tm_file or tmake_file. |
| * config/darwin.h (REAL_LIBGCC_SPEC): Rewrite to use proper libgcc |
| shared library stub for target OS version. |
| * config/t-slibgcc-darwin (SHLIB_SOLINK): Delete. |
| (SHLIB_LINK): Don't make SHLIB_SOLINK. |
| (SHLIB_INSTALL): Don't install SHLIB_SOLINK. |
| (libgcc_s.%.dylib): New. |
| (LIBGCC): Define. |
| (install-darwin-libgcc-stubs): New. |
| (INSTALL_LIBGCC): New append. |
| * config/i386/darwin-libgcc.10.4.ver: New. |
| * config/i386/darwin-libgcc.10.5.ver: New. |
| * config/i386/t-darwin: New. |
| * config/rs6000/darwin-libgcc.10.4.ver: New. |
| * config/rs6000/darwin-libgcc.10.5.ver: New. |
| * config/rs6000/darwin.h (REAL_LIBGCC_SPEC): Delete. |
| * config/rs6000/t-darwin (SHLIB_VERPFX): Define. |
| |
| 2005-09-01 Richard Henderson <rth@redhat.com> |
| |
| PR 23668 |
| Radar 4232562 |
| * config/i386/i386.c (ix86_expand_vector_init_one_var): Restore |
| conversion to CONST_VECTOR. |
| |
| 2005-08-29 Geoffrey Keating <geoffk@apple.com> |
| |
| Radar 4232562 |
| * config/i386/i386.c (ix86_expand_vector_init_one_var): Don't modify |
| parts of 'vals'. |
| |
| 2005-09-06 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/23098 |
| Radar 4168635 |
| |
| * cse.c (fold_rtx_mem): Call delegitimize_address target hook. |
| * simplify-rtx.c (constant_pool_reference_p): New function. |
| * rtl.h (constant_pool_reference_p): New prototype. |
| * config/i386/i386.md (pushf split, mov[sdx]f split): Use |
| constant_pool_reference_p in condition and |
| avoid_constant_pool_reference in preparation statements. |
| |
| 2005-08-31 Geoffrey Keating <geoffk@apple.com> |
| |
| * doc/install.texi (Specific): Update cctools version required |
| for full functionality. |
| * config/darwin.h (LINK_SPEC): Pass -mmacosx-version-min to the |
| linkers as -macosx_version_min. |
| |
| 2005-07-07 Geoffrey Keating <geoffk@apple.com> |
| |
| * config.gcc (*-*-darwin*): Only one target-specific header file |
| for generic darwin. |
| (powerpc-*-darwin*): Add version-specific header files. |
| * configure.in (gcc_AC_CHECK_DECLS): Add strverscmp. |
| * config.in: Regenerate. |
| * configure: Regenerate. |
| * gcc.c: Include xregex.h. |
| (version_compare_spec_function): New. |
| (spec_function): Add version-compare. |
| (replace_outfile_spec_function): Reformat comment. |
| (compare_version_strings): New. |
| * config/darwin-c.c (version_as_macro): New. |
| (builtin_define): New. |
| (darwin_cpp_builtins): New. |
| * config/darwin-protos.h (darwin_cpp_builtins): New. |
| * config/darwin.h (CPP_SPEC): Don't define APPLE_CC here. |
| (LIB_SPEC): Make unconditional, update comment. |
| (TARGET_C99_FUNCTIONS): Define. |
| * config/darwin.opt: Sort. |
| (mmacosx-version-min=): New. |
| * config/darwin7.h: Delete. |
| * config/darwin8.h: Delete. |
| * config/i386/darwin.h (): Call darwin_cpp_builtins. |
| * config/rs6000/darwin.h (): Call darwin_cpp_builtins. |
| (TARGET_C99_FUNCTIONS): Define. |
| * config/rs6000/darwin7.h: New. |
| * config/rs6000/darwin8.h: New. |
| * doc/invoke.texi (Darwin Options): Add -mmacosx-version-min= |
| (-mmacosx-version-min): Document. |
| |
| 2005-08-31 Fariborz Jahanian <fjahanian@apple.com> |
| |
| * expr.c (expand_expr_real_1): Compare size of address |
| mode to target's address mode size in deciding expansion of |
| the constant address. |
| |
| 2005-07-19 Richard Henderson <rth@redhat.com> |
| |
| PR tree-opt/22278 |
| * gimplify.c (gimplify_expr): Use main variant type for the temp |
| destination for a discarded volatile read. |
| * tree-ssa.c (tree_ssa_useless_type_conversion_1): Don't elide |
| casts between non-void types that change volatility. |
| |
| 2005-07-26 Diego Novillo <dnovillo@redhat.com> |
| |
| PR 22591 |
| * tree-ssa-alias.c (may_alias_p): Remove shortcut that tests |
| whether a pointer of type T * may point to objects of type T *. |
| |
| 2005-07-08 Geoffrey Keating <geoffk@apple.com> |
| |
| * tree-inline.c (expand_call_inline): Prevent 'may reach end' |
| warning in system headers. |
| |
| 2005-06-16 Geoffrey Keating <geoffk@apple.com> |
| |
| * config/t-slibgcc-darwin (SHLIB_SOVERSION): Rename from |
| SHLIB_MINOR. |
| (SHLIB_REVISION): Delete. |
| (SHLIB_VERSTRING): Update to compensate. |
| (SHLIB_SONAME): Just use one '.' in the name. |
| |
| 2005-05-18 Geoffrey Keating <geoffk@apple.com> |
| |
| * dummy-checksum.c: New. |
| * genchecksum.c: New. |
| * c.opt (print_pch_checksum): New flag. |
| * c-pch.c (struct c_pch_validity): Make much shorter. |
| (no_checksum): New. |
| (host_machine): Remove. |
| (target_machine): Remove. |
| (get_ident): Change PCH version number. |
| (pch_init): When -fverbose-asm, print out the compiler fingerprint. |
| Don't put triplets or version string in PCH validity data. |
| Do put the compiler checksum in the validity data. |
| (c_common_valid_pch): Don't check triplets or version string. Do |
| check checksum. |
| (c_common_print_pch_checksum): New. |
| * c-opts.c (c_common_handle_option): Add OPT_print_pch_checksum. |
| Print fingerprint with -v. |
| * c-common.h (c_common_print_pch_checksum): New. |
| (executable_checksum): New. |
| * Makefile.in (STAGEMOVESTUFF): Add cc1*-dummy, *-checksum.c. |
| (cc1-dummy): New rule. |
| (cc1-checksum.c): New rule. |
| (cc1-checksum.o): New rule. |
| (cc1): Add checksum support. |
| (build/genchecksum): New. |
| (build/genchecksum.o): New. |
| (dummy-checksum.o): New. |
| (genobjnames): Add genchecksum.o. |
| (mostlyclean): Remove *-checksum.c. |
| (gnucompare): Add libgcc to list of directories checked. |
| Make comparison problems in libgcc/ and with checksum files only |
| be warnings. |
| * doc/invoke.texi (Precompiled Headers): Remove caution. |
| Document that it must be the exact same binary. Add a few |
| known-safe flags to the list. |
| |
| 2005-06-13 Geoffrey Keating <geoffk@apple.com> |
| |
| * Makefile.in (install-man): Doesn't really depend on installdirs. |
| (various rules for installing manpages): Do depend on installdirs. |
| |
| 2005-06-03 Geoffrey Keating <geoffk@apple.com> |
| |
| * config/darwin.h (LINK_SPEC): Pass -syslibroot to linker |
| when -isysroot passed. |
| |
| 2005-07-07 Release Manager |
| |
| * GCC 4.0.1 released. |
| |
| 2005-07-01 Jeff Law <law@redhat.com> |
| |
| * tree-ssa-dom.c (find_equivalent_equality_comparison): Do not |
| a eliminate type conversion which feeds an equality comparison |
| if the original type or either operand in the comparison is a |
| function pointer. |
| |
| 2005-06-30 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| PR target/22260 |
| * config/sparc/sparc.c (emit_and_preserve): Add 2nd register. |
| Preserve the 2nd register too, if present. |
| (sparc_output_mi_thunk) <PIC case>: Preserve the PIC register too. |
| Adjust call to emit_and_preserve. |
| |
| 2005-06-24 Mark Mitchell <mark@codesourcery.com> |
| |
| PR 22171 |
| * tree-ssa-operands (get_expr_operands): Check s_ann for NULL |
| before use. |
| |
| 2005-06-23 Mark Mitchell <mark@codesourcery.com> |
| |
| Backport: |
| 2005-06-13 Zdenek Dvorak <dvorakz@suse.cz> |
| PR middle-end/21985 |
| * fold-const.c (split_address_to_core_and_offset): Always return |
| the address of the base object. |
| |
| PR 22000 |
| * tree-ssa-operands.c (get_expr_operands): Check the volatility of |
| the FIELD_DECL and set s_ann->has_volatile_ops accordingly. |
| |
| 2005-06-20 Jan Beulich <jbeulich@novell.com> |
| |
| * config/i386/netware-libgcc.def: Update copyright. |
| * config/i386/netware-libgcc.exp (__divdc3, __divsc3, __divxc3, |
| __muldc3, __mulsc3, __mulxc3, __powidf2, __powisf2, __powixf2): Add. |
| * config/i386/netware.c (gen_stdcall_decoration, |
| gen_fastcall_decoration): Merge into ... |
| (gen_stdcall_or_fastcall_decoration): ... this. Adjust to match |
| WinNT's changes. |
| (gen_regparm_prefix): Adjust to match i386_nlm_encode_section_info. |
| (i386_nlm_encode_section_info): Adjust to match WinNT's changes. |
| * config/i386/t-nwld (SHLIB_LINK): Also create libgcc.imp alias of |
| libgcc_s.imp. Use 'expr' rather than $(()) shell expressions. |
| * gthr-nks.h (__gthread_objc_mutex_allocate): Kill another dubious |
| use of NX_MUTEX_RECURSIVE. |
| |
| 2005-06-17 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/21850 |
| * tree.c (get_unwidened): Stop at NOP_EXPR/CONVERT_EXPR that convert |
| from vector types. |
| |
| 2005-06-14 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/22043 |
| * gimplify.c (gimplify_init_constructor): If num_type_elements < 0 |
| for a constant-sized object, set cleared as well. |
| |
| 2005-06-14 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| PR target/20301 |
| * config/sparc/sol2.h (ASM_GENERATE_INTERNAL_LABEL): Emit |
| unsigned index numbers. |
| |
| 2005-06-08 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| PR tree-optimization/21171 |
| * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Do not |
| record address uses if the reference is volatile. |
| |
| 2005-06-08 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| PR target/21889 |
| * config/sparc/sol2.h (ASM_OUTPUT_DWARF_DTPREL): Undefine. |
| * config/sparc/sol2-gas.h (ASM_OUTPUT_DWARF_DTPREL): Redefine. |
| |
| 2005-06-08 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR tree-opt/19768 |
| * tree-ssa-dse.c: Revert accidental committed patch. |
| |
| 2005-06-07 Richard Henderson <rth@redhat.com> |
| |
| PR rtl-opt/21528 |
| * rtlanal.c (reg_overlap_mentioned_p) <MEM>: Handle 'E' formats. |
| |
| 2005-06-07 Steven Bosscher <stevenb@suse.de> |
| |
| PR tree-optimization/21847 |
| * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): With |
| -fnon-call-exceptions, also mark statements inherently |
| necessary if they may throw. |
| |
| 2005-06-06 Jakub Jelinek <jakub@redhat.com> |
| |
| * intl.h (G_): New macro. |
| * rtl-error.c (error_for_asm, warning_for_asm): Use gmsgid |
| instead of msgid for argument name. |
| * tree-ssa.c (warn_uninit): Likewise. |
| * config/rs6000/rs6000-c.c (SYNTAX_ERROR): Likewise. |
| * config/darwin-c.c (BAD): Likewise. |
| * config/c4x/c4x-c.c (BAD): Likewise. |
| * c-pragma.c (GCC_BAD, GCC_BAD2): Likewise. |
| * c-errors.c (pedwarn_c99, pedwarn_c90): Likewise. |
| * c-common.c (c_parse_error): Likewise. |
| * diagnostic.c (diagnostic_set_info, verbatim, inform, warning, |
| pedwarn, error, sorry, fatal_error, internal_error): Likewise. |
| (fnotice): Use cmsgid instead of msgid for argument name. |
| * gcov.c (fnotice): Likewise. |
| * protoize.c (notice): Likewise. |
| * final.c (output_operand_lossage): Likewise. |
| * gcc.c (fatal, notice): Likewise. |
| (error): Use gmsgid instead of msgid for argument name. |
| * collect2.c (notice, fatal_perror, fatal): Use cmsgid instead |
| of msgid for argument name. |
| (error): Use gmsgid instead of msgid for argument name. |
| * c-decl.c (locate_old_decl, implicit_decl_warning): Use G_() |
| instead of N_(). |
| * c-typeck.c (readonly_error, convert_for_assignment): Likewise. |
| * tree-inline.c (inline_forbidden_p_1): Likewise. |
| * ABOUT-GCC-NLS: Require gettext 0.14.5 or later. Mention the new |
| conventions for marking translations. |
| * doc/install.texi: Mention gettext 0.14.5 or later requirement. |
| |
| 2005-06-06 Sebastian Pop <pop@cri.ensmp.fr> |
| |
| PR tree-optimization/20742 |
| * params.def (PARAM_SCEV_MAX_EXPR_SIZE): New parameter with |
| default value 20. |
| * tree-chrec.c: Depend on params.h. Replace build with buildN, |
| and fold build with fold_buildN. |
| (chrec_fold_plus_1): Fail with a chrec_don_know when the size of |
| the expression exceeds PARAM_SCEV_MAX_EXPR_SIZE. |
| (tree_contains_chrecs): Compute an estimation of the size of the |
| given expression. |
| * tree-chrec.h (tree_contains_chrecs): Modify its declaration. |
| (tree_does_not_contain_chrecs): Update the use of tree_contains_chrecs. |
| * tree-scalar-evolution.c (simple_iv): Ditto. |
| * doc/invoke.texi (scev-max-expr-size): Documented. |
| |
| 2005-06-04 Richard Henderson <rth@redhat.com> |
| |
| PR target/21888 |
| * config/alpha/alpha.c (alpha_align_insns): Don't insert nops |
| until we've passed initial ldgp. |
| |
| 2005-06-04 David Edelsohn <edelsohn@gnu.org> |
| |
| * config/rs6000/aix52.h (ASM_CPU_SPEC): Add power5. |
| |
| 2005-06-04 Joseph S. Myers <joseph@codesourcery.com> |
| |
| PR c/21873 |
| * c-typeck.c (push_init_level): Don't pop levels without braces if |
| implicit == 1. |
| |
| 2005-06-03 Joseph S. Myers <joseph@codesourcery.com> |
| |
| PR c/21879 |
| * c-decl.c (start_function): Restore label_context_stack_se and |
| label_context_stack_vm if returning with an error. |
| |
| 2005-06-03 Gabriel Dos Reis <gdr@integrable-solutions.net> |
| |
| * configure.ac: Check declaration for asprintf, needed by |
| libiberty.h. |
| * configure: Regenerate. |
| * config.in: Likewise. |
| |
| 2005-06-03 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| * tree.c (build_common_builtin_nodes): Fix the return type on |
| __builtin_memcmp. |
| |
| 2005-06-01 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c/21536 |
| PR c/20760 |
| * gimplify.c (gimplify_decl_expr): Call gimplify_type_sizes |
| on variable sizes types if a decl is a pointer to a VLA. |
| (gimplify_type_sizes): Handle POINTER_TYPE and REFERENCE_TYPE. |
| Call gimplify_type_sizes on aggregate fields. Prevent infinite |
| recursion. |
| |
| * config/i386/xmmintrin.h (_mm_setzero_ps, _mm_set_ss, _mm_set1_ps, |
| _mm_set_ps, _mm_setr_ps): Add __extension__. |
| * config/i386/emmintrin.h (_mm_set_sd, _mm_set1_pd, _mm_set_pd, |
| _mm_setr_pd, _mm_setzero_pd, _mm_set_epi64x, _mm_set_epi64x, |
| _mm_set_epi32, _mm_set_epi16, _mm_set_epi8, _mm_setzero_si128): |
| Likewise. |
| (_mm_clflush): Don't use return in void function. |
| |
| * config/i386/emmintrin.h (_mm_castpd_ps, _mm_castpd_si128, |
| _mm_castps_pd, _mm_castps_si128, _mm_castsi128_ps, _mm_castsi128_pd): |
| Use __inline instead of inline. |
| |
| 2005-06-01 Richard Henderson <rth@redhat.com> |
| |
| * configure.ac (HAVE_AS_JSRDIRECT_RELOCS): New. |
| * config.in, configure: Rebuild. |
| * config/alpha/alpha.c (print_operand): Add 'j'. |
| * alpha.md (divmodsi_internal_er_1): Use it. |
| (divmoddi_internal_er_1): Likewise. |
| |
| 2005-05-31 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| PR tree-optimization/21817 |
| * tree-ssa-loop-im.c (for_each_index): Handle VECTOR_CST. |
| |
| 2005-05-31 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR middle-end/20931 |
| PR middle-end/20946 |
| * fold-const.c (fold_checksum_tree): Copy types also if |
| TYPE_CONTAINS_PLACEHOLDER_INTERNAL is set. |
| Don't call fold_checksum_tree for TREE_LIST's TREE_CHAIN |
| first. |
| Tail recurse TREE_LIST's TREE_CHAIN. |
| |
| 2005-05-31 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| * doc/install.texi (sparc-sun-solaris2*): Update note |
| about Sun bug 4910101. |
| (sparc-sun-solaris2.7): Document bootstrap |
| failure with Sun WorkShop 6 99/08/18 as. |
| |
| 2005-05-27 Richard Guenther <rguenth@gcc.gnu.org> |
| |
| PR middle-end/21595 |
| * builtins.c (fold_builtin_constant_p): Handle |
| &"string cst"[0] as constant. |
| |
| 2005-05-26 Ulrich Weigand <uweigand@de.ibm.com> |
| |
| Backport from mainline: |
| 2005-05-26 Ian Lance Taylor <ian@airs.com> |
| * reload1.c (verify_initial_elim_offsets): Add braces to avoid |
| having a declaration after a statement. |
| |
| 2005-05-26 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/21716 |
| * reg-stack.c (swap_rtx_condition): Don't crash if %ax user was not |
| found in the basic block and last insn in the basic block is not |
| INSN_P. Remove explicit unspec numbers that are no longer valid |
| from comments. |
| |
| 2005-05-26 Ralf Corsepius <ralf.corsepius@rtems.org> |
| |
| * config/rs6000/t-rtems: Remove roe multilib variant. |
| |
| 2005-05-25 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/21492 |
| * cfgcleanup.c (try_crossjump_to_edge): update_forwarder_flag for |
| src2 if src2 has been split. |
| |
| 2005-05-25 Ulrich Weigand <uweigand@de.ibm.com> |
| |
| * reload1.c (verify_initial_elim_offsets): Return boolean status |
| instead of aborting. |
| (reload): Adapt verify_initial_elim_offsets call site. Restart |
| main loop if some initial elimination offsets changed. |
| |
| 2005-05-24 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> |
| |
| * config/m32r/m32r.c (m32r_expand_block_move): Return 0 if |
| nothing was done. |
| * config/m32r/m32r.md (movmemsi): If m32r_expand_block_move did |
| nothing then FAIL. |
| * config/m32r/m32r/m32r-protos.h (m32r_expand_block_move): Update |
| prototype. |
| |
| 2005-05-23 Andreas Krebbel <krebbel1@de.ibm.com> |
| |
| * config/s390/s390.c (s390_optimize_prologue): Don't replace an insn |
| saving less registers than the replacement. |
| |
| 2005-05-23 Jan Beulich <jbeulich@novell.com> |
| |
| * gthr-posix.h (__gthread_recursive_mutex_init_function): Add |
| missing return statement. |
| |
| 2005-05-21 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR middle-end/21331 |
| PR tree-opt/21293 |
| Backport from the mainline: |
| 2005-03-14 Zdenek Dvorak <dvorakz@suse.cz> |
| * 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. |
| |
| 2005-05-19 Richard Henderson <rth@redhat.com> |
| |
| PR target/21390 |
| * config/alpha/alpha.c (alpha_emit_conditional_branch): Move |
| TFmode code swapping ... |
| (alpha_emit_xfloating_compare): ... here. |
| (alpha_emit_setcc): Update to match. |
| (alpha_lookup_xfloating_lib_func): Assert TARGET_HAS_XFLOATING_LIBS. |
| |
| 2005-05-19 Jie Zhang <jie.zhang@analog.com> |
| Bernd Schmidt <bernd.schmidt@analog.com> |
| |
| * config/bfin/bfin.c (branch_dest): Add comment why it's |
| necessary. |
| * config/bfin/bfin.md (attr "length" default): Change the offset of |
| forward conditional branch of length 4 from 4096 to 4092. |
| |
| 2005-05-18 Richard Henderson <rth@redhat.com> |
| |
| PR target/21657 |
| * config/ia64/ia64.c (ia64_expand_tls_address): Remove extra |
| memory indirection in local-dynamic case. |
| |
| 2005-05-18 Richard Henderson <rth@redhat.com> |
| |
| PR target/21632 |
| * config/ia64/ia64.c (ia64_extra_constraint) <'T'>: Use |
| small_addr_symbolic_operand. |
| |
| 2005-05-18 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| * config/sparc/sol2.h (TARGET_DEFAULT): Add back MASK_APP_REGS. |
| * config/sparc/sol2-64.h (TARGET_DEFAULT): Likewise. |
| * config/sparc/sp-elf.h (TARGET_DEFAULT): Delete. |
| * doc/invoke.texi (SPARC options): Document that -mapp-regs is |
| the default on Solaris too. |
| |
| 2005-05-17 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/21610 |
| * c-typeck.c (decl_constant_value_for_broken_optimization): If not |
| returning DECL, call unshare_expr. |
| |
| * varasm.c (struct constant_descriptor_tree): Add hash field. |
| (const_desc_hash): Just return hash field. |
| (const_desc_eq): If hash values are different, return 0 immediately. |
| (output_constant_def): Compute hash field of temporary key, use |
| htab_find_slot_with_hash instead of htab_find_slot. Set hash in |
| newly built constant descriptor. |
| (lookup_constant_def): Compute hash field of temporary key, use |
| htab_find_with_hash instead of htab_find. |
| |
| 2005-05-16 Richard Henderson <rth@redhat.com> |
| |
| PR target/21556 |
| * config/ia64/ia64.md (load_dtpmod, load_ltoff_dtpmod, load_dtprel, |
| load_dtprel64, load_dtprel22, load_dtprel_gd, load_ltoff_dtprel, |
| add_dtprel, add_dtprel14, add_dtprel22, load_tprel, load_tprel64, |
| load_tprel22, load_tprel_ie, load_ltoff_tprel, add_tprel, add_tprel14, |
| add_tprel22): Remove mode from symbolic operand. |
| |
| 2005-05-15 Mark Mitchell <mark@codesourcery.com> |
| |
| Backport: |
| 2005-05-09 Mark Mitchell <mark@codesourcery.com> |
| PR 18655 |
| * dwarf2out.c (output_call_frame_info): Use DWARF2_FRAME_REG_OUT |
| before outputting DWARF_FRAME_RETURN_COLUMN. |
| |
| 2005-05-15 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/21551 |
| * config/ia64/ia64.c (ia64_expand_move): Don't add addend twice. |
| |
| 2005-05-13 David Edelsohn <edelsohn@gnu.org> |
| |
| PR middle-end/21237 |
| * dojump.c (do_jump, MINUS_EXPR): Build NE_EXPR and fall through |
| to NE_EXPR case. |
| |
| 2005-05-13 Richard Guenther <rguenth@gcc.gnu.org> |
| |
| Revert: |
| 2005-05-11 Richard Guenther <rguenth@gcc.gnu.org> |
| * fold-const.c (fold_indirect_ref_1): Avoid removing |
| NOP_EXPRs with type qualifiers like const. |
| |
| 2005-05-12 Daniel Berlin <dberlin@dberlin.org> |
| |
| Fix PR tree-optimization/21532 |
| * tree-ssa-pre.c (create_expression_by_pieces): stmt |
| needs to go onto the inserted_exprs list. |
| |
| 2005-05-12 Richard Henderson <rth@redhat.com> |
| |
| PR target/21412 |
| * config/ia64/ia64.c (TARGET_CANNOT_FORCE_CONST_MEM): New. |
| (ia64_cannot_force_const_mem): New. |
| (tls_symbolic_operand_type): New. |
| (ia64_legitimate_constant_p): New. |
| (ia64_expand_load_address): Return true on success. Improve |
| checks for when we should not split. |
| (ia64_expand_tls_address): New addend operand. Distribute it |
| as appropriate to the tls_kind. Delay referencing gp. |
| (ia64_expand_move): Split symbolic addend as necessary. Handle |
| tls symbols with addends. |
| * config/ia64/ia64-protos.h: Update. |
| * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): False for r0, |
| p0, f0, f1, and r13. |
| (LEGITIMATE_CONSTANT_P): Move to ia64_legitimate_constant_p. |
| * config/ia64/ia64.md (UNSPEC_DTPMOD): New. |
| (symbolic_operand splitter): Pass everything through |
| ia64_expand_load_address and FAIL or DONE as appropriate. |
| (load_fptr): Only accept after reload. |
| (load_fptr_internal1, gprel64_offset, load_gprel64, load_symptr_high, |
| load_symptr_low, load_ltoff_dtpmod, |
| (load_dtpmod): New. |
| (load_dtprel): Only accept tls symbols. |
| (load_dtprel64, load_dtprel22): Likewise. |
| (load_tprel, load_tprel64, load_tprel22): Likewise. |
| (load_dtprel_gd, load_ltoff_dtprel, load_tprel_ie): New. |
| (add_dtprel): Only accept tls symbols. Canonicalize PLUS. |
| (add_dtprel14, add_dtprel22): Likewise. |
| (add_tprel, add_tprel14, add_tprel22): Likewise. |
| * config/ia64/predicates.md (small_addr_symbolic_operand): New. |
| (any_offset_symbol_operand, aligned_offset_symbol_operand): New. |
| (got_symbolic_operand): Check CONST offsets. |
| (tls_symbolic_operand, ld_tls_symbolic_operand): New. |
| (ie_tls_symbolic_operand, le_tls_symbolic_operand): New. |
| (move_operand): Don't handle tls here. Check CONST offsets. |
| |
| 2005-05-11 James A. Morrison <phython@gcc.gnu.org> |
| |
| PR tree-optimization/21085 |
| * fold-const (fold): Don't change X % -C to X % C if C has |
| overflowed. |
| |
| 2005-05-11 Richard Guenther <rguenth@gcc.gnu.org> |
| |
| * fold-const.c (fold_indirect_ref_1): Avoid removing |
| NOP_EXPRs with type qualifiers like const. |
| |
| 2005-05-11 Richard Henderson <rth@redhat.com> |
| |
| PR c/21502 |
| * c-decl.c (finish_decl): Propagate the completed array type of |
| a global variable into the binding. |
| |
| 2005-05-10 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| * config/sparc/sparc.c (mem_min_alignment): Do not rely |
| on MEM_ALIGN if TARGET_UNALIGNED_DOUBLES. |
| |
| 2005-05-10 Joseph S. Myers <joseph@codesourcery.com> |
| |
| PR c/21342 |
| * c-decl.c (pushdecl): When there is a declaration in the current |
| scope and the declarations are external linkage, check for |
| compatibility with the type in the external scope and update the |
| type in the external scope with the composite type information. |
| Do not form a composite type of the new type and the visible type |
| if they are incompatible. |
| |
| 2005-05-10 Michael Matz <matz@suse.de> |
| |
| from trunk: |
| 2005-04-28 James E Wilson <wilson@specifixinc.com> |
| |
| * config/i386/i386.h (HI_REGISTER_NAMES): Fix typos in comment. |
| (ADDITIONAL_REGISTER_NAMES): Delete obsolete mmx register entries. |
| |
| 2005-05-10 Joseph S. Myers <joseph@codesourcery.com> |
| |
| PR other/21052 |
| * doc/extend.texi (Type Attributes): Correct example syntax. |
| |
| 2005-05-09 Joseph S. Myers <joseph@codesourcery.com> |
| |
| PR c/21160 |
| * doc/invoke.texi (-Wuninitialized): Update documentation. |
| |
| 2005-05-09 Richard Earnshaw <rearnsha@arm.com> |
| |
| PR target/21397 |
| * arm.c (ARM_OPT_SET_CPU, ARM_OPT_SET_ARCH, ARM_OPT_SET_TUNE): Define. |
| (arm_override_options): Use them instead of manifest constants. Don't |
| allow -march to override the -mtune setting. |
| |
| 2005-05-08 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/ia64/ia64.c (ia64_override_options): Don't set |
| ia64_flag_var_tracking and clear flag_var_tracking here... |
| (ia64_file_start): ... but here. |
| |
| 2005-05-08 Stephane Carrez <stcarrez@nerim.fr> |
| |
| * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Use emit_insn_after |
| when adding the save Z instruction so that it is part of the good BB. |
| (reg_or_some_mem_operand): Do not allow the 68HC12 address indirect |
| addressing mode as it is not supported by bset and bclr. |
| (m68hc11_gen_movhi): Fix invalid generation of indexed indirect |
| addressing with movw. |
| (m68hc11_gen_movqi): Use pula and pulb instead of lda and ldb for |
| 68HC12. |
| * config/m68hc11/m68hc11.md ("movhi_const0"): Use this pattern only |
| for 68HC11. |
| ("*movhi_68hc12"): Handle movhi_const0. |
| ("*subhi3", "subqi3"): Use general_operand for operand 1. |
| ("*subhi3_zext"): Likewise. |
| |
| 2005-05-08 Stephane Carrez <stcarrez@nerim.fr> |
| |
| PR target/19051 |
| * config/m68hc11/m68hc11.md ("mulqi3"): Use general_operand for operand |
| 1 and fix constraints. |
| ("mulqihi3"): Use general_operand for operand 2. |
| |
| 2005-05-08 Richard Sandiford <rsandifo@redhat.com> |
| |
| PR target/21416 |
| * config/mips/mips.c (mips_emit_compare): Don't reverse UNGE and UNGT |
| comparisons. |
| * config/mips/mips.md (swapped_fcond): New code macro and attribute. |
| (sgt_<mode>, sge_<mode>): Generalize to all members of swapped_fcond, |
| including sunge_<mode> and sungt_<mode>. |
| |
| 2005-05-08 Stephane Carrez <stcarrez@nerim.fr> |
| |
| PR target/16925 |
| * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Handle split of |
| 64-bit constants on 64-bit hosts. |
| (m68hc11_split_logical): Simplify. |
| (m68hc11_split_move): Likewise. |
| |
| 2005-05-07 Anthony Green <green@redhat.com> |
| |
| PR bootstrap/21403 |
| * configure.ac (STMP_FIXPROTO): Fix [ ] consumption problem in |
| x$STMP_FIXPROTO test. |
| * configure: Rebuilt. |
| |
| 2005-05-07 Joseph S. Myers <joseph@codesourcery.com> |
| |
| * config/pa/pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Do not define |
| inappropriate feature test macros if flag_iso. |
| |
| 2005-05-07 Richard Henderson <rth@redhat.com> |
| |
| PR target/21412 |
| * config/rs6000/rs6000.c (rs6000_emit_move): Look for tls addresses |
| with constant offsets. |
| |
| 2005-05-06 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/21330 |
| * loop-unswitch.c (may_unswitch_on): Set *cinsn only when |
| returning non-NULL. |
| (unswitch_single_loop): Clear cinsn when retrying. |
| |
| PR c++/20961 |
| * varasm.c (merge_weak): Remove NEWDECL from WEAK_DECLS chain |
| if both NEWDECL and OLDDECL are already weak. |
| |
| 2005-05-05 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/21380 |
| * tree-ssa-threadupdate.c (thread_through_all_blocks): Do not |
| thread through a block with no preds. |
| |
| 2005-05-05 Ralf Corsepius <ralf.corsepius@rtems.org> |
| |
| * config.gcc (hppa1.1-*-rtems*): Obsolete. |
| |
| 2005-05-05 Ralf Corsepius <ralf.corsepius@rtems.org> |
| |
| * config/rs6000/t-rtems (MULTILIB_NEW_EXCEPTIONS_ONLY): |
| Exclude roe/603e multilib variants. |
| |
| 2005-05-04 Denis Chertykov <denisc@overta.ru> |
| |
| PR target/21284 |
| * config/avr/avr.c (avr_output_addr_vec_elt): Use special section |
| for output. |
| |
| 2005-05-04 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/contrib.texi (Contributors): Add Mostafa Hagog and Ayal Zaks. |
| |
| 2005-05-04 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/21265 |
| * expr.h (enum block_op_methods): Add BLOCK_OP_TAILCALL. |
| (clear_storage): Add argument. |
| * expr.c (emit_block_move_via_libcall, clear_storage_via_libcall): |
| Add tailcall argument, set CALL_EXPR_TAILCALL of the CALL_EXPR to |
| tailcall. |
| (emit_block_move): Handle BLOCK_OP_TAILCALL method. |
| (clear_storage): Add method argument, handle BLOCK_OP_TAILCALL. |
| (store_expr, store_constructor): Adjust callers. |
| * builtins.c (expand_builtin_memcpy): Pass BLOCK_OP_TAILCALL |
| to emit_block_move if CALL_EXPR_TAILCALL (exp). |
| (expand_builtin_memmove): Add ORIG_EXP argument, copy |
| CALL_EXPR_TAILCALL from ORIG_EXP to the new CALL_EXPR. |
| (expand_builtin_bcopy): Replace ARGLIST and TYPE arguments |
| with EXP. Pass EXP to expand_builtin_memmove. |
| (expand_builtin_memset): Add ORIG_EXP argument, pass |
| BLOCK_OP_TAILCALL to clear_storage if CALL_EXPR_TAILCALL (orig_exp). |
| (expand_builtin_bzero): Replace ARGLIST argument with EXP. |
| Pass EXP to expand_builtin_memset. |
| (expand_builtin_strcmp): Copy CALL_EXPR_TAILCALL from EXP to |
| the new CALL_EXPR. |
| (expand_builtin_strncmp): Likewise. |
| (expand_builtin_printf): Replace ARGLIST argument with EXP. |
| Copy CALL_EXPR_TAILCALL from EXP to the new CALL_EXPR. |
| (expand_builtin_fprintf): Likewise. |
| (expand_builtin): Adjust calls to |
| expand_builtin_{memmove,bcopy,memset,bzero,{,f}printf}. |
| |
| * config/i386/i386.c (ix86_expand_vector_set): Fix setting 3rd and 4th |
| item in V4SF mode. |
| |
| PR rtl-optimization/21239 |
| * combine.c (combine_simplify_rtx) <case VEC_SELECT>: Fix a typo. |
| |
| PR target/21297 |
| * config/i386/i386.c (legitimize_address): When canonicalizing |
| ASHIFT into MULT, multiply by 1 << shift_count instead of |
| 1 << log2 (shift_count). |
| |
| 2005-05-03 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR target/16888 |
| * config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Clear reg names |
| for unavailable registers. |
| |
| 2005-05-03 Dorit Naishlos <dorit@il.ibm.com> |
| |
| * doc/passes.texi: Document vectorization pass. |
| |
| 2005-05-02 Joseph S. Myers <joseph@codesourcery.com> |
| |
| PR c/15698 |
| * c-tree.h (C_DECL_BUILTIN_PROTOTYPE): New. |
| * c-decl.c (current_function_prototype_built_in, |
| current_function_prototype_arg_types): New. |
| (merge_decls): Keep source location of prototype followed by |
| nonprototype declaration. Update C_DECL_BUILTIN_PROTOTYPE. |
| (builtin_function): Set C_DECL_BUILTIN_PROTOTYPE. |
| (start_function): Always set current_function_prototype_locus, |
| current_function_prototype_built_in and |
| current_function_prototype_arg_types. Check for external |
| prototype whether or not visible for external function and set |
| current_function_prototype_arg_types accordingly. |
| (store_parm_decls_oldstyle): Use |
| current_function_prototype_arg_types for checking old-style |
| definition against prototype. Give warnings only if |
| current_function_prototype_built_in). |
| |
| 2005-05-02 Janis Johnson <janis187@us.ibm.com> |
| |
| PR 19985 |
| * gcov-io.h: Declare gcov external functions hidden. |
| |
| 2005-05-01 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/install.texi (Specific): Omit dots in the @anchors names |
| for i?86-*-sco3.2v5*, i?86-*-solaris2.10, and sparc-sun-solaris2.7. |
| Omit underscores for x86_64-*-* and the "all ELF targets" entry. |
| |
| 2005-05-01 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| PR bootstrap/20633 |
| * config/freebsd-spec.h (FBSD_CPP_SPEC): Add %(cpp_arch). |
| |
| 2005-05-01 Michael Matz <matz@suse.de> |
| |
| PR c++/19542 |
| * c-common.c (c_common_nodes_and_builtins): Create global null_node. |
| (warn_strict_null_sentinel): Define. |
| (check_function_sentinel): Check for null_node as valid sentinel too. |
| * c-common.h (c_tree_index): Added CTI_NULL. |
| (null_node) Define global_tree[CTI_NULL]. |
| (warn_strict_null_sentinel): Declare. |
| * c-opts.c: (c_common_handle_option): Handle -Wstrict-null-sentinel. |
| * c.opt: (Wstrict-null-sentinel): New C++ option. |
| * doc/invoke.texi (C++ Options): Document -Wstrict-null-sentinel. |
| |
| 2005-04-30 Paul Brook <paul@codesourcery.com> |
| |
| * config/arm/bpabi.h (RENAME_LIBRARY_SET): Always use .thumb_set in |
| thumb mode. |
| * config/arm/ieee754-df.S: Use __INTERWORKING_STUBS__. |
| * config/arm/ieee754-sf.S: Ditto. |
| * config/arm/lib1funcs.asm: Define and use __INTERWORKING_STUBS__. |
| (FUNC_ALIAS): Use .thumb_set for thumb routines. |
| |
| 2005-04-29 Michael Matz <matz@suse.de> |
| |
| * config/i386/i386.md (movmemsi): Also active when |
| TARGET_INLINE_ALL_STRINGOPS. |
| |
| 2005-04-29 Michael Matz <matz@suse.de> |
| |
| PR rtl-optimization/21144 |
| * postreload.c (reload_cse_move2add): Check for VOIDmode. |
| |
| 2005-04-29 Alan Modra <amodra@bigpond.net.au> |
| |
| PR target/21098 |
| * config/rs6000/rs6000.c (rs6000_elf_end_indicate_exec_stack): New. |
| * config/rs6000/linux64.h (TARGET_ASM_FILE_END): Use the above. |
| |
| 2005-04-28 James E Wilson <wilson@specifixinc.com> |
| |
| * doc/install.texi: Update -enable-languages info. Correct path to |
| html docs. |
| |
| 2005-04-19 Andrew Haley <aph@redhat.com> |
| |
| PR java/21022 |
| * dbxout.c (dbxout_type_fields): Check DECL_IGNORED_P before |
| looking at a field's bitpos. |
| |
| 2005-04-28 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * config.gcc: Obsolete c4x-* and tic4x-*. |
| |
| 2005-04-28 Joseph S. Myers <joseph@codesourcery.com> |
| |
| * c-typeck.c (build_compound_expr): Correct logic in last change. |
| |
| 2005-04-27 Joseph S. Myers <joseph@codesourcery.com> |
| |
| PR c/21159 |
| * c-typeck.c (build_compound_expr): Don't warn for left-hand side |
| being a compound expression whose right-hand side is cast to void. |
| |
| 2005-04-27 Joseph S. Myers <joseph@codesourcery.com> |
| |
| PR c/21213 |
| * c-decl.c (finish_struct): Don't dereference NULL TYPE_FIELDS of |
| transparent union. |
| |
| 2005-04-27 Joseph S. Myers <joseph@codesourcery.com> |
| |
| PR c/20740 |
| * c-format.c (init_dynamic_asm_fprintf_info): Give errors, not |
| assertion failures, if __gcc_host_wide_int__ is not properly |
| defined. |
| (init_dynamic_diag_info): Give errors, not assertion failures, if |
| location_t, tree or __gcc_host_wide_int__ are not properly |
| defined. |
| |
| 2005-04-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * collect2.c, gcc.c, gcov-dump.c, gcov.c, gen-protos.c, |
| gensupport.c, protoize.c, toplev.c: Replace calls to |
| `unlock_stream' with `unlock_std_streams'. |
| |
| 2005-04-25 Joseph S. Myers <joseph@codesourcery.com> |
| |
| * doc/invoke.texi (Blackfin Options): Avoid empty @opindex line. |
| |
| 2005-04-25 Joseph S. Myers <joseph@codesourcery.com> |
| |
| PR bootstrap/21215 |
| * doc/install.texi: Document correct assembler and linker to use |
| on i?86-*-solaris2.10. |
| |
| 2005-04-25 Daniel Berlin <dberlin@dberlin.org> |
| |
| Fix PR tree-optimization/21173 |
| |
| * tree-ssa-pre.c (create_expression_by_pieces): Call unshare_expr |
| on things we pass to force_gimple_operand. Don't try to special |
| case min_invariants. |
| |
| 2005-04-25 Bernd Schmidt <bernd.schmidt@analog.com> |
| |
| * config/bfin/bfin-modes.def: New file. |
| * config/bfin/bfin-protos.h: New file. |
| * config/bfin/bfin.c: New file. |
| * config/bfin/bfin.h: New file. |
| * config/bfin/bfin.md: New file. |
| * config/bfin/crti.s: New file. |
| * config/bfin/crtn.s: New file. |
| * config/bfin/elf.h: New file. |
| * config/bfin/lib1funcs.asm: New file. |
| * config/bfin/predicates.md: New file. |
| * config/bfin/t-bfin: New file. |
| * config/bfin/t-bfin-elf: New file. |
| * doc/extend.texi (exception_handler, kspisusp, nesting, nmi_handler): |
| Document new attributes. |
| (interrupt, interrupt_handler, saveall): Update documentation for |
| these attributes. |
| * doc/install.texi (Specific): Add entry for the Blackfin. |
| * doc/invoke.texi (Blackfin Options): New section. |
| * doc/md.texi (Blackfin family): New section to document constraints. |
| * config.gcc: Add bfin*-* and bfin*-elf configurations. |
| |
| 2005-04-25 Ralf Corsepius <ralf.corsepius@rtems.org> |
| |
| * config.gcc (avr-*-*): Remove redundant "case". |
| |
| 2005-04-25 Ralf Corsepius <ralf.corsepius@rtems.org> |
| |
| PR target/17822 |
| * config/avr/t-avr (AR_FOR_TARGET,RANLIB_FOR_TARGET): Remove. |
| |
| 2005-04-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| PR/17092 |
| * configure.ac (gcc_UNLOCKED_FUNCS): New. |
| (AC_CHECK_FUNCS, AC_CHECK_DECLS): Check for gcc_UNLOCKED_FUNCS. |
| * system.h (putchar, getc, getchar, clearerr, feof, fileno, |
| fflush, fgetc, fgets, ferror, fread): Redefine to the associated |
| _unlocked function. |
| (fwrite_unlocked): Fix prototype. |
| |
| * configure, config.in: Regenerate. |
| |
| * system.h (fopen, fdopen, freopen): Define these to the unlocked |
| libiberty functions. |
| |
| * collect2.c (main): Unlock the stdio streams. |
| * gcc.c (main): Likewise. |
| * gcov-dump.c (main): Likewise. |
| * gcov.c (main): Likewise. |
| * gen-protos.c (main): Likewise. |
| * gensupport.c (init_md_reader_args_cb): Likewise. |
| * protoize.c (main): Likewise. |
| * toplev.c (general_init): Likewise. |
| |
| 2005-04-24 Richard Henderson <rth@redhat.com> |
| |
| PR rtl-opt/21163 |
| * simplify-rtx.c (simplify_binary_operation) <IOR>: Check |
| for SCALAR_INT_MODE_P instead of not MODE_CC before returning |
| constm1_rtx. |
| <XOR, AND, LSHIFTRT, UMIN>: Use CONST0_RTX. |
| <UDIV, UMOD>: Use CONST0_RTX and CONST1_RTX. |
| <DIV, MOD>: Likewise. |
| |
| 2005-04-24 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/20991 |
| * cgraph.h (cgraph_local_info): Add vtable_method field. |
| * varasm.c (mark_decl_referenced): If cgraph_global_info_ready |
| and node is vtable_method, finalized and not reachable, don't do |
| anything. |
| |
| Revert: |
| 2005-04-18 Jakub Jelinek <jakub@redhat.com> |
| * tree-ssa-ccp.c (fold_stmt): Don't optimize OBJ_TYPE_REFs if that |
| would result in an already finalized unreachable node becoming |
| reachable while cgraph_global_info_ready. |
| |
| 2005-04-24 Ralf Corsepius <ralf.corsepius@rtems.org> |
| |
| PR target/17824 |
| * config/c4x/c4x.h (ASM_PROG, LD_PROG): Remove. |
| |
| 2005-04-24 Richard Henderson <rth@redhat.com> |
| |
| PR target/21101 |
| * config/i386/i386.h (CANNOT_CHANGE_MODE_CLASS): Move guts to ... |
| * config/i386/i386.c (ix86_cannot_change_mode_class): ... here. |
| Deny modes smaller than 4 bytes. |
| * config/i386/i386-protos.h: Update. |
| |
| 2005-04-24 Ralf Corsepius <ralf.corsepius@rtems.org> |
| |
| * config.gcc (h8300-*-rtems*): Add h8300-*-rtemscoff*. |
| Switch h8300-*-rtems* to ELF. |
| |
| 2005-04-23 Richard Henderson <rth@redhat.com> |
| |
| * simplify-rtx.c (simplify_binary_operation): Fix second instance |
| later in the same function. |
| |
| PR rtl-opt/21102 |
| * simplify-rtx.c (simplify_binary_operation): Fix mode check before |
| performing some integral scalar simplifications. |
| |
| 2005-04-23 Richard Henderson <rth@redhat.com> |
| |
| PR target/21100 |
| * config/i386/mmx.md (push<MMXMODE>1): Fix predicate thinko. |
| |
| 2005-04-23 Richard Henderson <rth@redhat.com> |
| |
| PR target/21099 |
| * config/i386/i386.c (ix86_split_to_parts): Use proper mode when |
| simplifying CONST_VECTOR. |
| |
| 2005-04-22 James E Wilson <wilson@specifixinc.com> |
| |
| PR c++/20805 |
| * dwarf2out.c (gen_variable_die): Don't emit a specification if this |
| is another declaration. |
| |
| 2005-04-22 Michael Matz <matz@suse.de> |
| |
| PR middle-end/20973 |
| * reload.c (push_reload, find_dummy_reload): Check for uninitialized |
| pseudos. |
| |
| 2005-04-22 David Edelsohn <edelsohn@gnu.org> |
| |
| Backport from mainline. |
| * config/rs6000/rs6000.c (rs6000_init_libfuncs): Set TFmode |
| optabs to xlq names if TARGET_XL_COMPAT. |
| |
| 2005-04-22 Joseph S. Myers <joseph@codesourcery.com> |
| |
| PR c/12913 |
| * c-tree.h (struct c_label_list): Update comment. |
| (struct c_label_context): Rename to struct c_label_context_se. |
| (label_context_stack): Rename to label_context_stack_se. |
| (C_DECL_UNJUMPABLE_VM, C_DECL_UNDEFINABLE_VM, struct |
| c_label_context_vm, label_context_stack_vm, c_begin_vm_scope, |
| c_end_vm_scope): New. |
| (C_DECL_DECLARED_BUILTIN, C_DECL_USED): Use FUNCTION_DECL_CHECK. |
| * c-decl.c (pop_scope): Call c_end_vm_scope. |
| (pushdecl): Call c_begin_vm_scope for variably modified |
| declarations. |
| (define_label): Check for jumping into scope of identifier with |
| variably modified type. Push label on stack for those defined at |
| current context of identifiers with variably modified type. |
| (start_function): Create stack level for context of identifiers |
| with variably modified type. |
| (finish_function): Pop stack level for context of identifiers with |
| variably modified type. |
| * c-typeck.c (label_context_stack): Rename to |
| label_context_stack_se. |
| (label_context_stack_vm, c_begin_vm_scope, c_end_vm_scope): New. |
| (c_finish_goto_label): Check for jumping into scope of identifier |
| with variably modified type. Push label on stack for those jumped |
| to from current context of identifiers with variably modified |
| type. |
| (struct c_switch): Add blocked_vm. |
| (c_start_case): Initialize blocked_vm. |
| (do_case): Check blocked_vm. |
| (c_finish_case): Add comment. |
| (c_begin_stmt_expr, c_finish_stmt_expr): Update for renamed |
| variable label_context_stack. |
| |
| 2005-04-22 Joseph S. Myers <joseph@codesourcery.com> |
| |
| * varasm.c (do_assemble_alias): Return early if TREE_ASM_WRITTEN |
| (decl). |
| |
| 2005-04-22 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| * doc/invoke.texi (SPARC options): Document that -mapp-regs |
| is turned off by default on Solaris. |
| |
| 2005-04-21 Mark Mitchell <mark@codesourcery.com> |
| |
| * version.c (version_string): Restore prerelease information. |
| * doc/include/gcc-common.texi (version): Set to 4.0.1. |
| |
| 2005-04-20 Release Manager |
| |
| * GCC 4.0.0 released. |
| |
| 2005-04-18 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/20991 |
| * tree-ssa-ccp.c (fold_stmt): Don't optimize OBJ_TYPE_REFs if that |
| would result in an already finalized unreachable node becoming |
| reachable while cgraph_global_info_ready. |
| |
| 2005-04-19 Ben Elliston <bje@au.ibm.com> |
| |
| * doc/invoke.texi (Optimize Options): Refer to the correct |
| optimisation flag -ftree-dominator-opts, not -ftree-dom. |
| |
| 2005-04-17 Daniel Berlin <dberlin@dberlin.org> |
| |
| Fix PR tree-optimization/20490 |
| Fix PR tree-optimization/20929 |
| |
| * tree-ssa-pre.c (create_expression_by_pieces): Use |
| force_gimple_operand on result of fold, value number |
| gimple_operand result. |
| |
| 2005-04-17 Joseph S. Myers <joseph@codesourcery.com> |
| |
| Merge from mainline: |
| |
| 2005-02-28 Geert Bosch <bosch@gnat.com> |
| |
| PR ada/15977 |
| * doc/contrib.texi: List contributors for Ada front end |
| |
| 2005-03-14 Geoffrey Keating <geoffk@apple.com> |
| |
| * doc/cppopts.texi (-fexec-charset): Add concept index |
| entry. |
| (-fwide-exec-charset): Likewise. |
| (-finput-charset): Likewise. |
| |
| 2005-04-15 David Edelsohn <edelsohn@gnu.org> |
| |
| * doc/install.texi (*-ibm-aix*): Add comment about system |
| limits. |
| |
| 2005-04-17 Richard Sandiford <rsandifo@redhat.com> |
| |
| * combine.c (combine_simplify_rtx): Remove a transformation that |
| relies on an invalid assumption about rtl sign-extension semantics. |
| |
| 2005-04-17 Richard Henderson <rth@redhat.com> |
| |
| PR target/20375 |
| * config/alpha/alpha.c (alpha_setup_incoming_varargs): Advance a copy |
| of CUMULATIVE_ARGS past the last named argument. |
| (alpha_va_start): Expect pretend_args_size only if strictly less than |
| 6 named arguments. |
| * config/alpha/alpha.h (TARGET_FP, TARGET_FPREGS, TARGET_GAS, |
| TARGET_IEEE_CONFORMANT, TARGET_IEEE, TARGET_IEEE_WITH_INEXACT, |
| TARGET_BUILD_CONSTANTS, TARGET_FLOAT_VAX, TARGET_BWX, TARGET_MAX, |
| TARGET_FIX, TARGET_CIX, TARGET_EXPLICIT_RELOCS, TARGET_SMALL_DATA, |
| TARGET_TLS_KERNEL, TARGET_SMALL_TEXT, TARGET_LONG_DOUBLE_128, |
| TARGET_CPU_EV5, TARGET_CPU_EV6, TARGET_SUPPORT_ARCH): Booleanize. |
| |
| 2005-04-17 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR middle-end/20739 |
| * gimplify.c (gimplify_addr_expr): Compensate for removal of |
| e.g. cv-qualification conversions. |
| |
| 2005-04-16 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/install.texi (Specific): Avoid using asterisks in @anchor |
| names related to target triplets. |
| Remove i?86-*-esix from platform directory. |
| Remove powerpc-*-eabiaix from platform directory. |
| |
| 2005-04-16 Joseph S. Myers <joseph@codesourcery.com> |
| |
| PR middle-end/20491 |
| * config/ia64/ia64.c (rtx_needs_barrier): Recurse instead of |
| falling through from SUBREG case to REG. |
| |
| 2005-04-15 Dave Korn <dave.korn@artimi.com> |
| |
| * gcc.c (default_compilers): Clarify obscure error message when |
| reading from standard input. |
| |
| 2005-04-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> |
| |
| * gthr-posix.c (pthread_cancel): Define. |
| (pthread_mutexattr_init): Likewise. |
| (pthread_mutexattr_settype): Likewise. |
| (pthread_mutexattr_destroy): Likewise. |
| |
| 2005-04-15 Volker Reichelt <reichelt@igpm.rwth-aachen.de> |
| |
| * doc/invoke.texi: Fix typos. |
| * doc/md.texi: Likewise. |
| * doc/rtl.texi: Likewise. |
| * doc/sourcebuild.texi: Likewise. |
| * doc/tm.texi: Likewise. |
| |
| 2005-04-15 Alexandre Oliva <aoliva@redhat.com> |
| |
| * tree-eh.c (lower_try_finally_copy): Generate new code in |
| response to goto_queue entries as if the queue was sorted by |
| index, not pointers. |
| (lower_try_finally_switch): Likewise. |
| |
| 2005-04-15 Richard Sandiford <rsandifo@redhat.com> |
| |
| * config/mips/mips.h (ASM_OUTPUT_CASE_LABEL): Delete. |
| (JUMP_TABLES_IN_TEXT_SECTION): Define. |
| * config/mips/mips.c (mips16_insn_length): Remove reference to |
| JUMP_TABLES_IN_TEXT_SECTION. |
| |
| 2005-04-14 Joseph S. Myers <joseph@codesourcery.com> |
| |
| * doc/cpp.texi, doc/install.texi: Change references to GCC 3.5 to |
| refer to 4.0. |
| |
| 2005-04-14 Steve Ellcey <sje@cup.hp.com> |
| |
| PR target/20924 |
| * config/ia64/ia64.md (divsf3_internal_lat): Generate frcpa with |
| fpsr 0 instead of fpsr 1. |
| (divsf3_internal_thr): Ditto. |
| (divdf3_internal_lat): Ditto. |
| (divdf3_internal_thr): Ditto. |
| (divxf3_internal_lat): Ditto. |
| (divxf3_internal_thr): Ditto. |
| |
| 2005-04-14 Ulrich Weigand <uweigand@de.ibm.com> |
| |
| PR target/20927 |
| * config/s390/s390-modes.def: Define TFmode. |
| |
| 2005-04-14 Alexandre Oliva <aoliva@redhat.com> |
| Roger Sayle <roger@eyesopen.com> |
| |
| PR target/20126 |
| * loop.c (loop_givs_rescan): If replacement of DEST_ADDR failed, |
| signal that all GIVs couldn't be reduced. |
| |
| 2005-04-12 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| * config/sparc/sparc.h (APPLY_RESULT_SIZE): Set to 24 in 64-bit mode. |
| * config/sparc/sparc.md (untyped_call): Save the registers manually. |
| |
| * config/sparc/sparc.c (legitimate_address_p): Use TARGET_ARCH32. |
| |
| 2005-04-12 Ulrich Weigand <uweigand@de.ibm.com> |
| |
| PR middle-end/20917 |
| * config/s390/s390.md ("*set_tp"): Use SET in pattern. |
| ("set_tp_64", "set_tp_31"): Adapt expanded pattern. |
| |
| 2005-04-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/20795 |
| * config/i386/i386.c (construct_container): Pass empty aligned |
| struct, union or class in memory. |
| |
| 2005-04-08 Ulrich Weigand <uweigand@de.ibm.com> |
| |
| Backport from mainline: |
| * config/s390/tpf.h (ASM_SPEC): Define. |
| |
| 2005-04-07 Andreas Schwab <schwab@suse.de> |
| |
| Backport from mainline: |
| |
| 2005-04-03 Steven Bosscher <stevenb@suse.de> |
| |
| PR middle-end/20648 |
| * bb-reorder.c (duplicate_computed_gotos): Do not unfactor |
| a computed goto if the edge to the computed goto block has |
| incoming abnormal edges. Clarify how the function works. |
| |
| 2005-04-07 Joseph S. Myers <joseph@codesourcery.com> |
| |
| PR target/20093 |
| * simplify-rtx.c (simplify_unary_operation): Check |
| SUBREG_PROMOTED_UNSIGNED_P (op) > 0 for zero-extension. |
| |
| 2005-04-07 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR ada/18659 |
| PR ada/18819 |
| * doc/invoke.texi (Optimize Options): Document that |
| -ftree-sra is not automatically enabled for the Ada compiler. |
| |
| 2005-04-06 Richard Sandiford <rsandifo@redhat.com> |
| |
| * c.opt (-F): Remove trailing whitespace from help string. |
| (-finput-charset): Use a tab to separate the switch name and help |
| string. |
| * common.opt (-fsched-stalled-insns, -fsched-stalled-insns-dep) |
| (-ftree-vectorizer-verbose): Likewise. |
| |
| 2005-04-06 Dale Johannesen <dalej@apple.com> |
| |
| * doc/invoke.texi (Optimization Options): Remove |
| duplicate -fcse-follow-jumps. Add -fweb. |
| (-ftree-lim): Fix spelling (-ftree-loop-im, invariants). |
| (-fivcanon): Fix spelling (-ftree-loop-ivcanon). |
| |
| 2005-04-06 Joseph S. Myers <joseph@codesourcery.com> |
| |
| * c-decl.c (finish_decl): Apply pending #pragma weak regardless of |
| scope. |
| |
| 2005-04-06 Ranjit Mathew <rmathew@hotmail.com> |
| |
| * doc/install.texi: Update the URL for Jacks. |
| * doc/sourcebuild.texi: Likewise. |
| |
| 2005-04-06 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| PR target/17245 |
| * config/sparc/sparc.c (legitimate_address_p): Remove 'imm2'. |
| Revert 2004-10-08 patch. Reject TFmode LO_SUM in 32-bit mode. |
| |
| 2005-04-05 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/20076 |
| * tree-inline.c (inline_forbidden_p_1): Prevent inlining functions |
| that call __builtin_return or __builtin_apply_args. |
| |
| 2005-04-06 Uros Bizjak <uros@kss-loka.si> |
| |
| PR target/20421 |
| * config/i386/i386.md (frndintxf2_floor, frndintxf2_ceil) |
| (frndintxf2_trunc, frndintxf2_mask_pm): Add FLAGS_REG clobber. |
| Allocate local stack slots here. Set ix86_optimize_mode_switching. |
| flag here. Implement using define_insn_and_split. |
| (frndintxf2_floor_i387, frndintxf2_ceil_i387, frndintxf2_trunc_i387) |
| (frndintxf2_mask_pm_i387): New insn patterns. |
| (floorsf2, floordf2, floorxf2): Remove local stack slot allocations. |
| Do not set ix86_optimize_mode_switching flag. |
| (ceilsf2, ceildf2, ceilxf2): Same. |
| (btruncsf2, btruncdf2, btruncxf2): Same. |
| (nearbyintsf2, nearbyintdf2, nearbyintxf2): Same. |
| |
| 2005-04-05 James E. Wilson <wilson@specifixinc.com> |
| |
| PR target/20670 |
| * unwind-ia64.c (uw_intall_context): Add missing load of r27. |
| |
| 2005-04-05 Thomas Fitzsimmons <fitzsim@redhat.com> |
| |
| * doc/install.texi (Configuration): Document --with-java-home. |
| |
| 2005-04-05 Dale Johannesen <dalej@apple.com> |
| |
| PR middle-end/19225 |
| * calls.c (expand_call): Flush pending deferrals before |
| throwing call. |
| |
| 2005-04-06 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| PR target/20625 |
| * tree-ssa-loop-ivopts.c (generic_type_for): New function. |
| (add_candidate_1): Use generic_type_for instead of unsigned_type_for. |
| |
| 2005-04-05 Roger Sayle <roger@eyesopen.com> |
| |
| * config/i386/i386.md (*truncdfsf2_i387_1): New pattern. |
| |
| 2005-04-05 Ben Elliston <bje@au.ibm.com> |
| |
| * doc/invoke.texi (Optimize Options): Mention -ftree-lrs, not |
| -ftree-live_range_split. Perhaps renamed at some point? |
| |
| 2005-04-05 Jason Merrill <jason@redhat.com> |
| |
| PR c++/19317 |
| * calls.c (expand_call): Disable return slot optimization. |
| |
| 2005-04-05 Richard Henderson <rth@redhat.com> |
| |
| PR target/20342 |
| PR target/20447 |
| * config/i386/i386.c (print_operand): Handle vector zeros. |
| (ix86_split_to_parts): Handle CONST_VECTOR. |
| (ix86_hard_regno_mode_ok): Allow MMX modes in general regs. |
| (ix86_modes_tieable_p): Use ix86_hard_regno_mode_ok to decide |
| what modes to tie for MMX and SSE registers. |
| * config/i386/i386.h (MMX_REG_MODE_P): Remove. |
| * config/i386/i386.md: Extend move 0 -> xor peephole to apply |
| to vector modes as well. |
| * config/i386/predicates.md (const0_operand): Handle VOIDmode |
| properly as an input mode. |
| |
| 2005-04-05 Hans-Peter Nilsson <hp@axis.com> |
| |
| PR rtl-optimization/20527 |
| * combine.c (can_combine_p) [AUTO_INC_DEC]: When INSN has an |
| REG_INC note, test that the register also isn't mentioned in PRED |
| or SUCC. |
| |
| 2005-04-05 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| * config/sparc/sparc.c (TARGET_ASM_FILE_END): Undefine before |
| overriding. |
| |
| 2005-04-05 Olivier Hainque <hainque@adacore.com> |
| |
| * config/mips/iris6.h (DWARF_FRAME_RETURN_COLUMN): Redefine to |
| match what the system unwinder expects. |
| * config/mips/mips.c (mips_frame_set): If we're saving the return |
| address register and the dwarf return address column number differs |
| from the hard register number, adjust the note reg to refer to the |
| former. |
| |
| 2005-04-05 Eric Botcazou <ebotcazou@libertysurf.fr> |
| Sebastian Pop <sebastian.pop@cri.ensmp.fr> |
| |
| PR tree-optimization/19903 |
| * tree-chrec.c (chrec_convert): Return chrec_dont_know for constants |
| that don't fit in their type after conversion. |
| |
| 2005-04-04 Roger Sayle <roger@eyesopen.com> |
| Alexandre Oliva <aoliva@redhat.com> |
| |
| PR c++/19199 |
| * fold-const.c (non_lvalue): Split tests into... |
| (maybe_lvalue_p): New function. |
| (fold_cond_expr_with_comparison): Preserve lvalue-ness for the |
| C++ front-end prior to lowering into gimple form. |
| |
| 2004-04-04 Richard Sandiford <rsandifo@redhat.com> |
| |
| PR target/19537 |
| * Makefile.in (tree-ssa-loop-ivopts.o): Depend on langhooks.h. |
| * tree-ssa-loop-ivopts.c: Include langhooks.h. |
| (add_standard_iv_candidates_for_size): New function, extracting code |
| from add_standard_iv_candidates and parameterizing it by type size. |
| (add_standard_iv_candidates): Use add_standard_iv_candidates_for_size. |
| |
| 2005-04-04 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| * doc/invoke.texi (SPARC options): Document that |
| -mlittle-endian is not supported on Linux either. |
| |
| 2005-04-04 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| PR target/20446 |
| * config/sparc/sparc.h (NEED_INDICATE_EXEC_STACK): Define to 0. |
| * config/sparc/linux.h (TARGET_ASM_FILE_END): Delete. |
| (NEED_INDICATE_EXEC_STACK): Define to 1. |
| * config/sparc/linux64.h (TARGET_ASM_FILE_END): Delete. |
| (NEED_INDICATE_EXEC_STACK): Define to 1. |
| * config/sparc/sparc.c (TARGET_ASM_FILE_END): Set to sparc_file_end. |
| (add_pc_to_pic_symbol): Rename into pic_helper_symbol. |
| (add_pc_to_pic_symbol_name): Rename into pic_helper_symbol_name. |
| (pic_helper_emitted_p): New global. |
| (emit_pic_helper): New function extracted from... |
| (load_pic_register): ...here. Add 'delay_pic_helper' parameter. |
| Do not call emit_pic_helper if delay_pic_helper is true. |
| (sparc_expand_prologue): Pass 'false' to load_pic_register. |
| (sparc_output_mi_thunk): Pass 'true' to load_pic_register. |
| (sparc_file_end): New function. |
| |
| 2005-04-04 Richard Henderson <rth@redhat.com> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/16104 |
| * fold-const.c (fold_unary): Fix folding of vector conversions. |
| |
| 2005-04-04 Nathan Sidwell <nathan@codesourcery.com> |
| |
| PR debug/20505 |
| * dwarf2out.c (tree_add_const_value_attribute): Only add if it's |
| an INTEGER_CST. |
| |
| 2005-04-03 Gabriel Dos Reis <gdr@integrable-solutions.net> |
| |
| PR c++/18644 |
| * doc/invoke.texi (-Wsynth): Don't document, as it now is void of |
| semantics. |
| |
| 2005-04-02 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR debug/19345 |
| * tree-inline.c (remap_type): Remap TYPE_STUB_DECL. |
| (remap_decl): Insert type decl in map earlier. |
| |
| 2005-04-02 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR tree-optimization/20640 |
| * tree-ssa-dce.c (remove_dead_stmt): Don't redirect edge to |
| post-dominator if it has phi nodes. |
| (eliminate_unnecessary_stmts): Remove dead phis in all blocks |
| before dead statements. |
| |
| 2005-04-02 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR middle-end/20491 |
| * final.c (alter_subreg): Don't call subreg_regno for a non-REG. |
| |
| 2005-04-02 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR rtl-optimization/20290 |
| * loop.c (for_each_insn_in_loop): Don't assume the loop body runs |
| in every iteration if the entry point is the exit test. |
| |
| 2005-04-02 Geoffrey Keating <geoffk@apple.com> |
| |
| * config/rs6000/t-darwin (TARGET_LIBGCC2_CFLAGS): Add -pipe. |
| * config/t-darwin (TARGET_LIBGCC2_CFLAGS): Likewise. |
| |
| 2005-04-02 Geoffrey Keating <geoffk@apple.com> |
| |
| * config/rs6000/t-darwin8: Comment out ppc64 multilib. |
| |
| 2005-04-01 Richard Guenther <rguenth@tat.physik.uni-tuebingen.de> |
| Jan Hubicka <jh@suse.cz> |
| Steven Bosscher <stevenb@suse.de> |
| |
| * cgraphunit.c (cgraph_estimate_size_after_inlining): Compute |
| call cost based on argument sizes. |
| (cgraph_mark_inline_edge): Avoid inline unit from shrinking by |
| inlining. |
| * params.def: (max-inline-inssn-single): Set to 450. |
| (max-inline-insns-auto): Set to 90. |
| (max-inline-insns-recursive): Set to 450 |
| (max-inline-insns-recursive-auto): Set to 450. |
| (large-function-insns): Set to 2700. |
| (inline-call-cost): New parameter. |
| * tree-inline.c (estimate_move_cost): New function. |
| (estimate_num_insns_1): Compute move sizes costs by estimate_move_cost |
| for non-gimple-regs, set cost to 0 for gimple-regs. Compute call size |
| based on arguments. |
| * tree-inline.h (estimate_move_cost): Declare. |
| * invoke.texi: (max-inline-inssn-single): Change default to 450. |
| (max-inline-insns-auto): Change default to 90. |
| (max-inline-insns-recursive): Change default to 450 |
| (max-inline-insns-recursive-auto): Change default to 450. |
| (large-function-insns): Change default to 2700. |
| (inline-call-cost): Document new parameter. |
| |
| 2005-04-01 Paul Brook <paul@codesourcery.com> |
| |
| * config/arm/arm.c (thumb_call_via_label): Include space for SP. |
| (arm_output_function_epilogue): Allow call_via_SP. |
| (thumb_call_via_reg, arm_file_end): Ditto. |
| * config/arm/arm.h (struct machine_function): Include space for SP. |
| (thumb_call_via_label): Update declaration. |
| |
| 2005-04-01 Joseph S. Myers <joseph@codesourcery.com> |
| |
| * c-decl.c (validate_proto_after_old_defn): Look at |
| TYPE_MAIN_VARIANT of argument types. |
| |
| 2005-04-01 Jan Hubicka <jh@suse.cz> |
| |
| PR middle-end/20635 |
| * varasm.c (mark_decl_referenced): Do not mark extern inline functions |
| as needed. |
| |
| 2005-04-01 Paolo Bonzini <bonzini@gnu.org> |
| |
| PR middle-end/19454 |
| PR rtl-optimization/20600 |
| |
| * combine.c (gen_binary): Remove. |
| (known_cond, simplify_shift_const, find_split_point, |
| combine_simplify_rtx, simplify_if_then_else, simplify_set, |
| simplify_logical, expand_field_assignment, extract_left_shift, |
| force_to_mode, if_then_else_cond, apply_distributive_law, |
| simplify_and_const_int, simplify_shift_const, gen_lowpart_for_combine, |
| simplify_comparison, reversed_comparison): Replace with |
| simplify_gen_binary, simplify_gen_relational or |
| distribute_and_simplify_rtx. |
| (distribute_and_simplify_rtx): New function. |
| |
| * config/i386/i386.c (ix86_decompose_address): Look inside SUBREGs |
| to fix addresses involving EBP and ESP. |
| (aligned_operand, legitimate_address_p, ix86_address_cost): Be prepared |
| for SUBREGed registers. |
| (legitimate_address_p): Accept SUBREGed registers. |
| |
| 2005-04-01 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/19406 |
| * dwarf2out.c (gen_type_die_for_member): Handle FIELD_DECL. |
| (dwarf2out_imported_module_or_decl): Use gen_type_die_for_member |
| for FIELD_DECLs. |
| |
| 2005-04-01 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * doc/contrib.texi, doc/invoke.texi, doc/tm.texi: Fix typos. |
| |
| 2005-04-01 Joseph S. Myers <joseph@codesourcery.com> |
| |
| PR c/17855 |
| * gimplify.c (gimplify_expr): Create a temporary for lvalue |
| COND_EXPR and CALL_EXPR. |
| |
| 2005-03-31 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * doc/tree-ssa.texi: Fix a typo. |
| |
| 2005-03-31 Olivier Hainque <hainque@adacore.com> |
| |
| * dwarf2out.c (dwarf2out_frame_finish): Honor DWARF2_FRAME_INFO |
| defined and non-zero. |
| |
| 2005-03-31 Alan Modra <amodra@bigpond.net.au> |
| |
| PR target/20611 |
| * config/rs6000/rs6000.md (load_toc_v4_PIC_1b): Remove inline |
| label operand. Remove (use (unspec..)). Don't emit a label on |
| the offset word. |
| * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Don't |
| generate inline label for load_toc_v4_PIC_1b. |
| (rs6000_emit_load_toc_table): Likewise. |
| |
| 2005-03-31 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * config.gcc: Obsolete i860-*-sysv4*, ip2k-*-elf, |
| ns32k-*-netbsdelf*, and ns32k-*-netbsd*. |
| |
| 2005-03-31 Alan Modra <amodra@bigpond.net.au> |
| |
| * config.gcc (cpu_is_64bit): Set for 64-bit powerpc cpus. |
| (powerpc64-*-linux*): Use it. Rearrange tm_file assignment. |
| (powerpc-*-linux*): Build a biarch compiler when --enable-targets |
| is given with "powerpc64*" or "all", or when --with-cpu chooses |
| a 64-bit cpu. |
| |
| 2005-03-30 Richard Henderson <rth@redhat.com> |
| |
| * cgraph.h (struct cgraph_node): Add alias. |
| * varasm.c (assemble_alias): Set it. |
| * cgraphunit.c (cgraph_assemble_pending_functions): Check it and |
| avoid calling cgraph_expand_function. |
| |
| 2005-03-30 Joseph S. Myers <joseph@codesourcery.com> |
| |
| PR c/772 |
| PR c/17913 |
| * c-tree.h (C_DECL_UNJUMPABLE_STMT_EXPR, |
| C_DECL_UNDEFINABLE_STMT_EXPR, struct c_label_list, struct |
| c_label_context, label_context_stack): New. |
| * c-decl.c (define_label): Check for jumps into statement |
| expressions. Add label to list of defined labels. |
| (start_function): Push context on label_context_stack. |
| (finish_function): Pop context from label_context_stack. |
| * c-typeck.c (label_context_stack): New. |
| (c_finish_goto_label): Check for jumps into statement |
| expressions. Add label to list of jumped to labels. |
| (struct c_switch): Add blocked_stmt_expr. |
| (c_start_case): Initialize it. |
| (do_case): Check it. |
| (c_finish_case): Verify !blocked_stmt_expr. |
| (c_begin_stmt_expr): Push context on label_context_stack. |
| Increment blocked_stmt_expr. Mark labels jumped to from outside |
| as undefinable. |
| (c_finish_stmt_expr): December blocked_stmt_expr. Mark labels |
| defined in the statement expression and no longer jumpable to. |
| Mark labels jumped to from just outside the statement expression |
| as again definable. Pop context from label_context_stack. |
| * doc/extend.texi (Statement Exprs): Update. |
| |
| 2005-03-30 Joseph S. Myers <joseph@codesourcery.com> |
| |
| PR c/20368 |
| * c-decl.c (start_function): Check for old_decl being |
| error_mark_node. |
| |
| 2005-03-30 Mostafa Hagog <mustafa@il.ibm.com> |
| |
| PR middle-end/20177 |
| * ddg.c (create_ddg_dependence): Ignore reg-anti dependency. |
| * modulo-sched.c (const_iteration_count): Return on NULL |
| pre-header. |
| (print_node_sched_params): Return on NULL dump_file. |
| (generate_reg_moves): Handle reg-anti dependencies and disregard |
| closing branch when generating register moves. |
| (sms_schedule): Mark the SMSed block dirty. |
| * passes.c (rest_of_handle_sms): Call update_life_info for all |
| basic-blocks. |
| * testsuite/gcc.dg/20050321-1.c: New test. |
| * testsuite/gcc.dg/20050330-1.c: New test. |
| |
| 2005-03-30 Sebastian Pop <pop@cri.ensmp.fr> |
| |
| * tree-scalar-evolution.c (instantiate_parameters_1): Return |
| as soon as a chrec_dont_know is detected. |
| |
| 2005-03-30 Alan Modra <amodra@bigpond.net.au> |
| |
| * doc/install.texi: Update binutils requirement for powerpc*-linux. |
| |
| 2005-03-30 Alan Modra <amodra@bigpond.net.au> |
| |
| PR target/20203 |
| * builtins.c (get_memory_rtx): Expand address exp using EXPAND_NORMAL. |
| Remove convert_memory_address call duplicating that in memory_address. |
| |
| 2005-03-29 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR rtl-optimization/20532 |
| * simplify-rtx.c (simplify_binary_operation): Protect from |
| overflow when adding coefficients for PLUS or MINUS. Handle |
| CONST_DOUBLE exact power of two as multiplier. |
| |
| 2005-03-29 Richard Henderson <rth@redhat.com> |
| |
| PR c/20519 |
| * c-decl.c (c_finish_incomplete_decl): Update complete_array_type call. |
| (build_compound_literal): Likewise. Propagate decl type into the |
| initializer. |
| (finish_decl): Likewise. Use new return value from complete_array_type |
| for zero sized arrays. |
| (complete_array_type): Move ... |
| * c-common.c (complete_array_type): ... here. Change first argument |
| to pointer-to-type-node. Consistently use sizetype for the index |
| except for zero sized arrays. Detect zero sized arrays for pedantic |
| mode diagnostics. Create a new type node instead of modifying the |
| old node in place. |
| * c-tree.h (complete_array_type): Move decl ... |
| * c-common.h (complete_array_type): ... here. |
| |
| 2005-03-29 Richard Henderson <rth@redhat.com> |
| |
| PR tree-opt/19108 |
| * tree-sra.c (generate_element_init_1): Handle RANGE_EXPR. |
| |
| 2005-03-29 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/20622 |
| * cgraph.h (struct cgraph_varpool_node): Add alias field. |
| * cgraph.c (cgraph_varpool_assemble_pending_decls): Don't call |
| assemble_variable on aliases. |
| * varasm.c (assemble_alias): Set node->alias. |
| * toplev.c (wrapup_global_declarations): Don't call |
| rest_of_decl_compilation on aliases again. |
| |
| 2005-03-29 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| PR middle-end/20263 |
| * varasm.c (make_decl_rtl) [ASM_DECLARE_REGISTER_GLOBAL]: Use |
| the DECL_NAME, not the DECL_ASSEMBLER_NAME. |
| |
| 2005-03-24 Geoffrey Keating <geoffk@apple.com> |
| |
| * c.opt (fvisibility-inlines-hidden): Allow for ObjC++. |
| |
| * config/i386/darwin.h (TARGET_SUBTARGET_DEFAULT): Add |
| MASK_128BIT_LONG_DOUBLE, MASK_ALIGN_DOUBLE. |
| |
| 2005-03-25 John David Anglin <dave.anglin@nrc-crnc.gc.ca> |
| |
| PR target/15491 |
| * vax.c (vax_rtx_costs_1): Merge with vax_rtx_costs. |
| (vax_rtx_costs): Return false when passed unsupported rtx's. Handle |
| FLOAT_EXTEND, FLOAT_TRUNCATE and TRUNCATE. Fix costs for POST_INC, |
| PRE_DEC, NEG and NOT. |
| |
| 2005-03-25 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| PR rtl-optimization/20249 |
| * cse.c (insert_regs): Do not record equivalence of registers in |
| different modes. |
| |
| 2005-03-24 James E Wilson <wilson@specifixinc.com> |
| |
| * doc/install.texi (--enable-altivec): Delete docs. |
| |
| 2005-03-24 J"orn Rennecke <joern.rennecke@st.com> |
| |
| Band aid for PR target/20617: |
| * config/sh/lib1funcs.asm (FUNC, ALIAS): Add .hidden directive. |
| |
| 2005-03-23 Daniel Berlin <dberlin@dberlin.org> |
| |
| Fix PR tree-optimization/20601 |
| |
| * tree-ssa-pre.c (insert_aux): Add missing condition to |
| constification. |
| |
| 2005-03-22 James E Wilson <wilson@specifixinc.com> |
| |
| PR c++/19769 |
| * dwarf2out.c (declare_in_namespace): Ignore decls with an abstract |
| origin. |
| |
| 2005-03-22 Daniel Berlin <dberlin@dberlin.org> |
| |
| * c-opts.c (c_common_parse_file): Only start/end main source file |
| if debug hooks says the writer wants it. |
| * dbxout.c (dbx_debug_hooks): Add start_end_main_source_file |
| member. |
| (xcoff_debug_hooks): Ditto. |
| * debug.c (do_nothing_hooks): Ditto. |
| * debug.h (gcc_debug_hooks): Ditto. |
| * dwarf2out.c (dwarf2_debug_hooks): Ditto. |
| * sdbout.c (sdb_debug_hooks): Ditto. |
| * vmsdbgout.c (vmsdbg_debug_hooks): Ditto. |
| |
| 2005-03-22 Mark Mitchell <mark@codesourcery.com> |
| |
| * doc/extend.texi: Deprecate C++ min/max operators. |
| |
| 2005-03-22 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/20561 |
| * cfglayout.c (reemit_insn_block_notes): Don't put block notes in |
| between jump table and its label. |
| * final.c (shorten_branches): Handle notes in between ADDR_VEC |
| resp. ADDR_DIFF_VEC and the label preceeding it. |
| (final_scan_insn): Likewise. Ensure ADDR_VEC resp. ADDR_DIFF_VEC |
| is emitted in the right section. |
| |
| 2005-03-21 Roger Sayle <roger@eyesopen.com> |
| |
| PR middle-end/20539 |
| * fold-const.c (fold_binary): Fix type mismatch between |
| TRUTH_{AND,OR,XOR}_EXPR nodes an their operands' types. |
| (fold_binary) <TRUTH_XOR_EXPR>: Avoid calling invert_truthvalue |
| for non-truth-valued expressions. |
| |
| * c-common.c (c_common_truthvalue_conversion): Handle ERROR_MARK |
| and FUNCTION_DECL in the main switch. |
| <TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR, |
| TRUTH_XOR_EXPR>: When changing the result type of these tree nodes, |
| we also need to convert their operands to match. |
| <TRUTH_NOT_EXPR>: Likewise. |
| |
| 2005-03-21 Roger Sayle <roger@eyesopen.com> |
| |
| PR middle-end/20557 |
| * bb-reorder.c (duplicate_computed_gotos): Use can_duplicate_block_p |
| to determine whether a block can be duplicated, rather than test |
| whether the block contains noncopyable insns ourselves. |
| |
| 2005-03-21 Richard Guenther <rguenth@gcc.gnu.org> |
| |
| * tree-ssa-loop.c (gate_tree_complete_unroll): Run complete |
| unrolling if -fpeel-loops is specified, too. |
| * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): |
| Remove superfluous check for flag_unroll_loops. |
| |
| 2005-03-21 Nathan Sidwell <nathan@codesourcery.com> |
| |
| PR other/20564 |
| * gcov.c (output_lines): Only output function block summary when |
| outputting branch information. |
| * doc/gcov.texi: Document format of preamble and additional block |
| information lines. |
| |
| 2005-03-21 Richard Sandiford <rsandifo@redhat.com> |
| |
| * libgcc2.h (LIBGCC2_HAS_SF_MODE): New macro. |
| (LIBGCC2_HAS_DF_MODE, LIBGCC2_HAS_TF_MODE, LIBGCC2_HAS_XF_MODE): Make |
| the defaults false if BITS_PER_UNIT != 8. |
| (SFtype, SCtype, __fixsfdi, __floatdisf, __fixunssfSI, __fixunssfDI) |
| (__powisf2, __divsc3, __mulsc3): Guard with LIBGCC2_HAS_SF_MODE rather |
| than BITS_PER_UNIT != 8. |
| (L_fixdfdi, L_fixsfdi, L_fixtfdi, L_fixunsdfdi, L_fixunsdfsi) |
| (L_fixunssfdi, L_fixunssfsi, L_fixunstfdi, L_fixunsxfdi, L_fixunsxfsi) |
| (L_fixxfdi, L_floatdidf, L_floatdisf, L_floatditf, L_floatdixf): Remove |
| #undefs. |
| * libgcc2.c (__fixunssfDI, __fixsfdi, __floatdisf, __fixunssfSI) |
| (__powisf2, __divsc3, __mulsc3): Guard with LIBGCC2_HAS_SF_MODE. |
| |
| 2005-03-20 Marek Michalkiewicz <marekm@amelek.gda.pl> |
| |
| PR target/18551 |
| * config/avr/avr.c (avr_output_function_prologue): Do not use |
| current_function_name() in a label, use a local label instead. |
| |
| 2005-03-08 Dorit Naishlos <dorit@il.ibm.com> |
| Ira Rosen <irar@il.ibm.com> |
| |
| PR tree-optimization/20474 |
| * tree-vect-analyze.c (vect_analyze_pointer_ref_access): Check the |
| size_type of the relevant pointer. Check for COMPLETE_TYPE_P. |
| |
| 2005-03-20 Joseph S. Myers <joseph@codesourcery.com> |
| |
| * c-decl.c (check_bitfield_type_and_width): Require bit-field |
| width to have integer type. |
| (build_enumerator): Require enumerator value to have integer type. |
| |
| 2005-03-19 Joseph S. Myers <joseph@codesourcery.com> |
| |
| * doc/extend.texi (__builtin_inf): Move statement about INFINITY |
| to __builtin_inff. |
| |
| 2005-03-19 Joseph S. Myers <joseph@codesourcery.com> |
| |
| * c.opt (ansi, std=iso9899:1990, std=iso9899:1999, |
| std=iso9899:199x): Correct descriptions. |
| |
| 2005-03-19 Joseph S. Myers <joseph@codesourcery.com> |
| |
| * config.gcc: Consistently use solaris2.1[0-9]* instead of |
| solaris2.1[0-9]. |
| |
| 2005-03-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| PR middle-end/20493 |
| * fold-const.c (fold_widened_comparison): Don't optimize casts of |
| function pointers on targets that require function pointer |
| canonicalization. |
| (fold_sign_changed_comparison): Likewise. |
| |
| 2005-03-19 Andy Hutchinson <HutchinsonAndy@netscape.net> |
| |
| PR target/18251 |
| * config/avr/avr.md (movmemhi): Rewrite as RTL loop. |
| (*movmemqi_insn): Delete. |
| (*movmemhi): Delete. |
| |
| 2005-03-18 Jan Hubicka <jh@suse.cz> |
| |
| PR middle-end/20225 |
| * cgraph.c (cgraph_mark_reachable_node): Assert that it is not called |
| too late. |
| * varasm.c (find_decl_and_mark_needed): Mark needed only when not |
| called too late. |
| |
| 2005-03-18 Ralf Corsepius <ralf.corsepius@rtems.org> |
| |
| * config/i386/t-rtems-i386 (MULTILIBS): Remove k6, athlon, |
| mno-fp-ret-in-387 multilib variants. |
| |
| 2005-03-17 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/18380 |
| * config/ia64/unwind-ia64.c (_Unwind_FindTableEntry): Removed. |
| |
| 2005-03-17 Richard Henderson <rth@redhat.com> |
| |
| * doc/extend.texi (Weak Pragmas): New section. |
| (attribute alias): Clarify that target must be in the same |
| translation unit. |
| |
| 2005-03-16 James E. Wilson <wilson@specifixinc.com> |
| |
| * config/ia64/ia64.c (issue_nops_and_insn): Check first_insn attribute, |
| and return without creating new state if before_nops_num is nonzero. |
| * config/ia64/ia64.md (first_insn): New attribute. |
| (alloc): Set it to yes. |
| |
| 2005-03-16 Richard Henderson <rth@redhat.com> |
| |
| PR middle-end/15700 |
| * varasm.c (struct alias_pair): Rename from struct output_def_pair. |
| (alias_pairs): Rename from output_defs. |
| (find_decl_and_mark_needed): Split out from assemble_alias. |
| (do_assemble_alias): New. |
| (assemble_output_def): Remove. |
| (finish_aliases_1, finish_aliases_2): New. |
| (process_pending_assemble_output_defs): Remove. |
| (assemble_alias): Defer aliases for which we don't yet have a |
| non-external decl for the target symbol. |
| * passes.c (rest_of_decl_compilation): Register variables with cgraph. |
| * cgraphunit.c (cgraph_finalize_compilation_unit): Use finish_aliases_1. |
| * toplev.c (compile_file): Use finish_aliases_2 instead of |
| process_pending_assemble_output_defs. |
| * tree.h (finish_aliases_1, finish_aliases_2): Declare. |
| (process_pending_assemble_output_defs): Remove. |
| |
| 2005-03-16 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| * config/i386/emmintrin.h (_mm_extract_epi16): Correct the number |
| of closing parenthesis. |
| |
| 2005-03-16 Roger Sayle <roger@eyesopen.com> |
| |
| PR tree-optimization/17454 |
| * tree.c (tree_size): Add case for TREE_BINFO. |
| * fold-const.c (fold_checksum_tree): Only clear the overloaded |
| field TYPE_CACHED_VALUES if TYPE_CACHED_VALUES_P is set. |
| |
| 2005-03-15 Eric Christopher <echristo@redhat.com> |
| |
| * config/mips/mips.h (DWARF_CIE_DATA_ALIGNMENT): Change for |
| STACK_GROWS_DOWNWARD. |
| |
| 2005-03-15 Daniel Jacobowitz <dan@codesourcery.com> |
| |
| * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Don't clear |
| call_used_regs for wCG registers. |
| |
| 2005-03-15 Ulrich Weigand <uweigand@de.ibm.com> |
| |
| * config/s390/s390.c (s390_secondary_output_reload_class): Adapt check |
| for non-offsettable memory references to cope with outstanding reload |
| replacements, take 2. |
| |
| 2005-03-14 Alexandre Oliva <aoliva@redhat.com> |
| |
| 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. |
| |
| 2005-03-14 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR middle-end/18628 |
| * cse.c (fold_rtx_mem): Don't fold a load from a jumptable into a |
| register. |
| |
| 2005-03-14 Richard Sandiford <rsandifo@redhat.com> |
| |
| * doc/invoke.texi: Document new MIPS -msym32 and -mno-sym32 options. |
| * config/mips/mips.h (MASK_SYM32, TARGET_SYM32): New macros. |
| (TARGET_SWITCHES): Add -msym32 and -mno-sym32. |
| (ABI_HAS_64BIT_SYMBOLS): Set to false if TARGET_SYM32. |
| (ASM_SPEC): Pass down -msym32 and -mno-sym32. |
| |
| 2005-03-14 Richard Sandiford <rsandifo@redhat.com> |
| |
| * config/mips/mips.h (mips_fix_vr4130_string): Declare. |
| (TARGET_FIX_VR4130): New macro. |
| (TARGET_OPTIONS): Add -mfix-vr4130. |
| (ISA_HAS_MACCHI): New macro. |
| (ASM_SPEC): Add -mfix-vr4130. |
| * config/mips/mips.c (mips_fix_vr4130_string): New variable. |
| (override_options): Handle mips_fix_vr4130_string. |
| (mips_avoid_hazards): Clear all_noreorder_p |
| if we're working around VR4130 errata and the macc alternatives |
| are not available. |
| * config/mips/mips.md (mfhilo_<mode>): Turn into a define_expand. |
| (*mfhilo_<mode>, *mfhilo_<mode>_macc): New insns. |
| * config/mips/vr.h (DEFAULT_VR_ARCH): Set to mfix-vr4130. |
| (MULTILIB_DEFAULTS): Remove leading "march=". |
| (DRIVER_SELF_SPECS): Likewise. Make -mfix-vr4130 imply -march=vr4130 |
| if no architecture option is given. |
| * config/mips/t-vr (MULTILIB_OPTIONS): Use -mfix-vr4130 for the |
| VR4130 multilibs. |
| (MULTILIB_MATCHES): Map -march=vr4130 to the -mfix-vr4130 multilibs. |
| * doc/invoke.texi: Document -mfix-vr4130. |
| |
| 2005-03-13 Roger Sayle <roger@eyesopen.com> |
| |
| 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. |
| |
| 2005-03-14 Alan Modra <amodra@bigpond.net.au> |
| |
| * config.gcc: Remove excess indentation. |
| (powerpc*-*-*, rs6000-*-*): Accept --with-cpu/tune power5 and 8548. |
| |
| 2005-03-13 Marek Michalkiewicz <marekm@amelek.gda.pl> |
| |
| PR target/20288 |
| * config/avr/avr.c (print_operand): Add 'p' and 'r'. |
| (out_movhi_r_mr): Read low byte of volatile MEM first. |
| (out_movhi_mr_r): Write high byte of volatile MEM first. |
| |
| 2005-03-11 David Edelsohn <edelsohn@gnu.org> |
| |
| PR rtl-optimization/20306 |
| * expr.c (emit_move_complex): Set try_int false if mode is |
| MODE_COMPLEX_FLOAT and mov_optab exists for inner mode. Only try |
| emit_block_move if try_int is true. |
| |
| 2005-03-11 Richard Henderson <rth@redhat.com> |
| |
| PR target/20415 |
| * config/i386/mmx.md (vec_dupv4hi): Fix predicate. |
| * config/i386/i386.c (ix86_expand_vector_init_duplicate): Update |
| to match. |
| |
| 2005-03-11 Richard Sandiford <rsandifo@redhat.com> |
| |
| * config/mips/mips.c (override_options): Only warn about -mint64 |
| deprecation if TARGET_INT64. |
| |
| 2005-03-10 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR rtl-opt/20412 |
| * simplify-rtx.c (simplify_relational_operation_1): Fix typo - check the |
| correct mode. |
| |
| 2005-03-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/20322 |
| * combine.c (try_combine): If recog_for_combine added CLOBBERs |
| to NEWI2PAT, fail to combine if they are used by NEWPAT. |
| |
| 2005-03-10 Aldy Hernandez <aldyh@redhat.com> |
| |
| * doc/invoke.texi: Add 8540 to list of cpus in rs6000 cpu section. |
| |
| 2005-03-10 Bob Wilson <bob.wilson@acm.org> |
| |
| * config/xtensa/xtensa.h (MEMBER_TYPE_FORCES_BLK): Define. |
| |
| 2005-03-10 Nathan Sidwell <nathan@codesourcery.com> |
| |
| PR c++/20375 |
| * function.c (struct assign_parm_data_one): Remove last_named |
| field. |
| (assign_parm_find_data_types): Don't determine last_named. |
| Reorder named_parm determination. |
| (assign_parms): Only setup varargs on the last non-varadic |
| parameter. |
| |
| 2005-03-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR inline-asm/20314 |
| * gimplify.c (gimplify_asm_expr): Handle input/output constraints |
| with multiple alternatives. |
| |
| * stmt.c (parse_output_constraint): Fix a typo. |
| |
| 2005-03-09 Ulrich Weigand <uweigand@de.ibm.com> |
| |
| * config/s390/s390.c (s390_secondary_output_reload_class): Adapt check |
| for non-offsettable memory references to cope with outstanding reload |
| replacements. |
| * config/s390/s390.md ("reload_outti"): Call find_replacement to |
| avoid losing outstanding address reloads. |
| ("reload_outdi", "reload_outdf"): Likewise. |
| |
| 2005-03-08 Ira Rosen <irar@il.ibm.com> |
| |
| PR tree-optimization/20122 |
| * tree-vect-analyze.c (vect_object_analysis): Analyze initial |
| condition of access function instead of base. |
| |
| 2005-03-07 Aldy Hernandez <aldyh@redhat.com> |
| |
| * config/rs6000/rs6000-protos.h: Rename output_e500_flip_eq_bit to |
| output_e500_flip_gt_bit. |
| |
| * config/rs6000/rs6000.c (print_operand): case D: Print out bit 31 |
| as bit 31. |
| (rs6000_generate_compare): Fix logic to look at the correct bits. |
| (output_e500_flip_eq_bit): Rename to output_e500_flip_gt_bit. |
| Look at GT bit. |
| (rs6000_emit_sCOND): Rename gen_e500_flip_eq_bit to |
| gen_e500_flip_gt_bit. Rename gen_move_from_CR_eq_bit to |
| gen_move_from_CR_gt_bit. |
| |
| * config/rs6000/rs6000.md ("move_from_CR_eq_bit"): Change bit |
| ("move_from_CR_eq_bit"): Rename to move_from_CR_gt_bit. |
| (UNSPEC_MV_CR_EQ): Rename to UNSPEC_MV_CR_GT. |
| |
| * config/rs6000/spe.md ("e500_cr_ior_compare"): New. |
| (E500_CR_IOR_COMPARE): New constant. |
| |
| 2005-03-08 Earl Chew <earl_chew@agilent.com> |
| David Billinghurst <David.Billinghurst@riotinto.com> |
| |
| * config/i386/host-cygwin.c: New file to support precompiled |
| headers on cygwin |
| * config/i386/x-cygwin: Use host-cygwin.c on cygwin host |
| * config.host: Use above files for cygwin host. |
| |
| 2005-03-07 Richard Sandiford <rsandifo@redhat.com> |
| |
| PR rtl-optimization/19683 |
| * reload1.c (choose_reload_regs): Pass the number of bits, not the |
| number of bytes, to smallest_int_for_mode. Fix arguments to |
| REG_CANNOT_CHANGE_MODE_P. |
| |
| 2005-03-07 David Billinghurst <David.Billinghurst@riotinto.com> |
| |
| * config/i386/cygwin1.c(mingw_scan): Use xstrdup in calls to putenv. |
| |
| 2005-03-07 Joseph S. Myers <joseph@codesourcery.com> |
| |
| * config/ia64/hpux.h (LINK_SPEC): Add -z. |
| * config/ia64/ia64.c (ia64_function_value): Return a REG not a |
| PARALLEL for an empty structure. |
| |
| 2005-03-05 James A. Morrison <phython@gcc.gnu.org> |
| |
| * doc/c-tree.texi: Wrap comments in @r{}. |
| * doc/cpp.texi: Likewise. |
| * doc/cppinternals.texi: Likewise. |
| * doc/extend.texi: Likewise. |
| * doc/md.texi: Likewise. |
| * doc/objc.texi: Likewise. |
| * doc/sourcebuild.texi: Likewise. |
| * doc/tm.texi: Likewise. |
| * doc/tree-ssa.texi |
| |
| 2005-03-04 Devang Patel <dpatel@apple.com> |
| |
| PR tree-optimization/18815 |
| * tree-if-conv.c (combine_blocks): Adjust loop header edges for |
| loops with zero exit edges. |
| |
| 2005-03-05 Joseph S. Myers <joseph@codesourcery.com> |
| |
| * config.gcc (hppa*64*-*-hpux11*): Use pa/pa-hpux1111.h for |
| *-*-hpux11.[1-9]*, not just for *-*-hpux11.11. |
| |
| 2005-03-05 John David Anglin <dave.danglin@nrc-cnrc.gc.ca> |
| Joseph S. Myers <joseph@codesourcery.com> |
| |
| PR c++/19797 |
| * pa/elf.h, pa64-hpux.h, som.h (ASM_OUTPUT_EXTERNAL_REAL): Define. |
| (ASM_OUTPUT_EXTERNAL): Call pa_hpux_asm_output_external. |
| * pa-protos.h (pa_hpux_asm_output_external): Add prototype. |
| * pa.c (get_plabel): Change argument to symbol_ref. Call |
| maybe_get_identifier instead of get_identifier. |
| (pa_hpux_asm_output_external, pa_hpux_file_end): New functions. |
| (struct deferred_plabel): Replace name field with symbol field. |
| (TARGET_ASM_FILE_END): Define as pa_hpux_file_end if |
| ASM_OUTPUT_EXTERNAL_REAL is defined. |
| (output_global_address): Use output_addr_const for output of all |
| symbol_refs. |
| (output_deferred_plabels): Use symbol_ref instead of name for address |
| output. |
| * pa.h (SYMBOL_FLAG_REFERENCED, SYMBOL_REF_REFERENCED_P, |
| ASM_OUTPUT_SYMBOL_REF): New macros. |
| * som.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use assemble_name_raw. Update |
| comment. |
| (ASM_WEAKEN_LABEL): Use targetm.asm_out.globalize_label to globalize |
| label. |
| |
| 2005-03-04 Andrew Haley <aph@redhat.com> |
| |
| * unwind-dw2-fde-glibc.c (struct |
| unw_eh_callback_data.check_cache): |
| (frame_hdr_cache): New. |
| (_Unwind_IteratePhdrCallback): Add ext_dl_phdr_info. |
| Cache frame header info. |
| |
| 2005-03-04 Daniel Jacobowitz <dan@codesourcery.com> |
| |
| 2005-03-02 Daniel Jacobowitz <dan@codesourcery.com> |
| * config/arm/linux-elf.h (ARM_FUNCTION_PROFILER): Do not use (PLT) |
| for Thumb. |
| * config/arm/netbsd-elf.h (ARM_FUNCTION_PROFILER): Likewise. |
| |
| 2005-03-04 Daniel Berlin <dberlin@dbrelin.org> |
| |
| Fix PR debug/20253 |
| |
| * c-opts.c (c_common_parse_file): Call start_source_file |
| and end_source_file at the approriate times. |
| |
| * dwarf2out.c (dwarf2out_finish): Don't auto-end |
| the main file, it will be done for us now. |
| |
| 2005-03-03 Alan Modra <amodra@bigpond.net.au> |
| |
| PR target/20277 |
| * config/rs6000/rs6000.c (rs6000_override_options): Don't allow |
| -mcpu to override any other explicitly given flags. |
| |
| 2005-03-02 Mark Mitchell <mark@codesourcery.com> |
| |
| PR c++/19916 |
| * varasm.c (initializer_constant_valid_p): Allow conversions |
| between OFFSET_TYPEs. Tidy. |
| |
| 2005-03-02 Geoffrey Keating <geoffk@apple.com> |
| |
| * config/darwin8.h (LIB_SPEC): Switch -lmx and -lSystem. |
| |
| 2005-03-02 Richard Guenther <rguenth@gcc.gnu.org> |
| |
| * cgraph.h (struct cgraph_edge): Add prev_caller and |
| prev_callee fields. |
| (cgraph_node_remove_callees): Export. |
| * cgraph.c (cgraph_create_edge): Initialize prev_caller |
| and prev_callee. |
| (cgraph_edge_remove_callee): New function. |
| (cgraph_edge_remove_caller): Likewise. |
| (cgraph_remove_edge): Use. |
| (cgraph_redirect_edge_callee): Likewise. |
| (cgraph_node_remove_callees): New function. |
| (cgraph_node_remove_callers): Likewise. |
| (cgraph_remove_node): Use. |
| * tree-optimize.c (tree_rest_of_compilation): Use |
| cgraph_node_remove_callees instead of manual loop. |
| * cgraphunit.c (cgraph_finalize_function): Likewise. |
| (cgraph_expand_function): Likewise. |
| (cgraph_remove_unreachable_nodes): Likewise. |
| |
| 2005-03-01 Roger Sayle <roger@eyesopen.com> |
| |
| PR tree-optimization/20216 |
| * tree-chrec.c (tree_fold_factorial): Delete. |
| (tree_fold_binomial): Change argument list to take a return type |
| and change the type of K to unsigned int. Rewrite to avoid explicit |
| evaluation of factorials, and (recursively) calling fold to perform |
| compile-time arithmetic. Return NULL on (internal) overflow. |
| (chrec_evaluate): Change type of K to an unsigned int. Avoid |
| calling tree_fold_binomial unnecessarily. Return chrec_dont_know |
| if any intermediate calculation overflows. |
| (chrec_apply): Update call to chrec_evaluate. |
| |
| 2005-03-01 Hans-Peter Nilsson <hp@axis.com> |
| |
| PR target/19065. |
| * config/cris/cris.h (EXTRA_CONSTRAINT_Q): Accept only (mem (reg)), |
| not including (reg). Do not check for reg being CRIS_PC_REGNUM. |
| (EXTRA_MEMORY_CONSTRAINT): Define as 'Q'. |
| * config/cris/cris.md: Tweak comments referring to Q. |
| ("cmpsi", "cmphi", "cmpqi", "*movsi_internal", "movhi") |
| ("movstricthi", "movqi", "movstrictqi", "movsf", "addsi3") |
| ("addhi3", "addqi3", "subsi3", "subhi3", "subqi3") |
| ("*expanded_andsi", "*expanded_andhi", "*andhi_lowpart", "andqi3") |
| ("*andqi_lowpart", "iorsi3", "iorhi3", "iorqi3", "uminsi3"): |
| Insert spaces in constraints to align alternatives vertically for |
| readability. |
| ("cmphi"): Ditto. Add separate alternative for operand 0 "r", |
| operand 1: "M". |
| |
| 2005-02-28 Dale Johannesen <dalej@apple.com> |
| Stan Shebs <shebs@apple.com> |
| |
| Rewrite of 64-bit Darwin structure-by-value pass/return. |
| * config/rs6000/rs6000.h (CUMULATIVE_ARGS): New fields |
| intoffset, use_stack, named. |
| * config/rs6000/rs6000.c (rs6000_darwin64_function_arg): Remove. |
| (rs6000_darwin64_record_arg_advance_flush): New. |
| (rs6000_darwin64_record_arg_advance_recurse): New. |
| (rs6000_darwin64_record_arg_flush): New. |
| (rs6000_darwin64_record_arg_recurse): New. |
| (rs6000_darwin64_record_arg): New. |
| (rs6000_return_in_memory): Remove AGGREGATE_TYPE_P check. |
| (function_arg_boundary): Handle 128-bit aligned structs. |
| (function_arg_advance): Rewrite darwin64 struct handling. |
| (function_arg): Call rs6000_darwin64_record_arg. |
| (function_arg_partial_nregs): Handle darwin64 structs. |
| (rs6000_darwin64_function_value): Remove. |
| (rs6000_function_value): Call rs6000_darwin64_record_arg. |
| |
| 2005-02-28 John David Anglin <dave.anglin#nrc-cnrc.gc.ca> |
| |
| PR target/19819 |
| * pa.h (GO_IF_LEGITIMATE_ADDRESS): Allow allow hard registers during |
| and after reload in REG+REG indexed addresses without REG_POINTER |
| set in the base and not set in the index. |
| |
| 2005-02-28 Roger Sayle <roger@eyesopen.com> |
| |
| PR middle-end/19874 |
| * tree-ssa.c (tree_ssa_useless_type_conversion_1): A conversion |
| between different machine modes is never a "useless" conversion. |
| |
| 2005-02-27 Zack Weinberg <zack@codesourcery.com> |
| |
| * config/alpha/t-osf4, config/arm/t-netbsd, config/ia64/t-hpux |
| * config/pa/t-hpux-shlib (SHLIB_INSTALL): Create the |
| installation directory first. |
| |
| 2005-02-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| PR rtl-optimization/17728 |
| * pa.md (mulsi3, divsi3, udivsi3, modsi3): Change predicate for |
| operand 0 from general_operand to move_dest_operand. |
| |
| 2005-02-26 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| * pa/elf.h, pa/som.h (ASM_OUTPUT_EXTERNAL): Use assemble_name_raw |
| instead of trying to save and restore TREE_SYMBOL_REFERENCED. |
| * pa/pa64-hpux.h (ASM_OUTPUT_TYPE_DIRECTIVE): Define. |
| (ASM_OUTPUT_EXTERNAL): Don't save and restore TREE_SYMBOL_REFERENCED. |
| |
| 2005-02-26 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR tree-opt/20188 |
| * tree-ssa-alias.c (count_uses_and_derefs): If we have TREE_LIST |
| for the lhs, also walk over the tree. Likewise for rhs. |
| |
| 2005-02-26 Joseph S. Myers <joseph@codesourcery.com> |
| |
| * doc/invoke.texi, doc/standards.texi: Refer to |
| gcc-4.0/c99status.html. |
| |
| 2005-02-26 Paolo Carlini <pcarlini@suse.de> |
| |
| * doc/extend.texi (5.24 Declaring Attributes of Functions)<noreturn>: |
| Clarify that the alternative way doesn't work in GNU C++. |
| |
| 2005-02-25 Steve Ellcey <sje@cup.hp.com> |
| |
| PR target/19930 |
| * doc/tm.texi (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Document. |
| (LIBGCC2_HAS_DF_MODE): New. |
| (LIBGCC2_HAS_XF_MODE): New. |
| (LIBGCC2_HAS_TF_MODE): New. |
| * libgcc2.h (LIBGCC2_HAS_XF_MODE): New name for HAVE_XFMODE. |
| (LIBGCC2_HAS_TF_MODE): New name for HAVE_TFMODE. |
| * libgcc2.c (LIBGCC2_HAS_XF_MODE): New name for HAVE_XFMODE. |
| (LIBGCC2_HAS_TF_MODE): New name for HAVE_TFMODE. |
| (LIBGCC2_HAS_DF_MODE): New name for HAVE_DFMODE. |
| * config/ia64/t-ia64 (LIB1ASMFUNCS): Remove __compat |
| and add _fixtfdi, _fixunstfdi, _floatditf |
| * lib1funcs.asm: Remove L__compat. Add L_fixtfdi, |
| L_fixunstfdi, L_floatditf. |
| * config/ia64/hpux.h (LIBGCC2_HAS_XF_MODE): Define. |
| (LIBGCC2_HAS_TF_MODE): Define. |
| |
| 2005-02-25 Diego Novillo <dnovillo@redhat.com> |
| |
| PR tree-optimization/20204 |
| * tree-into-ssa.c (insert_phi_nodes_for): Do not use |
| REWRITE_THIS_STMT markers on PHI nodes. |
| (rewrite_initialize_block): Likewise. |
| |
| 2005-02-25 Mark Mitchell <mark@codesourcery.com> |
| |
| * version.c (version_string): Mark as prerelease. |
| * doc/include/gcc-common.texi (DEVELOPMENT): @clear it. |
| * configure.ac (is_release): Set to 1. |
| * configure: Regenerated. |
| |
| 2005-02-25 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| PR tree-optimization/19937 |
| * tree-ssa-loop-ivopts.c (rewrite_use_compare): Cast the final value |
| to the type of the induction variable. |
| |
| 2005-02-25 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| PR rtl-optimization/20117 |
| * bb-reorder.c (duplicate_computed_gotos): Don't duplicate |
| the block including noncopyable insn. |
| |
| 2005-02-24 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * cse.c (delete_trivially_dead_insns): Speed up by minimizing |
| calls to find_reg_note. |
| |
| 2005-02-24 Richard Henderson <rth@redhat.com> |
| |
| PR tree-opt/20127 |
| * tree-sra.c (instantiate_element): Copy TREE_THIS_VOLATILE from |
| the type. |
| |
| 2005-02-24 Fariborz Jahanian <fjahanian@apple.com> |
| |
| * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Check for |
| vector types if to use base reg for misaligned non-word ld/std. |
| |
| 2005-02-24 Hans-Peter Nilsson <hp@axis.com> |
| |
| PR target/14619 |
| * config/cris/cris.c (cris_target_asm_function_prologue): Create |
| dwarf2 label manually and put it after, not before the prologue. |
| |
| 2005-02-24 David Edelsohn <edelsohn@gnu.org> |
| |
| PR target/19019 |
| * reload.c (operands_match_p): Only increment register number for |
| SCALAR_INT_MODE_P modes in multiple hard registers. |
| |
| * config/rs6000/rs6000.md (trunctfdf2): Remove register constraints. |
| Fix formatting. |
| |
| 2005-02-24 Volker Reichelt <reichelt@igpm.rwth-aachen.de> |
| |
| * ChangeLog.5: Fix log message typo(s). |
| * ChangeLog.7: Likewise. |
| * ChangeLog.tree-ssa: Likewise. |
| * cfgexpand.c: Fix comment typo(s). |
| * conflict.c: Likewise. |
| * defaults.h: Likewise. |
| * dwarf2out.c: Likewise. |
| * gcse.c: Likewise. |
| * ggc-page.c: Likewise. |
| * tree-eh.c: Likewise. |
| * tree-ssa-dom.c: Likewise. |
| |
| 2005-02-24 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/19019 |
| * mklibgcc.in: Pass -DSHARED when compiling all *_s${objext} objects. |
| * config/rs6000/darwin-ldouble.c: Only use the .symver directives |
| if SHARED is defined. |
| |
| PR target/20196 |
| * config/rs6000/rs6000.md (LTU, GTU sCC splitters): Add earlyclobber, |
| allow splitting only if operands 0 and 3 don't overlap. |
| |
| 2005-02-24 Richard Henderson <rth@redhat.com> |
| |
| PR middle-end/19953 |
| * builtins.c (fold_builtin_complex_mul, fold_builtin_complex_div): New. |
| (fold_builtin_1): Call them. |
| * fold-const.c (fold_complex_mult_parts): Split out from ... |
| (fold_complex_mult): ... here. Fix typo in both imaginary case. |
| (fold_complex_div_parts, fold_complex_div): New. |
| (fold): Use them. |
| * tree.h (fold_complex_mult_parts, fold_complex_div_parts): Declare. |
| |
| 2005-02-24 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> |
| |
| * tree-ssa-ccp.c (visit_assignment): Verify that result of |
| VIEW_CONVERT_EXPR is_gimple_min_invariant. |
| |
| * print-tree.c (print_node_brief): Print LABEL_DECL_UID. |
| (print_node): Likewise. |
| Print TYPE_SIZES_GIMPLIFIED. |
| |
| 2005-02-24 Hans-Peter Nilsson <hp@axis.com> |
| |
| * config/cris/cris.md ("umulhisi3", "umulqihi3", "mulsi3") |
| ("mulqihi3", "mulhisi3", "mulsidi3", "umulsidi3"): Mark input |
| operands as commutative in constraints. |
| |
| 2005-02-24 Diego Novillo <dnovillo@redhat.com> |
| |
| * tree-into-ssa.c: Re-organize internal functions. |
| |
| 2005-02-24 Richard Henderson <rth@redhat.com> |
| |
| PR middle-end/18902 |
| * c-opts.c (c_common_post_options): Set flag_complex_method to 2 |
| for c99. |
| * common.opt (fcx-limited-range): New. |
| * opts.c (set_fast_math_flags): Set flag_cx_limited_range. |
| * toplev.c (flag_complex_method): Initialize to 1. |
| (process_options): Set flag_complex_method to 0 if |
| flag_cx_limited_range. |
| * doc/invoke.texi (-fcx-limited-range): New. |
| |
| 2005-02-24 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * cse.c (delete_trivially_dead_insns): Speed up by using |
| NEXT_INSN and PREV_INSN directly instead of next_real_insn and |
| prev_real_insn. |
| |
| 2005-02-24 Andrea Tarani <andrea.tarani@gilbarco.com> |
| |
| * config/m68k/m68k.c (m68k_save_reg): Also save A5 for non-leaf |
| functions when -mid-shared-library is being used. |
| |
| 2005-02-23 Daniel Jacobowitz <dan@codesourcery.com> |
| |
| * doc/tm.texi (LINK_LIBGCC_SPECIAL): Remove. |
| (LINK_LIBGCC_SPECIAL_1): Don't mention it. |
| * gcc.c: Don't check for LINK_LIBGCC_SPECIAL. |
| * system.h: Poison LINK_LIBGCC_SPECIAL. |
| |
| 2005-02-23 James E Wilson <wilson@specifixinc.com> |
| |
| * gengtype.c (note_insn_name): Make 1 element larger. |
| |
| 2005-02-23 Roger Sayle <roger@eyesopen.com> |
| |
| PR target/20018 |
| PR rtl-optimization/20097 |
| * simplify-rtx.c (simplify_relational_operation_1): Avoid creating |
| BImode SUBREGs of SImode registers which confuse the ia64 backend. |
| |
| 2005-02-23 David Edelsohn <edelsohn@gnu.org> |
| |
| * t-aix43 (SHLIB_INSTALL): Create directory for shared library. |
| * t-aix52 (SHLIB_INSTALL): Same. |
| |
| 2005-02-23 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * genpreds.c: Update copyright. |
| |
| 2005-02-23 Michael Beach <michaelb@ieee.org> |
| |
| PR target/20159 |
| * config/sparc/t-elf (startup files): Assemble with CPP. |
| |
| 2005-02-23 Paolo Bonzini <bonzini@gnu.org> |
| |
| * genpreds.c (mark_mode_tests): Handle non-VOIDmode match_operands. |
| (write_predicate_expr): Likewise. |
| |
| 2005-02-22 Diego Novillo <dnovillo@redhat.com> |
| |
| PR tree-optimization/20100 |
| PR tree-optimization/20115 |
| * tree-optimize.c (init_tree_optimization_passes): Remove |
| pass_maybe_create_global_var. |
| * tree-pass.h (pass_maybe_create_global_var): Remove. |
| * tree-ssa-alias.c (aliases_computed_p): Declare. |
| (struct alias_info): Add field NUM_PURE_CONST_CALLS_FOUND. |
| (count_calls_and_maybe_create_global_var): Remove. |
| (pass_maybe_create_global_var): Remove. |
| (init_alias_info): Do not declare aliases_computed_p. |
| (maybe_create_global_var): If the function contains no |
| call-clobbered variables and a mix of pure/const and regular |
| function calls, create .GLOBAL_VAR. |
| Mark all call-clobbered variables for renaming. |
| (merge_pointed_to_info): Update comment. |
| (add_pointed_to_var): Likewise. |
| (is_escape_site): Likewise. |
| Accept struct alias_info * instead of size_t *. |
| Update all users. |
| Update AI->NUM_CALLS_FOUND and AI->NUM_PURE_CONST_CALLS_FOUND |
| as necessary. |
| * tree-ssa-operands.c (get_call_expr_operands): If |
| ALIASES_COMPUTED_P is false, do not add call-clobbering |
| operands. |
| * tree-ssa.c (init_tree_ssa): Set ALIASES_COMPUTED_P to false. |
| (delete_tree_ssa): Likewise. |
| |
| 2005-02-22 James E Wilson <wilson@specifixinc.com> |
| |
| * toplev.c (backend_init): Don't call init_adjust_machine_modes here. |
| (do_compile): Do call it here. |
| |
| 2005-02-22 Kazu Hirata <kazu@cs.umass.edu> |
| |
| PR rtl-optimization/20017. |
| * passes.c (rest_of_handle_combine, rest_of_handle_cse, |
| rest_of_handle_cse2, rest_of_handle_gcse): Call |
| delete_dead_jumptables immediately before calling cleanup_cfg. |
| |
| 2005-02-22 Devang Patel <dpatel@apple.com> |
| |
| PR 19952 |
| * tree-if-conv.c (process_phi_nodes): Use bsi_after_labels and skip |
| all labels |
| |
| 2005-02-22 David Edelsohn <edelsohn@gnu.org> |
| |
| * config/rs6000/aix.h (WINT_TYPE): Define. |
| |
| 2005-02-22 Stan Shebs <shebs@apple.com> |
| |
| * config/rs6000/rs6000.c (rs6000_override_options): Default to |
| natural alignment for 64-bit Darwin. |
| (rs6000_parse_alignment_option): Warn about uses of -malign-power |
| on 64-bit Darwin. |
| * doc/invoke.texi: Document this. |
| |
| 2005-02-22 DJ Delorie <dj@redhat.com> |
| |
| * c-common.c (c_common_type_for_mode): Pass the mode's precision |
| to make_[un]signed_type, not the mode itself. |
| |
| 2005-02-22 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * cfg.c (cached_make_edge): Call make_edge if edge cache is |
| not available. Use tail calls wherever possible. |
| (make_edge): Call unchecked_make_edge to create an edge. |
| |
| * tree-outof-ssa.c (SSANORM_USE_COALESCE_LIST): Remove. |
| (coalesce_ssa_name): Don't check for |
| SSANORM_USE_COALESCE_LIST. |
| (rewrite_out_of_ssa): Don't use SSANORM_USE_COALESCE_LIST. |
| |
| 2005-02-22 Diego Novillo <dnovillo@redhat.com> |
| |
| * tree-into-ssa.c (rewrite_blocks): Move debug dumps from ... |
| (rewrite_into_ssa): ... here. |
| |
| 2005-02-21 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR tree-optimization/19786 |
| * tree-ssa-alias.c (compute_flow_insensitive_aliasing): Add one |
| tag to another's may-alias bitmap when adding to the other's list. |
| |
| 2005-02-21 DJ Delorie <dj@redhat.com> |
| |
| * tree-ssa-loop-ivopts.c (computation_cost): Start register |
| numbering at LAST_VIRTUAL_REGISTER+1 to avoid possibly using hard |
| registers in unsupported ways. |
| * expmed.c (init_expmed): Likewise. |
| |
| 2005-02-21 Stan Cox <scox@redhat.com> |
| |
| * config/iq2000/iq2000.h (DWARF_FRAME_RETURN_COLUMN): Change to 31. |
| |
| 2005-02-21 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * tree-cfg.c (fold_cond_expr_cond): New. |
| (make_edges): Call fold_cond_expr_cond. |
| (find_taken_edge): Accept nothing but INTEGER_CST. |
| (find_taken_edge_cond_expr): Reject INTEGER_CST other than 0 |
| and 1. |
| (find_taken_edge_switch_expr): Remove a check for INTEGER_CST. |
| |
| * flow.c (delete_dead_jumptables): Speed up by scanning insns |
| that do not belong to any basic block. |
| |
| 2005-02-21 Jeff Law <law@redhat.com> |
| |
| * cfganal.c (find_unreachable_blocks): Manually CSE load of |
| e->dest. |
| |
| 2005-02-21 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * tree-outof-ssa.c (SSANORM_REMOVE_ALL_PHIS): Remove. |
| (SSANORM_COALESCE_PARTITIONS, SSANORM_USE_COALESCE_LIST): |
| Adjust their definitions. |
| (remove_ssa_form): Don't check for SSANORM_REMOVE_ALL_PHIS. |
| (rewrite_out_of_ssa): Don't use SSANORM_REMOVE_ALL_PHIS. |
| |
| * c-objc-common.h, c-pretty-print.c, cgraphunit.c, except.c, |
| genautomata.c, langhooks.c, langhooks.h, system.h, |
| config/arm/lib1funcs.asm: Update copyright. |
| |
| 2005-02-21 Ulrich Weigand <uweigand@de.ibm.com> |
| |
| * dbxout.c (dbxout_function_end): Emit Lscope label always. |
| |
| 2005-02-21 Richard Guenther <rguenth@gcc.gnu.org> |
| |
| PR bootstrap/13770 |
| * doc/install.texi: Document --with-gc. |
| |
| 2005-02-21 Paolo Bonzini <bonzini@gnu.org> |
| |
| * simplify-rtx.c (simplify_unary_operation): Add a missing |
| "break" statement. |
| |
| 2005-02-21 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| PR tree-optimization/18663 |
| * tree-ssa-dom.c (extract_range_from_cond): Return 0 |
| if the type has variable bounds. |
| |
| 2005-02-20 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * gcse.c: Remove an obsolete comment. |
| |
| * cse.c (init_cse_reg_info): Use xmalloc instead of xrealloc. |
| |
| 2005-02-20 Hans-Peter Nilsson <hp@axis.com> |
| |
| * doc/extend.texi (Function Attributes) <Attribute const>: The |
| attribute "pure" is below this text, not above. |
| |
| 2005-02-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| * pa.c (pa_assemble_integer, get_plabel): Small cleanups. |
| (pa_asm_output_mi_thunk): Use asm_output_insn instead of fprintf. |
| * som.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Small cleanup. |
| |
| 2005-02-20 Zack Weinberg <zack@codesourcery.com> |
| |
| PR 18785 |
| * langhooks.h (struct lang_hooks): Add to_target_charset. |
| * langhooks.c (lhd_to_target_charset): New function. |
| * langhooks-def.h: Declare lhd_to_target_charset. |
| (LANG_HOOKS_TO_TARGET_CHARSET): New macro. |
| (LANG_HOOKS_INITIALIZER): Update. |
| * c-common.c (c_common_to_target_charset): New function. |
| * c-common.h: Declare it. |
| * c-objc-common.h (LANG_HOOKS_TO_TARGET_CHARSET): Set to |
| c_common_to_target_charset. |
| |
| * defaults.c (TARGET_BELL, TARGET_BS, TARGET_CR, TARGET_DIGIT0) |
| (TARGET_ESC, TARGET_FF, TARGET_NEWLINE, TARGET_TAB, TARGET_VT): |
| Delete definitions. |
| * system.h: Poison them. |
| * doc/tm.texi: Don't discuss them. |
| * builtins.c (fold_builtin_isdigit): Use lang_hooks.to_target_charset. |
| * c-pretty-print.c (pp_c_integer_constant): Don't use pp_c_char. |
| (pp_c_char): Do not attempt to generate letter escapes for |
| newline, tab, etc. |
| * config/arm/arm.c (output_ascii_pseudo_op): Likewise. |
| * config/mips/mips.c (mips_output_ascii): Likewise. |
| |
| 2005-02-20 Dorit Naishlos <dorit@il.ibm.com> |
| |
| PR tree-optimization/19951 |
| * tree-vect-analyze.c (vect_analyze_loop_form): Check if loop exit edge |
| is abnormal. |
| |
| 2005-02-19 Steven Bosscher <stevenb@suse.de> |
| |
| PR middle-end/19698 |
| * function.h (struct function): New field `max_loop_depth'. |
| * cfgloop.c (establish_preds): Update maximum loop depth seen so far. |
| (flow_loops_find): Reset the max loop depth count before finding loops. |
| * flow.c (MAX_LIVENESS_ROUNDS): New constant. |
| (update_life_info_in_dirty_blocks): Remove 2002-05-28 workaround. |
| (calculate_global_regs_live): Make sure the loop will terminate |
| when the initial sets are not empty. |
| |
| 2005-02-19 Zack Weinberg <zack@codesourcery.com> |
| |
| * mklibgcc.in: If libgcc_eh.a would be empty, put a dummy |
| object inside. |
| * config/ia64/hpux.h: Don't define LIBGCC_SPEC. |
| |
| 2005-02-19 Richard Sandiford <rsandifo@redhat.com> |
| |
| PR other/19525 |
| * doc/invoke.texi: Remove documentation of %M spec. |
| * gcc.c: Likewise. |
| (init_spec): Remove %M suffix from -lgcc_s. |
| (do_spec_1): Remove 'M' case. |
| * mklibgcc.in: Remove SHLIB_MULTILIB handling. Expect SHLIB_LINK |
| to put shared libraries in the multilib directory. Remove the |
| shlib_so_soname substitution variable. Don't add a multilib encoding |
| to shlib_base_name. Set shlib_slibdir_qual to the full pathname |
| reported by -print-multi-os-directory. Pass @multilib_dir@ to |
| SHLIB_INSTALL as well as SHLIB_LINK. |
| * config/t-slibgcc-elf-ver (SHLIB_SONAME): Use @shlib_base_name@. |
| (SHLIB_NAME): Delete. |
| (SHLIB_DIR): New macro. |
| (SHLIB_LINK): Put $(SHLIB_SONAME) and $(SHLIB_SOLINK) in $(SHLIB_DIR). |
| (SHLIB_INSTALL): Adjust accordingly. |
| * config/t-slibgcc-darwin: As for t-slibgcc-elf-ver. |
| * config/t-slibgcc-sld: Likewise. |
| * config/t-libunwind-elf (SHLIBUNWIND_NAME): Delete. |
| (SHLIBUNWIND_SONAME): Use @shlib_base_name@. |
| (SHLIBUNWIND_LINK): Put $(SHLIBUNWIND_SONAME) and $(SHLIB_SOLINK) |
| in $(SHLIB_DIR). |
| (SHLIBUNWIND_INSTALL): Adjust accordingly. |
| * config/i386/t-nwld (SHLIB_SONAME): Delete. |
| (SHLIB_LINK, SHLIB_INSTALL): Use SHLIB_NAME instead of SHLIB_SONAME. |
| Use @shlib_base_name@ instead of @shlib_so_name@. |
| * config/ia64/t-hpux (SHLIB_LINK): Put @shlib_base_name@.so.0 |
| and @shlib_base_name@.so in @multilib_dir@. |
| (SHLIB_INSTALL): Adjust accordingly. Add @shlib_slibdir_qual@ |
| to the install path. |
| * config/mips/t-slibgcc-irix: As for t-slibgcc-elf-ver. |
| (SHLIB_LINK): Remove previous workaround. |
| * config/pa/t-hpux-shlib (SHLIB_DIR, SHLIB_SLIBDIR_QUAL): New macros. |
| (SHLIB_LINK): Put $(SHLIB_SONAME) and $(SHLIB_NAME) in $(SHLIB_DIR). |
| (SHLIB_INSTALL): Adjust accordingly. Add $(SHLIB_SLIBDIR_QUAL) to |
| the install path. |
| * config/rs6000/t-aix43 (SHLIB_LINK): Put @shlib_base_name@.a in |
| @multilib_dir@. Use @multilib_dir@ to check for threading libraries. |
| (SHLIB_INSTALL): Adjust accordingly. |
| (SHLIB_LIBS): Use @multilib_dir@ to check for threading libraries. |
| * config/rs6000/t-aix52: As for config/rs6000/t-aix43. |
| * config/sh/t-linux (SHLIB_LINK, SHLIB_INSTALL): As for |
| config/t-slibgcc-elf-ver. |
| |
| 2005-02-19 Zdenek Dvorak <dvorakz@suse.cz> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/19828 |
| * tree-ssa-loop-im.c: Add a TODO comment. |
| (movement_possibility): Return MOVE_PRESERVE_EXECUTION for calls |
| without side-effects. |
| |
| 2005-02-18 James A. Morrison <phython@gcc.gnu.org> |
| |
| * tree-ssa-ccp.c (widen_bitfield): Pass type to build_int_cst and don't |
| call fold_convert. |
| |
| 2005-02-18 James E. Wilson <wilson@specifixinc.com> |
| |
| * doc/invoke.texi (IA-64 Options): Delete -mb-step. |
| * config/ia64/ia64.c (last_group, group_idx): Delete variables. |
| (errata_find_address_regs, errata_emit_nops, fixup_errata): Delete |
| functions. |
| (ia64_reorg): Delete fixup_errata call. |
| * config/ia64/ia64.h (MASK_B_STEP, TARGET_B_STEP): Delete. |
| (TARGET_SWITCHES): Delete -mb-step entry. |
| |
| 2005-02-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c/20043 |
| * c-typeck.c (composite_type): Handle quals in transparent unions. |
| (type_lists_compatible_p): Likewise. |
| |
| 2005-02-18 Stan Shebs <shebs@apple.com> |
| |
| * config/darwin.c (machopic_select_rtx_section): Don't put relocatable |
| expressions in the .literal8 section. |
| |
| 2005-02-18 Geoffrey Keating <geoffk@apple.com> |
| |
| * config/rs6000/darwin-tramp.asm: Remove stray 'APPLE LOCAL' marker. |
| |
| 2005-02-18 Roger Sayle <roger@eyesopen.com> |
| |
| * fold-const.c (constant_boolean_node): Always create values of the |
| specified type, don't bother calling truthvalue_conversion. |
| |
| 2005-02-18 Joseph S. Myers <joseph@codesourcery.com> |
| |
| * except.c (output_function_exception_table): Call |
| assemble_external_libcall (eh_personality_libfunc). |
| |
| 2005-02-18 Joseph S. Myers <joseph@codesourcery.com> |
| |
| PR target/19886 |
| * config/ia64/ia64.h (struct machine_function): Add state_num. |
| * config/ia64/ia64.c (process_epilogue, |
| process_for_unwind_directive): Use new unwind state numbers each |
| time rather than state 1. |
| |
| 2005-02-18 Ulrich Weigand <uweigand@de.ibm.com> |
| |
| PR target/20054 |
| * config/s390/s390.md ("*llgt_sidi", "*llgt_sidi_split"): Move to |
| before the "*llgt_didi" pattern. |
| |
| 2005-02-18 Jason Merrill <jason@redhat.com> |
| |
| * gimplify.c (gimplify_modify_expr_rhs) [CALL_EXPR]: Revert again. |
| |
| 2005-02-18 Richard Earnshaw <rearnsha@arm.com> |
| |
| * arm/lib1funcs.asm (FUNC_ALIAS): New macro. |
| (div0): Use it in place of ARM_FUNC_ALIAS. |
| (lshrdi3, ashrdi3, ashlrdi3): Likewise. |
| |
| 2005-02-18 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR middle-end/20030 |
| * fold-const.c (fold_indirect_ref_1): Use the correct index for zero |
| access, the lower bound of the array type if it exists. |
| |
| 2005-02-18 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR c++/20008 |
| * stmt.c (expand_case): Don't assume cleanup_tree_cfg will remove |
| cases that are out-of-range for the index type. |
| |
| 2005-02-18 James A. Morrison <phython@gcc.gnu.org> |
| |
| * stmt.c (emit_case_bit_tests): Call fold_convert instead of convert. |
| (estimate_case_costs): Don't call convert. |
| * expmed.c (expand_shift): Likewise. |
| (make_tree): Call fold_convert instead of convert. |
| |
| 2005-02-18 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/19813 |
| * emit-rtl.c (set_mem_attributes_minus_bitpos): Add assertion |
| that ref to be marked MEM_READONLY_P doesn't have base that needs |
| constructing. |
| |
| 2005-02-18 Joseph S. Myers <joseph@codesourcery.com> |
| |
| * genautomata.c (output_get_cpu_unit_code_func, |
| output_cpu_unit_reservation_p): Don't generate old-style function |
| definitions. |
| |
| 2005-02-18 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/20023 |
| PR tree-optimization/20009 |
| * convert.c (convert_to_integer): Revert 2005-02-16 change. |
| |
| PR tree-optimization/18947 |
| * cgraphunit.c (cgraph_finalize_function): When redefining an extern |
| inline, remove all nodes that are inlined into the extern inline |
| being redefined. |
| |
| 2005-02-17 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * bt-load.c, cfgloop.c, convert.c, dominance.c, global.c, |
| loop-invariant.c, stmt.c, tree-ssa-forwprop.c, |
| tree-ssa-live.c, tree-ssanames.c, tree-vn.c, |
| config/host-linux.c, config/arm/fpa.md, config/avr/avr.h: |
| Update copyright. |
| |
| 2005-02-17 Roger Sayle <roger@eyesopen.com> |
| |
| PR tree-optimization/19917 |
| * tree-eh.c (tree_could_trap_p): Consider calls to weak functions |
| to be potentially trapping. |
| |
| 2005-02-17 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * libgcc2.c, tree-vect-analyze.c: Fix comment typos. |
| |
| 2005-02-17 Andreas Krebbel <krebbel1@de.ibm.com> |
| |
| * builtins.c (expand_builtin_return_addr): Remove tem parameter. |
| tem becomes a local variable which is set to the value of the |
| back end defined INITIAL_FRAME_ADDRESS macro. |
| (expand_builtin_frame_address): Omit the base parameter to |
| expand_builtin_return_addr. |
| (expand_builtin_profile_func): Likewise. |
| * config/s390/s390.h (INITIAL_FRAME_ADDRESS_RTX): Define new macro. |
| (DYNAMIC_CHAIN_ADDRESS): Remove the case for the initial frame. |
| * doc/tm.texi: Documentation for INITIAL_FRAME_ADDRESS_RTX added. |
| |
| 2005-02-17 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/s390/s390.c (s390_alloc_pool, s390_free_pool, |
| s390_chunkify_start): Use BITMAP_ALLOC and BITMAP_FREE. |
| * config/frv/frv.c (frv_function_epilogue): Likewise. |
| |
| 2005-02-17 Daniel Berlin <dberlin@dberlin.org> |
| |
| * lambda-code (perfect_nestify): Remove mark/unmark |
| for rewriting hack. |
| * tree-loop-linear.c (linear_transform_loops): Add |
| rewrite_into_ssa call so that ssa is correct for |
| rewriting into loop closed. |
| |
| 2005-02-17 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * bitmap.h (BITMAP_XMALLOC, BITMAP_XFREE): Remove. |
| * bb-reorder.c (duplicate_computed_gotos): Use BITMAP_ALLOC and |
| BITMAP_FREE. |
| * bt-load.c (btr_def_live_range, combine_btr_defs, |
| migrate_btr_def, migrate_btr_defs): Likewise. |
| * cfgcleanup.c (thread_jump): Likewise. |
| * cfgloop.c (get_loop_body_in_bfs_order): Likewise. |
| * df.c (df_insn_table_realloc, df_bitmaps_alloc, df_bitmaps_free, |
| df_alloc, df_free, df_du_chain_create, df_bb_rd_local_compute, |
| df_rd_local_compute, df_reg_info_compute): Likewise. |
| * dominance.c (init_dom_info, free_dom_info): Likewise. |
| * flow.c (init_propagate_block_info, |
| free_propagate_block_info): Likewise. |
| * gcse.c (alloc_gcse_mem, free_gcse_mem): Likewise. |
| * global.c (allocate_bb_info, free_bb_info, calculate_reg_pav, |
| modify_reg_pav): Likewise. |
| * loop-invariant.c (find_defs, find_invariant_insn, |
| find_invariants, free_inv_motion_data): Likewise. |
| * predict.c (tree_predict_by_opcode, |
| estimate_bb_frequencies): Likewise. |
| * stmt.c (expand_case): Likewise. |
| * tree-cfg.c (tree_duplicate_sese_region): Likewise. |
| * tree-dfa.c (mark_new_vars_to_rename): Likewise. |
| * tree-if-conv.c (get_loop_body_in_if_conv_order): Likewise. |
| * tree-into-ssa.c (insert_phi_nodes_for, def_blocks_free, |
| get_def_blocks_for, mark_def_site_blocks, rewrite_into_ssa, |
| rewrite_ssa_into_ssa): Likewise. |
| * tree-optimize.c (tree_rest_of_compilation): Likewise. |
| * tree-outof-ssa.c (new_temp_expr_table, free_temp_expr_table, |
| analyze_edges_for_bb, perform_edge_inserts): Likewise. |
| * tree-scalar-evolution.c (scev_initialize, scev_finalize): Likewise. |
| * tree-sra.c (tree_sra): Likewise. |
| * tree-ssa-alias.c (init_alias_info, delete_alias_info): Likewise. |
| * tree-ssa-ccp.c (ccp_fold_builtin): Likewise. |
| * tree-ssa-dce.c (tree_dce_init, tree_dce_done): Likewise. |
| * tree-ssa-dom.c (tree_ssa_dominator_optimize): Likewise. |
| * tree-ssa-dse.c (tree_ssa_dse): Likewise. |
| * tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_var): |
| Likewise. |
| * tree-ssa-live.c (new_tree_live_info, delete_tree_live_info, |
| calculate_live_on_entry, calculate_live_on_exit, |
| build_tree_conflict_graph): Likewise. |
| * tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize_init, record_use, |
| record_important_candidates, set_use_iv_cost, find_depends, |
| determine_use_iv_costs, iv_ca_new, iv_ca_free, free_loop_data, |
| tree_ssa_iv_optimize_finalize): Likewise. |
| * tree-ssa-loop-manip.c (add_exit_phis_var, get_loops_exit, |
| find_uses_to_rename_use, rewrite_into_loop_closed_ssa, |
| tree_duplicate_loop_to_header_edge): Likewise. |
| * tree-ssa-pre.c (init_pre, fini_pre): Likewise. |
| * tree-ssa.c (verify_flow_insensitive_alias_info, |
| verify_name_tags, verify_ssa, init_tree_ssa, |
| delete_tree_ssa): Likewise. |
| * tree-ssanames.c (marked_ssa_names, init_ssanames, |
| fini_ssanames): Likewise. |
| * tree-vectorizer.c (slpeel_tree_peel_loop_to_edge): Likewise. |
| |
| 2005-02-17 Ralf Corsepius <ralf.corsepius@rtems.org> |
| |
| * config/rs6000/t-rtems: Completely reworked. |
| |
| 2005-02-17 Ira Rosen <irar@il.ibm.com> |
| |
| * tree-data-ref.c (array_base_name_differ_p): Remove gcc_assert. |
| |
| 2005-02-17 Ira Rosen <irar@il.ibm.com> |
| |
| * tree-vect-analyze.c (vect_analyze_pointer_ref_access): Use |
| POINTER_TYPE_P when checking that type is a pointer. |
| (vect_get_memtag): Remove. |
| (vect_address_analysis): Use POINTER_TYPE_P. Call |
| vect_object_analysis with dummy parameter for memtag. |
| (vect_object_analysis): Extract memtag (functionality that |
| used to be in vect_get_memtag and moved here). Fix printings. |
| (vect_analyze_data_refs): Fix comment. Call vect_object_analysis |
| with correct parameters. Remove call to vect_get_memtag. |
| |
| 2005-02-17 Dorit Naishlos <dorit@il.ibm.com> |
| |
| * Makefile.in (tree-vect-analyze.o, tree-vect-transform.o): New. |
| (tree-vectorizer.o): Added missing dependencies. |
| |
| * tree-vectorizer.h (vect_dump, vect_verbosity_level): Added extern |
| decleration. |
| (slpeel_tree_peel_loop_to_edge): Function externalized (had a static |
| declaration in tree-vectorizer.c, now has an extern declaration in |
| tree-vectorizer.h). |
| (slpeel_make_loop_iterate_ntimes, slpeel_can_duplicate_loop_p, |
| slpeel_verify_cfg_after_peeling, vect_strip_conversion, |
| get_vectype_for_scalar_type, vect_is_simple_use, |
| vect_is_simple_iv_evolution, vect_can_force_dr_alignment_p, |
| vect_supportable_dr_alignment, new_loop_vec_info, destroy_loop_vec_info, |
| new_stmt_vec_info, vect_analyze_loop, vectorizable_load, |
| vectorizable_store, vectorizable_operation, vectorizable_assignment, |
| vect_transform_loop, vect_print_dump_info, vect_set_verbosity_level, |
| find_loop_location): Likewise. |
| |
| * tree-vectorizer.c (langhooks.h): #include removed. |
| (slpeel_tree_peel_loop_to_edge): Function externalized. Declaration |
| moved to tree-vectorized.h. |
| (slpeel_make_loop_iterate_ntimes, slpeel_can_duplicate_loop_p, |
| slpeel_verify_cfg_after_peeling, vect_strip_conversion, |
| get_vectype_for_scalar_type, vect_is_simple_use, |
| vect_is_simple_iv_evolution, vect_can_force_dr_alignment_p, |
| vect_supportable_dr_alignment, new_loop_vec_info, |
| destroy_loop_vec_info, new_stmt_vec_info, vect_print_dump_info, |
| vect_set_verbosity_level, find_loop_location): Likewise. |
| |
| (vect_analyze_loop): Function externalized. Declaration moved to |
| tree-vectorized.h. Function definition moved to tree-vect-analyze.c. |
| (vect_analyze_loop_form): Moved to tree-vect-analyze.c. |
| (vect_mark_stmts_to_be_vectorized, vect_analyze_scalar_cycles, |
| vect_analyze_data_ref_accesses, vect_analyze_data_ref_dependences, |
| vect_analyze_data_refs_alignment, vect_compute_data_refs_alignment, |
| vect_enhance_data_refs_alignment, vect_analyze_operations, |
| exist_non_indexing_operands_for_use_p, vect_mark_relevant, |
| vect_stmt_relevant_p, vect_get_loop_niters, |
| vect_analyze_data_ref_dependence, vect_compute_data_ref_alignment, |
| vect_analyze_data_ref_access, vect_analyze_pointer_ref_access, |
| vect_can_advance_ivs_p, vect_get_ptr_offset, vect_analyze_offset_expr, |
| vect_base_addr_differ_p, vect_object_analysis, vect_address_analysis, |
| vect_get_memtag): Likewise. |
| |
| (vectorizable_load): Function externalized. Declaration moved to |
| tree-vectorized.h. Function definition moved to tree-vect-transform.c. |
| (vectorizable_store, vectorizable_operation, vectorizable_assignment, |
| vect_transform_loop): Likewise. |
| (vect_transform_stmt): Moved to tree-vect-transform.c. |
| (vect_align_data_ref, vect_create_destination_var, |
| vect_create_data_ref_ptr, vect_create_index_for_vector_ref, |
| vect_create_addr_base_for_vector_ref, vect_get_new_vect_var, |
| vect_get_vec_def_for_operand, vect_init_vector, |
| vect_finish_stmt_generation, vect_generate_tmps_on_preheader, |
| vect_build_loop_niters, vect_update_ivs_after_vectorizer, |
| vect_gen_niters_for_prolog_loop, vect_update_inits_of_dr, |
| vect_update_inits_of_drs, vect_do_peeling_for_alignment, |
| vect_do_peeling_for_loop_bound): Likewise. |
| |
| * tree-vect-analyze.c: New file. |
| * tree-vect-transform.c: New file. |
| |
| 2005-02-17 Jason Merrill <jason@redhat.com> |
| |
| PR mudflap/19319, c++/19317 |
| * gimplify.c (gimplify_modify_expr_rhs) [CALL_EXPR]: Make return |
| slot explicit. |
| |
| 2005-02-17 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/install.texi (Specific): Update link for Darwin-specific |
| tool binary site. |
| |
| 2005-02-16 James A. Morrison <phython@gcc.gnu.org> |
| |
| * fold-const.c (invert_truthvalue): <INTEGER_CST>: Call |
| constant_boolean_node. |
| |
| 2005-02-16 David Edelsohn <edelsohn@gnu.org> |
| |
| PR target/19019 |
| * config/rs6000/t-aix43 (SHLIB_MAPFILES): Add libgcc-ppc64.ver. |
| * config/rs6000/t-aix52 (SHLIB_MAPFILES): Same. |
| |
| 2005-02-16 Richard Henderson <rth@redhat.com> |
| |
| PR 19920 |
| * libgcc2.c (WORD_SIZE): Remove all definitions; replace uses |
| with W_TYPE_SIZE. |
| (HIGH_WORD_COEFF, HIGH_HALFWORD_COEFF): Remove all definitions; |
| replace uses with Wtype_MAXp1_F. |
| (L_fixunstfdi, L_fixtfdi, L_floatditf, L_fixunsxfdi, L_fixxfdi, |
| L_floatdixf, L_fixunsxfsi, L_fixunsdfdi, L_floatdidf, L_fixunsdfsi, |
| L_powidf2, L_powixf2, L_powitf2, L_muldc3, L_divdc3, L_mulxc3, |
| L_divxc3, L_multc3, L_divtc3): Protect with HAVE_DFMODE, HAVE_XFMODE, |
| and HAVE_TFMODE as appropriate. |
| (__fixunssfDI): Provide an implementation that doesn't need DFmode. |
| (__floatdisf): Likewise. |
| * libgcc2.h (LIBGCC2_DOUBLE_TYPE_SIZE): New. |
| (HAVE_DFMODE, HAVE_XFMODE, HAVE_TFMODE): New. |
| (Wtype_MAXp1_F): New. |
| (DFtype, DCtype, __fixdfdi, __floatdidf, __fixunsdfSI, __fixunsdfDI, |
| __powidf2, __divdc3, __muldc3): Protect with HAVE_DFMODE. |
| |
| 2005-02-16 Richard Earnshaw <rearnsha@arm.com> |
| |
| * PR target/19162 |
| * arm.c (arm_apply_result_size): New function. |
| * arm.h (APPLY_RESULT_SIZE): Define. |
| * arm-protos.h (arm_apply_result_size): Add prototype. |
| * arm.md (RO_REGNUM, FPA_F0_REGNUM, FPA_F7_REGNUM): New constants. |
| (movxf): New expand. |
| (ldmsi_postinc4_thumb, stmsi_postinc4_thumb): New patterns for Thumb. |
| (call_value_symbol): Remove predicate for operand 0. |
| (call_value_insn, sibcall_value, sibcall_value_insn): Likewise. |
| (untyped_call): Rework to correclty return values for any type. |
| (untyped_return): New expand. |
| * fpa.md (movxf_fpa): Simplify and use sfm/lfm when appropriate. |
| |
| 2005-02-16 Stan Shebs <shebs@apple.com> |
| |
| * config.gcc (powerpc-*-darwin*): Use fragment for Darwin 8 or later. |
| * config/rs6000/t-darwin8: New, for 64-bit multilib. |
| |
| 2005-02-16 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| * doc/install.texi (sparc-sun-solaris2*): Document required GMP |
| configure settings on Solaris 7 and later. |
| |
| 2005-02-16 Diego Novillo <dnovillo@redhat.com> |
| |
| PR tree-optimization/19865 |
| * tree-optimize.c (init_tree_optimization_passes): Run |
| pass_may_alias after pass_sra. |
| |
| 2005-02-16 Richard Henderson <rth@redhat.com> |
| Stuart Hastings <stuart@apple.com> |
| |
| PR debug/19521 |
| * dbxout.c (dbxout_function_end): Take decl parameter; update callers. |
| Do nothing if debug info suppressed for this function. |
| (dbxout_begin_function): Early exit if debug info suppressed for |
| this function. |
| |
| 2005-02-16 Kazu Hirata <kazu@cs.umass.edu> |
| |
| PR target/20007 |
| * config/ip2k/ip2k.c (ip2k_reorg): Adjust calls to |
| find_basic_blocks. |
| * config/sh/sh.c (sh_output_mi_thunk): Likewise. |
| |
| PR tree-optimization/19967 |
| * builtins.c (expand_builtin_strstr, expand_builtin_strpbrk, |
| expand_builtin_strchr, expand_builtin_strrchr): Take a new |
| argument TYPE. Adjust calls to fold_builtin_XXX. |
| (expand_builtin, fold_builtin_1): Adjust calls to |
| expand_builtin_XXX. |
| (fold_builtin_strchr, fold_builtin_strpbrk, |
| fold_builtin_strstr, fold_builtin_strrchr): Convert the folded |
| result to a requested type TYPE. |
| |
| 2005-02-16 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/19857 |
| * fold-const.c (fold): Don't optimize (T)(x & cst) to |
| (T)x & (T)cst if (T)cst overflows. |
| * convert.c (convert_to_integer) <case POINTER_TYPE>: Pass |
| TYPE_UNSIGNED (type) as type_for_size's UNSIGNEDP argument. |
| |
| 2005-02-15 Jeff Law <law@redhat.com> |
| |
| * gcse.c (blocks_with_calls): New bitmap. |
| (alloc_gcse_mem): Allocate it. |
| (free_gcse_mem): Free it. |
| (clear_modifY_mem_tables): Clear it. |
| (record_last_mem_set_info): Set the proper bit in BLOCK_WITH_CALLS |
| when we encounter CALL_INSNs. |
| (compute_transp, case MEM): Handle blocks with calls separate |
| from blocks without calls. Use bitmap iterators rather than |
| FOR_EACH_BB. |
| |
| 2005-02-15 Peter O'Gorman <peter@pogma.com> |
| |
| PR bootstrap/18810 |
| * mklibgcc.in (vis_hide): Use a temporary object file, not |
| -o /dev/null. |
| |
| 2005-02-15 Andy Hutchinson <HutchinsonAndy@netscape.net> |
| |
| PR target/19924 |
| * config/avr/avr.h (MODES_TIEABLE_P): Define to 1 to allow subreg |
| access optimization. |
| |
| 2005-02-15 David Edelsohn <edelsohn@gnu.org> |
| Alan Modra <amodra@bigpond.net.au> |
| |
| PR target/19019 |
| * config/rs6000/darwin-ldouble.c (_xlqadd): Rename to __gcc_qadd. |
| (_xlqsub): Rename to __gcc_qsub. |
| (_xlqmul): Rename to __gcc_qmul. |
| (_xlqdiv): Rename to __gcc_qdiv. |
| Provide versioned symbol aliases with old names. |
| * config/rs6000/libgcc-ppc64.ver: Rename symbols. |
| * config/rs6000/rs6000.c (rs6000_init_libfuncs): Rename symbols. |
| * config/rs6000/t-aix43 (LIB2FUNCS_EXTRA): New. |
| * config/rs6000/t-aix52 (LIB2FUNCS_EXTRA): New. |
| * config/rs6000/t-newas (LIB2FUNCS_EXTRA): New. |
| |
| 2005-02-15 James A. Morrison <phython@gcc.gnu.org> |
| |
| * fold-const.c (fold): Fold -(~A) to A + 1. Fold ~(-A) to A - 1. |
| Fold ~(A - 1) and ~(A + -1) to -A. |
| |
| 2005-02-15 James A. Morrison <phython@gcc.gnu.org> |
| |
| PR pch/14940 |
| PR target/19300 |
| * config/host-linux.c (linux_gt_pch_use_address): Copy from |
| config/pa/pa-host.c:pa_gt_pch_use_address. |
| |
| 2005-02-15 Daniel Berlin <dberlin@dberlin.org> |
| |
| * tree-vn.c (get_value_handle): Make sure that given an |
| is_gimple_min_invariant expression, we always return it. |
| |
| 2005-02-15 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * passes.c (rest_of_handle_gcse): Fix a comment. |
| |
| 2005-02-15 Jeff Law <law@redhat.com> |
| |
| * gcse.c (canon_modify_mem_set_list_set): Kill unnecessary |
| bitmap. |
| (alloc_gcse_mem, free_gcse_mem): Corresponding changes. |
| (canon_list_insert, record_last_mem_set_info): Similarly. |
| (clear_modify_mem_tables): Similarly. |
| |
| 2005-02-15 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * bitmap.c, bitmap.h, lambda-code.c, tree-dfa.c, tree-dump.c, |
| tree-dump.h, tree-ssa-loop-manip.c, value-prof.c, |
| config/mips/mips.md, config/rs6000/aix.h, |
| config/rs6000/beos.h, config/rs6000/sysv4.h: Update copyright. |
| |
| 2005-02-15 Richard Henderson <rth@redhat.com> |
| |
| * bb-reorder.c (find_traces_1_round): Force fallthru edge from a |
| call to be best_edge. |
| |
| 2005-02-14 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * basic-block.h: Adjust the prototype for find_basic_blocks. |
| * cfgbuild.c (find_basic_blocks): Remove unused arguments. |
| * passes.c (rest_of_handle_loop_optimize): Adjust the call to |
| find_basic_blocks. |
| |
| * flow.c (recompute_reg_usage): Remove all arguments. |
| * passes.c (rest_of_compilation): Adjust the call to |
| recompute_reg_usage. |
| * rtl.h: Adjust the prototype for recompute_reg_usage. |
| |
| 2005-02-14 Daniel Berlin <dberlin@dberlin.org> |
| |
| * tree-dump.c (dump_files): Update to reflect new member |
| of dump_file_info. |
| (dump_register): Add new argument. |
| Set glob name. |
| (dump_switch_p_1): Check against glob name if doglob was passed. |
| (dump_switch_p): Check against regular first, then glob if |
| we didn't have any hits on the dump name. |
| * tree-optimize.c (register_one_dump_file): |
| Pass in glob name as well. |
| * tree-pass.h (struct dump_file_info): Add glob |
| member. |
| |
| 2005-02-14 Joseph S. Myers <joseph@codesourcery.com> |
| |
| PR preprocessor/16323 |
| * doc/invoke.texi: Document that -Wendif-labels is on by default. |
| |
| 2005-02-14 David Edelsohn <edelsohn@gnu.org> |
| |
| PR target/19019 |
| * config/rs6000/rs6000.md (trunctfdf2): Change to define_expand. |
| (trunctfdf2_internal1): New. |
| (trunctfdf2_internal2): Renamed from trunctfdf2. |
| |
| 2005-02-14 Diego Novillo <dnovillo@redhat.com> |
| |
| PR tree-optimization/19853 |
| * tree-dfa.c (add_referenced_var): Always examine DECL_INITIAL. |
| |
| 2005-02-14 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * passes.c (rest_of_handle_loop_optimize): Remove calls to |
| delete_dead_jumptables and cleanup_cfg. |
| |
| 2005-02-14 Ulrich Weigand <uweigand@de.ibm.com> |
| |
| * reload.c (find_reloads): Swap address_reloaded flags when |
| swapping commutative operands. |
| |
| 2005-02-14 Sebastian Pop <pop@cri.ensmp.fr> |
| |
| * lambda-code.c (lambda_loopnest_to_gcc_loopnest, perfect_nestify): |
| Use standard_iv_increment_position for computing the bsi position |
| for create_iv. |
| * tree-ssa-loop-manip.c (create_iv): Add a comment on how to compute |
| the bsi position. |
| |
| 2005-02-13 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| PR target/17428 |
| * cfgrtl.c (safe_insert_insn_on_edge): Avoid extending |
| life range of hard registers. |
| * value-prof.c (insn_prefetch_values_to_profile): Only |
| scan normal insns. |
| |
| * value-prof.c (rtl_find_values_to_profile): Do not look for values to |
| profile in libcalls. |
| |
| 2005-02-13 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * bitmap.h (bitmap_and_compl_into): Return bool. |
| * bitmap.c (bitmap_and_compl_into): Return changed flag. |
| |
| 2005-02-13 James A. Morrison <phython@gcc.gnu.org> |
| |
| PR tree-optimization/19944 |
| * fold-const.c (fold): Re-add ABS_EXPR folding. |
| |
| 2005-02-13 David Edelsohn <edelsohn@gnu.org> |
| |
| PR target/19019 |
| * config/rs6000/aix.h ({TARGET,MASK}_XL_CALL): Rename to |
| {TARGET,MASK}_XL_COMPAT. |
| (SUBTARGET_SWITCHES): Rename xl-call to xl-compat. Use |
| MASK_XL_COMPAT. |
| * config/rs6000/beos.h ({TARGET,MASK}_XL_CALL): Remove. |
| * config/rs6000/rs6000.c (function_arg): Change TARGET_XL_CALL to |
| TARGET_XL_COMPAT. |
| (rs6000_arg_partial_bytes): Same. |
| (rs6000_generate_compare): Generate PARALLEL for compare if TFmode |
| and XL compatibility enabled. |
| * config/rs6000/rs6000.h (TARGET_XL_CALL): Rename to TARGET_XL_COMPAT. |
| * config/rs6000/rs6000.md (cmptf_internal1): Add !TARGET_XL_COMPAT |
| test to final condition. |
| (cmptf_internal2): New. |
| * doc/invoke.texi (RS/6000 Subtarget Options): Change xl-call to |
| xl-compat. Add TFmode information to description. |
| |
| 2005-02-13 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * flags.h, read-rtl.c, tree-ssa-live.h: Update copyright. |
| |
| 2005-02-13 Jason Merrill <jason@redhat.com> |
| |
| PR c++/16405 |
| * fold-const.c (fold_indirect_ref_1): Split out from... |
| (build_fold_indirect_ref): Here. |
| (fold_indirect_ref): New fn. |
| * tree.h: Declare it. |
| * gimplify.c (gimplify_compound_lval): Call fold_indirect_ref. |
| (gimplify_modify_expr_rhs): Likewise. |
| (gimplify_expr): Likewise. |
| |
| 2005-02-13 James A. Morrison <phython@gcc.gnu.org> |
| |
| PR tree-optimization/14303 |
| PR tree-optimization/15784 |
| * fold-const.c (fold): Fold ABS_EXPR<x> >= 0 to true, when possible. |
| Fold ABS_EXPR<x> < 0 to false. Fold ABS_EXPR<x> == 0 to x == 0 and |
| ABS_EXPR<x> != 0 to x != 0. |
| |
| 2005-02-12 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * c-tree.h, combine.c, expmed.c, flow.c, libgcc2.c, |
| simplify-rtx.c, tree-ssa-live.h: Fix comment typos. Follow |
| spelling conventions. |
| |
| * passes.c (rest_of_handle_gcse): Don't run cse_main and |
| delete_trivially_dead_insns too many times. |
| |
| * passes.c (rest_of_handle_gcse): Remove dead assignments to |
| tem and tem2. |
| |
| 2005-02-12 Ira Rosen <irar@il.ibm.com> |
| |
| * tree-vectorizer.c (vect_get_base_and_offset): Remove. |
| (vect_is_simple_iv_evolution): Remove redundant parameter |
| and step check. |
| (vect_analyze_scalar_cycles): Call vect_is_simple_iv_evolution |
| without last parameter. |
| (vect_analyze_pointer_ref_access): Get access_fn as parameter. |
| Return pointer step. Call vect_is_simple_iv_evolution without |
| last parameter. Check only that the step is multiple of size |
| type. Remove stmt_vinfo updates. |
| (vect_get_memtag_and_dr): Remove. |
| (vect_get_memtag): New function. |
| (vect_address_analysis): New function. |
| (vect_object_analysis): New function. |
| (vect_analyze_data_refs): Call vect_object_analysis and |
| vect_get_memtag. Update stmt_vinfo fields. |
| |
| 2005-02-12 Ira Rosen <irar@il.ibm.com> |
| |
| * tree-data-ref.c (array_base_name_differ_p): Check that the bases |
| exist and are objects. Remove checks for pointer. |
| * tree-vectorizer.c (vect_create_addr_base_for_vector_ref): Use |
| STMT_VINFO_VECT_DR_BASE_ADDRESS instead of DR_BASE_NAME. |
| (vect_create_data_ref_ptr): Likewise. |
| (vect_base_addr_differ_p): New function. |
| (vect_analyze_data_ref_dependence): Call vect_base_addr_differ_p. |
| (vect_analyze_pointer_ref_access): Add output parameter - ptr_init. |
| Don't set the DR_BASE_NAME field of data-ref. |
| (vect_get_memtag_and_dr): Use ptr_init instead of DR_BASE_NAME. |
| |
| 2005-02-12 Uros Bizjak <uros@kss-loka.si> |
| |
| * optabs.h (enum optab_index): Add new OTI_ldexp. |
| (ldexp_optab): Define corresponding macro. |
| * optabs.c (init_optabs): Initialize ldexp_optab. |
| * genopinit.c (optabs): Implement ldexp_optab using ldexp?f3 |
| patterns. |
| * builtins.c (expand_builtin_mathfn_2): Handle BUILT_IN_LDEXP{,F,L} |
| using ldexp_optab. |
| (expand_builtin): Expand BUILT_IN_LDEXP{,F,L} using |
| expand_builtin_mathfn_2 if flag_unsafe_math_optimizations is set. |
| |
| * config/i386/i386.md (ldexpsf3, ldexpdf3, ldexpxf3): New expanders |
| to implement ldexpf, ldexp and ldexpl built-ins as inline x87 |
| intrinsics. |
| |
| 2005-02-12 Ira Rosen <irar@il.ibm.com> |
| |
| * tree-vectorizer.h (struct _stmt_vec_info): Rename a field: base |
| to base_address. |
| * tree-vectorizer.c (new_stmt_vec_info): Rename the above field of |
| stmt_vec_info. |
| (vect_get_base_and_offset): Always return an address. |
| (vect_create_addr_base_for_vector_ref): Remove treatment for |
| different data reference types. |
| (vect_compute_data_ref_alignment): Rename base to base_address in |
| stmt_vec_info. Get the object in order to force its alignment. |
| (vect_get_memtag_and_dr): Rename base to base_address in |
| stmt_vec_info. Extract the object for memtag analysis. |
| |
| 2005-02-12 Hans-Peter Nilsson <hp@axis.com> |
| |
| PR regression/19898. |
| * config/cris/cris.c (cris_notice_update_cc): When testing if insn |
| changes cc_status, use apply modified_in_p to part of cc_status |
| and insn, not cris_reg_overlap_mentioned_p on SET_DEST of insn |
| body. |
| |
| 2005-02-11 Richard Henderson <rth@redhat.com> |
| |
| * tree-complex.c (expand_complex_libcall): New. |
| (expand_complex_multiplication): Use it for c99 compliance. |
| (expand_complex_division): Likewise. |
| * fold-const.c (fold_complex_add, fold_complex_mult): New. |
| (fold): Call them. |
| * builtins.c (built_in_names): Remove const. |
| * tree.c (build_common_builtin_nodes): Build complex arithmetic |
| builtins. |
| * tree.h (BUILT_IN_COMPLEX_MUL_MIN, BUILT_IN_COMPLEX_MUL_MAX): New. |
| (BUILT_IN_COMPLEX_DIV_MIN, BUILT_IN_COMPLEX_DIV_MAX): New. |
| (built_in_names): Remove const. |
| * c-common.c (c_common_type_for_mode): Handle complex modes. |
| * flags.h, toplev.c (flag_complex_method): Rename from |
| flag_complex_divide_method. |
| * libgcc2.c (__divsc3, __divdc3, __divxc3, __divtc3, |
| __mulsc3, __muldc3, __mulxc3, __multc3): New. |
| * libgcc2.h: Declare them. |
| * libgcc-std.ver: Export them. |
| * mklibgcc.in (lib2funcs): Build them. |
| |
| 2005-02-11 Steven Bosscher <stevenb@suse.de> |
| |
| PR tree-optimization/19876 |
| Partially revert my change from 2005-01-14 |
| * tree-ssa-pre.c (compute_antic_aux): Make recursive once again... |
| (compute_antic): ...and remove the loop here. |
| |
| 2005-02-11 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/19858 |
| * fold-const.c (make_bit_field_ref): If bitpos == 0 and bitsize |
| is number of inner's bits, avoid creating a BIT_FIELD_REF. |
| |
| * config/rs6000/sysv4.h (ENDFILE_LINUX_SPEC): Use crtendS.o instead of |
| crtend.o if -pie. Use %{x:a;:b} spec syntax. |
| |
| 2005-02-11 Daniel Jacobowitz <dan@codesourcery.com> |
| |
| * config/mips/linux-unwind.h (mips_fallback_frame_state): Adjust |
| offsets for the big-endian 32-bit case. |
| |
| 2005-02-11 Joseph S. Myers <joseph@codesourcery.com> |
| |
| * config/ia64/hpux.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define. |
| |
| 2005-02-11 Dale Johannesen <dalej@apple.com> |
| |
| * cselib.c (cselib_process_insn): Clear out regs where |
| HARD_REGNO_CALL_PART_CLOBBERED is true at a call. |
| * reload.c (find_equiv_reg): Ditto. |
| |
| 2005-02-11 Ian Lance Taylor <ian@airs.com> |
| |
| * read-rtl.c (read_rtx_1): Give fatal error if we see a vector |
| with no elements. |
| |
| * tree.c (build_function_type_list): Work correctly if there are |
| no arguments. |
| |
| 2005-02-11 Ulrich Weigand <uweigand@de.ibm.com> |
| |
| * config/s390/s390.md ("*cmpdi_cct", "*cmpsi_cct", "*cmpdi_ccs", |
| "*cmpsi_ccs"): Use %h instead of %c to print immediate operand. |
| ("*zero_extendhisi2_64", "*zero_extendhisi2_31"): Choose based on |
| TARGET_ZARCH instead of TARGET_64BIT. |
| |
| 2005-02-11 Ralf Corsepius <ralf.corsepius@rtems.org> |
| |
| * config/rs6000/t-rtems: |
| (MULTILIB_OPTIONS): Remove mcpu=602. |
| (MUTLILIB_DIRNAMES): Remove m602. |
| (MULTILIB_MATCHES): Add ${MULTILIB_MATCHES_FLOAT}. |
| Let mcpu=602 match mcpu=603. |
| (MULTILIB_NEW_EXCEPTIONS_ONLY): Add mcpu=601, mcpu=602, mcpu=m603. |
| |
| 2005-02-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| * pa/linux-unwind.h (pa32_fallback_frame_state): Handle misaligned |
| signal trampolines. |
| |
| 2005-02-10 David Daney <ddaney@avtrex.com> |
| |
| * config/alpha/linux-unwind.h: Add exception clause to copyright. |
| * config/i386/linux-unwind.h: Likewise. |
| * config/ia64/linux-unwind.h: Likewise. |
| * config/mips/linux-unwind.h: Likewise. |
| * config/pa/linux-unwind.h: Likewise. |
| * config/rs6000/linux-unwind.h: Likewise. |
| * config/s390/linux-unwind.h: Likewise. |
| * config/sh/linux-unwind.h: Likewise. |
| * config/sparc/linux-unwind.h: Likewise. |
| |
| 2005-02-10 Steven Bosscher <stevenb@suse.de> |
| |
| PR tree-optimization/17549 |
| * tree-outof-ssa.c (find_replaceable_in_bb): Do not allow |
| TER to replace a DEF with its expression if the DEF and the |
| rhs of the expression we replace into have the same root |
| variable. |
| |
| 2005-02-10 Richard Sandiford <rsandifo@redhat.com> |
| |
| * config/mips/mips.md: Fix the placement of the match_scratch in the |
| lea64 peephole2. |
| |
| 2005-02-10 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * cse.c, tree-ssa-loop-ivopts.c, config/rs6000/linux-unwind.h: |
| Fix comment typos. |
| |
| 2005-02-10 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| * tree-ssa-loop-ivopts.c (determine_base_object): Ignore casts. |
| (strip_offset): Handle addresses. |
| (add_address_candidates): Use strip_offset. |
| (difference_cost): Reflect strip_offset change. |
| (force_var_cost, difference_cost): Strip nops. |
| |
| 2005-02-10 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * df.h (DF_REF_MODE_CHANGE, DF_REF_MEM_OK): Remove. |
| |
| * builtins.def, haifa-sched.c, libgcc2.c, libgcc2.h, |
| tree-ssa-loop-ivcanon.c, tree-ssa-loop-niter.c, |
| config/cris/cris-protos.h, config/cris/cris.c: Update |
| copyright. |
| |
| 2005-02-10 Jeff Law <law@redhat.com> |
| |
| * tree-ssa-dom.c (thread_across_edge): Use xmalloc, not xcalloc. |
| (lookup_avail_expr): Similarly. |
| |
| 2005-02-10 Richard Guenther <rguenth@gcc.gnu.org> |
| |
| * builtins.c (fold_builtin_powi): New function. |
| (fold_builtin_1): Call it. |
| |
| 2005-02-10 Steven Bosscher <stevenb@suse.de> |
| |
| PR documentation/19309 |
| * doc/cpp.texi: The __GNUC__ and related predefined macros |
| are also defined for the "standalone" cpp. |
| Some non-GCC compilers may also define __GNUC__. |
| |
| 2005-02-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c/19342 |
| * c-typeck.c (common_type): New routine. Old common_type renamed |
| to... |
| (c_common_type): ...this. |
| (build_conditional_expr, build_binary_op): Use c_common_type instead |
| of common_type. |
| |
| 2005-02-10 Steven Bosscher <stevenb@suse.de> |
| |
| * doc/md.texi: Replace @samp{length} with @code{length}. |
| |
| 2005-02-09 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| PR tree-optimization/18687 |
| * tree-flow.h (find_loop_niter): Declare. |
| * tree-ssa-loop-ivcanon.c (canonicalize_loop_induction_variables): |
| Try using scev even for loops with more than one exit. |
| * tree-ssa-loop-ivopts.c (struct loop_data): Removed niter field. |
| (struct ivopts_data): Added niters field. |
| (struct nfe_cache_elt): New. |
| (nfe_hash, nfe_eq, niter_for_exit, niter_for_single_dom_exit): New |
| functions. |
| (tree_ssa_iv_optimize_init): Initialize niters cache. |
| (determine_number_of_iterations): Removed. |
| (find_induction_variables): Do not call determine_number_of_iterations. |
| Access niters for single exit through niter_for_single_dom_exit. |
| (add_iv_outer_candidates): Access niters for single exit through |
| niter_for_single_dom_exit. |
| (may_eliminate_iv): Take data argument. Use niter_for_exit. Do not use |
| number_of_iterations_cond. |
| (iv_period): New function. |
| (determine_use_iv_cost_condition): Pass data to may_eliminate_iv. |
| (may_replace_final_value): Take data argument. Use |
| niter_for_single_dom_exit. |
| (determine_use_iv_cost_outer): Pass data to may_replace_final_value. |
| (rewrite_use_compare): Pass data to may_eliminate_iv. |
| (rewrite_use_outer): Pass data to may_replace_final_value. |
| (free_loop_data): Clean up the niters cache. |
| (tree_ssa_iv_optimize_finalize): Free the niters cache. |
| (tree_ssa_iv_optimize_loop): Do not call loop_commit_inserts. |
| * tree-ssa-loop-niter.c (find_loop_niter): New function. |
| (find_loop_niter_by_eval): Use tree_int_cst_lt. |
| (num_ending_zeros): Moved to tree.c. |
| * tree.h (num_ending_zeros): Declare. |
| * tree.c (num_ending_zeros): Moved from tree.c. |
| |
| 2005-02-09 Richard Henderson <rth@redhat.com> |
| |
| * builtins.c (DEF_BUILTIN): Add COND argument. |
| * tree.h (DEF_BUILTIN): Likewise. |
| * builtins.def (DEF_GCC_BUILTIN, DEF_LIB_BUILTIN, DEF_EXT_LIB_BUILTIN, |
| DEF_C94_BUILTIN, DEF_C99_BUILTIN, DEF_C99_C90RES_BUILTIN): Update to |
| match. |
| (DEF_BUILTIN_STUB): New. |
| (BUILT_IN_STACK_SAVE, BUILT_IN_STACK_RESTORE, BUILT_IN_INIT_TRAMPOLINE, |
| BUILT_IN_ADJUST_TRAMPOLINE, BUILT_IN_NONLOCAL_GOTO, |
| BUILT_IN_PROFILE_FUNC_ENTER, BUILT_IN_PROFILE_FUNC_EXIT): Use it. |
| * c-common.c (DEF_BUILTIN): Add COND argument. |
| * tree.c (local_define_builtin): New. |
| (build_common_builtin_nodes): New. |
| |
| 2005-02-09 Roger Sayle <roger@eyesopen.com> |
| |
| * fold-const.c (fold_strip_sign_ops): New function to simplify a |
| floating point expression ignoring the sign of the result. |
| (fold) <ABS_EXPR>: Use it to simplify fabs(x). |
| (fold) <MULT_EXPR>: Use it to simplify x*x. |
| * tree.h (fold_strip_sign_ops): Prototype here. |
| * builtins.c (fold_builtin_copysign): Take an additional FNDECL |
| argument. Use fold_strip_sign_ops to simplify the first argument. |
| (fold_builtin_pow): Use fold_strip_sign_ops to simplify the |
| first argument when the second argument is an even integer |
| constant, but only with -funsafe_math_optimizations. |
| (fold_builtin_1): Update call to fold_builtin_copysign. |
| |
| 2005-02-09 Ian Lance Taylor <ian@airs.com> |
| |
| PR middle-end/19583 |
| * gimple-low.c (try_catch_may_fallthru): In EH_FILTER_EXPR case, |
| just check whether EH_FILTER_FAILURE falls through. |
| |
| 2005-02-09 Andreas Krebbel <krebbel1@de.ibm.com> |
| |
| * gcc/haifa-sched.c (schedule_block): Make queued sched group |
| insns return to ready list in the next turn. |
| |
| 2005-02-09 Richard Guenther <rguenth@gcc.gnu.org> |
| |
| PR middle-end/19402 |
| * builtins.def: New __builtin_powi[lf]. |
| * builtins.c (mathfn_built_in): Handle BUILT_IN_POWI. |
| (expand_builtin_powi): New function. |
| (expand_builtin): Dispatch to expand_builtin_powi. |
| * libgcc2.h: Add prototypes for __builtin_powi[lf]. |
| * libgcc2.c: Add __builtin_powi[lf] implementation. |
| * mklibgcc.in: Add __builtin_powi[lf] to lib2funcs. |
| * optabs.h: Add powi_optab. |
| * optabs.c (init_optabs): Initialize powi_optab. |
| * doc/extend.texi: Document __builtin_powi[lf]. |
| |
| 2005-02-09 Dorit Naishlos <dorit@il.ibm.com> |
| |
| * tree-vectorizer.c (vect_set_dump_settings): Check that dump_file |
| exists. |
| |
| 2005-02-09 Richard Guenther <rguenth@gcc.gnu.org> |
| |
| PR middle-end/19854 |
| * fold-const.c (try_move_mult_to_index): Remove redundant |
| type argument. Create ADDR_EXPR with correct type. |
| (fold): Update callers of try_move_mult_to_index. Convert |
| result to the appropriate type. |
| |
| 2005-02-09 Roger Sayle <roger@eyesopen.com> |
| |
| PR target/19597 |
| * config/avr/avr.c (default_rtx_costs): Delete. |
| (avr_operand_rtx_cost): New function. |
| (avr_rtx_costs): Completely rewrite. |
| |
| 2005-02-08 Hans-Peter Nilsson <hp@axis.com> |
| |
| PR target/19806 |
| * config/cris/cris.c (in_code): New variable. |
| (cris_output_addr_const): Now a static function, a wrapper for |
| output_addr_const. |
| (cris_asm_output_symbol_ref): New function, broken out SYMBOL_REF |
| case from old cris_output_addr_const. |
| (cris_asm_output_label_ref): Similar for LABEL_REF. |
| (cris_output_addr_const_extra): Similar for UNSPEC. |
| * config/cris/cris.h (OUTPUT_ADDR_CONST_EXTRA) |
| (ASM_OUTPUT_SYMBOL_REF, ASM_OUTPUT_LABEL_REF): Define. |
| * config/cris/cris-protos.h (cris_output_addr_const): Remove |
| declaration. |
| (cris_asm_output_symbol_ref, cris_output_addr_const_extra) |
| (cris_asm_output_label_ref): Declare. |
| |
| 2005-02-08 Paolo Bonzini <bonzini@gnu.org> |
| |
| PR preprocessor/19801 |
| * doc/cppinternals.texi (Conventions, Lexer, Files): Adjust |
| filenames that changed when libcpp was moved to the toplevel. |
| |
| 2005-02-07 Roger Sayle <roger@eyesopen.com> |
| |
| * simplify-rtx.c (simplify_relational_operation_1): Avoid creating |
| zero extensions of BImode operands. Call lowpart_subreg instead |
| of gen_lowpart_common and gen_lowpart_SUBREG. |
| |
| 2005-02-07 Nathanael Nerode <neroden@gcc.gnu.org> |
| |
| PR ada/19489 |
| * libada-mk.in: Use cc_for_cross_gnattools, not cc_set_by_configure. |
| * configure.ac: Set cc_for_cross_gnattools. |
| * configure: Regenerate. |
| |
| 2005-02-08 Alan Modra <amodra@bigpond.net.au> |
| |
| PR target/19803 |
| * predict.c (PROB_VERY_UNLIKELY): Use 1% instead of 10%. |
| |
| 2005-02-07 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| PR debug/19327 |
| * dbxout.c (dbxout_symbol) <FUNCTION_DECL>: Skip inline instance |
| of nested functions. |
| |
| 2005-02-07 Jonathan Wakely <redi@gcc.gnu.org> |
| |
| * doc/extend.texi: Document deprecated extensions allowing |
| static floating-point members to have initializers and allowing |
| floating-point literals in integral constant expressions. |
| |
| 2005-02-07 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * cfgcleanup.c, df.h, diagnostic.c, rtl.c, tree-vectorizer.h, |
| config/darwin7.h, config/mips/mips.c, |
| config/rs6000/altivec.md, config/rs6000/darwin-tramp.asm: |
| Update copyright. |
| |
| * cse.c: Update comments. |
| |
| 2005-02-07 Richard Guenther <rguenth@gcc.gnu.org> |
| |
| PR middle-end/19775 |
| * builtins.c (fold_builtin_sqrt): Transform |
| sqrt(pow(x,y)) to pow(fabs(x),y*0.5), not |
| pow(x,y*0.5). |
| |
| 2005-02-07 Leehod Baruch <leehod@il.ibm.com> |
| Dorit Naishlos <dorit@il.ibm.com> |
| |
| * doc/invoke.texi (ftree-vectorizer-verbose): New. |
| * opts.c (OPT_ftree_vectorizer_verbose_): New case for switch. |
| * common.opt (ftree-vectorizer-verbose): New Flag for the vectorizer |
| was added. |
| * tree.h (vect_set_verbosity_level): New extern function declaration |
| added. |
| * tree-vectorizer.h (verbosity_levels): New enum type. |
| * tree-vectorizer.c (vect_debug_stats): Function removed. |
| (vect_debug_details): Likewise. |
| (vect_verbosity_level): Global variable was defined and initialized. |
| (vect_dump): Global variable definition. |
| (vect_print_dump_info): New function. |
| (vect_set_dump_settings): New function. |
| (vect_set_verbosity_level): New function. |
| (vectorize_loops): Add call to vect_set_dump_settings. |
| |
| (slpeel_make_loop_iterate_ntimes): Dump condition was changed. |
| (slpeel_tree_duplicate_loop_to_edge_cfg): Likewise. |
| (slpeel_tree_peel_loop_to_edge): Likewise. |
| |
| (vect_analyze_offset_expr): Call to vect_print_dump_info with |
| appropriate verbosity level instead of call to vect_debug_details |
| or vect_debug_stats. |
| (vect_get_base_and_offset): |
| (vect_create_addr_base_for_vector_ref): |
| (get_vectype_for_scalar_type): |
| (vect_create_data_ref_ptr): |
| (vect_init_vector): |
| (vect_get_vec_def_for_operand): |
| (vect_finish_stmt_generation): |
| (vectorizable_assignment): |
| (vectorizable_operation): |
| (vectorizable_store): |
| (vectorizable_load): |
| (vect_transform_stmt): |
| (vect_update_ivs_after_vectorizer): |
| (vect_do_peeling_for_loop_bound): |
| (vect_update_inits_of_drs): |
| (vect_do_peeling_for_alignment): |
| (vect_transform_loop): |
| (vect_is_simple_use): |
| (vect_analyze_operations): |
| (vect_is_simple_iv_evolution): |
| (vect_analyze_scalar_cycles): |
| (vect_analyze_data_ref_dependence): |
| (vect_analyze_data_ref_dependences): |
| (vect_compute_data_ref_alignment): |
| (vect_enhance_data_refs_alignment): |
| (vect_analyze_data_refs_alignment): |
| (vect_analyze_data_ref_access): |
| (vect_analyze_data_ref_accesses): |
| (vect_analyze_pointer_ref_access): |
| (vect_get_memtag_and_dr): |
| (vect_analyze_data_refs): |
| (vect_mark_relevant): |
| (vect_stmt_relevant_p): |
| (vect_mark_stmts_to_be_vectorized): |
| (vect_can_advance_ivs_p): |
| (vect_get_loop_niters): |
| (vect_analyze_loop_form): |
| (vect_analyze_loop): |
| (vectorize_loops): Likewise. |
| |
| (vect_do_peeling_for_loop_bound): Dump format slightly changed. |
| (vect_update_inits_of_drs): |
| (vect_do_peeling_for_alignment): |
| (vect_transform_loop): |
| (vect_analyze_operations): |
| (vect_analyze_scalar_cycles): |
| (vect_analyze_data_ref_dependences): |
| (vect_analyze_data_refs_alignment): |
| (vect_analyze_data_ref_accesses): |
| (vect_analyze_data_refs): |
| (vect_mark_stmts_to_be_vectorized): |
| (vect_get_loop_niters): |
| (vect_analyze_loop_form): |
| (vect_analyze_loop): Likewise. |
| (vect_mark_stmts_to_be_vectorized): Add call to print_generic_expr. |
| |
| 2005-02-07 Richard Sandiford <rsandifo@redhat.com> |
| |
| PR bootstrap/19796 |
| Revert: |
| 2005-01-26 Richard Sandiford <rsandifo@redhat.com> |
| * config/mips/iris6.h (ENDFILE_SPEC): Don't link in irix-csr.o if |
| either -ffast-math or -funsafe-math-optimizations is in use. |
| |
| 2005-01-24 Richard Sandiford <rsandifo@redhat.com> |
| * config/mips/irix-csr.c: New file. |
| * config/mips/t-iris6 (irix-csr.o): New rule to build it. |
| (EXTRA_MULTILIB_PARTS): Add irix-csr.o. |
| * config/mips/iris6.h (ENDFILE_SPEC): Include it in n32 and n64 |
| executables. |
| |
| 2005-02-07 Alexandre Oliva <aoliva@redhat.com> |
| |
| * config/mn10300/linux.h (LIB_SPEC, STARTFILE_SPEC): Remove |
| redundant, incorrect definitions. |
| |
| * config/frv/frv.md ("tls_indirect_call"): Turn into libcall-like |
| expand. |
| ("*tls_indirect_call"): New, reference hard regs directly. |
| * config/frv/frv.c (gen_inlined_tls_plt): Adjust. |
| |
| 2005-02-07 Ralf Corsepius <ralf.corsepius@rtems.org> |
| |
| * config/arm/rtems-elf.h (SUBTARGET_EXTRA_ASM_SPEC): |
| Let !-mhard-float !-msoft-float imply -mfpu=softfpa. |
| |
| 2005-02-06 Roger Sayle <roger@eyesopen.com> |
| |
| PR rtl-optimization/19800 |
| * simplify_rtx.c (simplify_relational_operation_1): Explicitly |
| call gen_lowpart_common and gen_lowpart_SUBREG instead of calling |
| gen_lowpart. |
| |
| 2005-02-07 Ralf Corsepius <ralf.corsepius@rtems.org> |
| |
| * config/m68k/t-rtems (MULTILIB_MATCHES): Let m528x match m5200. |
| |
| 2005-02-07 Joseph S. Myers <joseph@codesourcery.com> |
| |
| PR other/17135 |
| * doc/invoke.texi: Correct documentation of -freorder-functions. |
| |
| 2005-02-06 Joseph S. Myers <joseph@codesourcery.com> |
| |
| PR other/14402 |
| * doc/invoke.texi: Don't mention gccbug. |
| |
| 2005-02-06 Roger Sayle <roger@eyesopen.com> |
| Andrew Pinski <pinskia@physics.uc.edu> |
| Paolo Bonzini <paolo.bonzini@lu.unisi.ch> |
| |
| * simplify-rtx.c (simplify_relational_operation_1): Simplify |
| (ne:SI (zero_extract:SI FOO (const_int 1) BAR) (const_int 0)) |
| into just (zero_extract:SI FOO (const_int 1) BAR). |
| |
| 2005-02-06 Joseph S. Myers <joseph@codesourcery.com> |
| |
| * doc/cpp.texi: Include gcc-common.texi. Don't define gcctabopt |
| macro locally. Don't give last revision date. Use GCC version |
| number from gcc-common.texi. |
| * doc/cppinternals.texi: Include gcc-common.texi. Don't give last |
| revision date. Use GCC version number from gcc-common.texi. |
| Describe being a library as current state rather than as 3.x |
| history. |
| * doc/gcc.texi: Remove last update date. |
| * doc/gccint.texi: Likewise. Update copyright dates. |
| * doc/install.texi: Update copyright dates. |
| |
| 2005-02-06 Joseph S. Myers <joseph@codesourcery.com> |
| |
| PR other/7549 |
| * doc/invoke.texi: Mention for each option included in -Wall that |
| it is included in -Wall. |
| * doc/gcc.texi: Update copyright and last modification date. |
| |
| 2005-02-06 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Do not add |
| unnecessary cast to original induction variable increments. |
| |
| 2005-02-06 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| PR tree-optimization/18219 |
| * tree-ssa-loop-ivopts.c (get_computation_at): Produce computations |
| in distributed form. |
| |
| 2005-02-06 Richard Sandiford <rsandifo@redhat.com> |
| |
| * expmed.c (store_bit_field): Make the SUBREG code adjust bitnum. |
| Set bitpos and offset later in the function. Do nothing if the |
| target is a register and if the bitfield lies completely outside |
| that register. |
| (extract_bit_field): Make the same SUBREG, bitpos and offset changes |
| here. Return an uninitialised register if the source value is stored |
| in a register and the bitfield lies completely outside that register. |
| |
| 2005-02-06 Steven Bosscher <stevenb@suse.de> |
| |
| * df.c (df_insn_refs_record): Use XEXP to get the operand of a USE, |
| not SET_DEST. |
| |
| 2005-02-06 Marcin Dalecki <martin@dalecki.de> |
| |
| * diagnostic.c (default_diagnostic_finalizer): Fix use of attribute. |
| |
| 2005-02-06 Geoffrey Keating <geoffk@apple.com> |
| |
| * config.gcc (*-*-darwin*): Separate darwin7 and darwin8 configs. |
| * config/darwin8.h: New. |
| * config/darwin7.h: Update comment. |
| |
| 2005-02-03 Leehod Baruch <leehod@il.ibm.com> |
| Dorit Naishlos <dorit@il.ibm.com> |
| |
| * tree-vectorizer.h (LOC): New type. |
| (UNKNOWN_LOC, EXPR_LOC, LOC_FILE, LOC_LINE): New macros. |
| (loop_line_number): New field in struct _loop_vec_info. |
| (LOOP_VINFO_LOC, LOOP_LOC): New macros. |
| |
| * tree-vectorizer.c (input.h): Included. |
| (find_loop_location): New function. |
| (vect_debug_stats): Argument changed from loop to LOC. Computation of |
| loop line number removed. |
| (vect_debug_details): Likewise. |
| (new_loop_vec_info): Initialize new field LOOP_VINFO_LOC. |
| |
| (slpeel_make_loop_iterate_ntimes): Call find_loop_location. Argument in |
| call to vect_debug_details/stats changed from loop to loop_loc. |
| (slpeel_tree_duplicate_loop_to_edge_cfg): Likewise. |
| (slpeel_tree_peel_loop_to_edge): Likewise. |
| |
| (vect_analyze_offset_expr): Argument in call to vect_debug_details/stats |
| changed from NULL to UNKNOWN_LOC. |
| (vect_get_base_and_offset): |
| (vect_create_addr_base_for_vector_ref): |
| (get_vectype_for_scalar_type): |
| (vect_create_data_ref_ptr): |
| (vect_init_vector): |
| (vect_get_vec_def_for_operand): |
| (vect_finish_stmt_generation): |
| (vectorizable_assignment): |
| (vectorizable_operation): |
| (vectorizable_store): |
| (vectorizable_load): |
| (vect_transform_stmt): |
| (vect_update_ivs_after_vectorizer): |
| (vect_do_peeling_for_loop_bound): |
| (vect_do_peeling_for_alignment): |
| (vect_transform_loop): |
| (vect_is_simple_use): |
| (vect_analyze_operations): |
| (vect_is_simple_iv_evolution): |
| (vect_analyze_scalar_cycles): |
| (vect_analyze_data_ref_dependences): |
| (vect_compute_data_ref_alignment): |
| (vect_enhance_data_refs_alignment): |
| (vect_analyze_data_ref_access): |
| (vect_analyze_data_ref_accesses): |
| (vect_analyze_pointer_ref_access): |
| (vect_get_memtag_and_dr): |
| (vect_analyze_data_refs): |
| (vect_mark_relevant): |
| (vect_stmt_relevant_p): |
| (vect_mark_stmts_to_be_vectorized): |
| (vect_can_advance_ivs_p): |
| (vect_get_loop_niters): |
| (vect_analyze_loop): |
| (vectorize_loops): Likewise. |
| |
| (vectorizable_load): Argument in call to vect_debug_details/stats |
| changed from loop to LOOP_LOC (loop_vinfo). |
| (vect_transform_loop): |
| (vect_analyze_operations): |
| (vect_analyze_scalar_cycles): |
| (vect_analyze_data_ref_dependence): |
| (vect_enhance_data_refs_alignment): |
| (vect_analyze_data_ref_accesses): |
| (vect_analyze_pointer_ref_access): |
| (vect_analyze_data_refs): |
| (vect_analyze_loop): Likewise. |
| |
| (vect_analyze_loop_form): Argument in call to vect_debug_details/stats |
| changed from loop to loop_loc. |
| |
| (vect_enhance_data_refs_alignment): Removed unused variable loop. |
| |
| 2005-02-03 Leehod Baruch <leehod@il.ibm.com> |
| Dorit Naishlos <dorit@il.ibm.com> |
| |
| * tree-vectorizer.c (vect_analyze_data_ref_dependence): Function |
| declaration added. |
| (vect_analyze_data_ref_dependences): Likewise. |
| |
| (vect_is_simple_use): Argument changed from loop structure to |
| loop_vect_info structure. |
| (vect_can_advance_ivs_p): Likewise. |
| (vect_create_index_for_vector_ref): Likewise. |
| (vect_update_ivs_after_vectorizer): Likewise. |
| (new_stmt_vec_info): Likewise. |
| |
| (new_loop_vec_info): Second argument in call to new_stmt_vec_info was |
| changed from loop to loop_vinfo. |
| (vect_create_data_ref_ptr): First argument in call to |
| vect_create_index_for_vector_ref was changed from loop to loop_vinfo. |
| (vectorizable_assignment): Second argument in call to vect_is_simple_use |
| was changed from loop to loop_vinfo. |
| (vectorizable_operation): Likewise. |
| (vectorizable_store): Likewise. |
| (vect_mark_stmts_to_be_vectorized): Likewise. |
| (vect_do_peeling_for_loop_bound): First argument in call to |
| vect_update_ivs_after_vectorizer was changed from loop to loop_vinfo. |
| (vect_analyze_operations): Argument in call to vect_can_advance_ivs_p |
| was changed from loop to loop_vinfo. |
| (vect_analyze_data_ref_dependences): Third argument in call to |
| vect_analyze_data_ref_dependence was changed from loop to loop_vinfo. |
| |
| (vect_create_index_for_vector_ref): Get the loop from loop_vinfo. |
| (vect_create_data_ref_ptr): Likewise. |
| (vect_init_vector): Likewise. |
| (vect_get_vec_def_for_operand): Likewise. |
| (vectorizable_assignment): Likewise. |
| (vectorizable_operation): Likewise. |
| (vectorizable_store): Likewise. |
| (vectorizable_load): Likewise. |
| (vect_update_ivs_after_vectorizer): Likewise. |
| (vect_is_simple_use): Likewise. |
| (vect_analyze_data_ref_dependence): Likewise. |
| (vect_analyze_pointer_ref_access): Likewise. |
| (vect_can_advance_ivs_p): Likewise. |
| |
| * tree-vectorizer.h: (_loop_vec_info): Definition and macros moved |
| before _stmt_vec_info. |
| (_stmt_vec_info): Loop field replaced by loop_vec_info. |
| (STMT_VINFO_LOOP): Replaced with STMT_VINFO_LOOP_VINFO. |
| (new_stmt_vec_info): Argument changed from loop structure to |
| loop_vect_info structure |
| |
| (vect_analyze_data_ref_dependences): Unnecessary line was removed. |
| (vect_analyze_offset_expr): Avoid 80 columns overflow. |
| (vect_create_addr_base_for_vector_ref): Likewise. |
| (vect_analyze_pointer_ref_access): Likewise. |
| |
| 2005-02-03 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR tree-opt/19768 |
| * tree-ssa-dse.c (fix_phi_uses): Update the occurs in abnormal |
| phi flag if the phi is abnormal. |
| |
| 2005-02-03 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR tree-opt/19736 |
| * tree-ssa.c (replace_immediate_uses): Update the immediate_uses |
| information for the new statement. |
| |
| 2005-02-03 Joseph S. Myers <joseph@codesourcery.com> |
| |
| PR driver/19117 |
| * gcc.c (main): Include the target in -v output. |
| |
| 2005-02-03 Alexandre Oliva <aoliva@redhat.com> |
| |
| * combine.c (simplify_comparison, case SIGN_EXTEND, ZERO_EXTEND): |
| Do not drop the extend if we'd have to add a paradoxical subreg |
| later. Include optabs.h and insn-codes.h. |
| * Makefile.in (combine.o): Depend on $(OPTABS_H). |
| |
| 2005-02-02 Roger Sayle <roger@eyesopen.com> |
| |
| PR middle-end/19405 |
| * real.h (REAL_MODE_FORMAT_COMPOSITE_P): New macro. |
| * fold-const.c (const_binop): Avoid constant folding floating |
| point operations in modes that use composite representations. |
| * simplify-rtx.c (simplify_binary_operation): Likewise. |
| |
| 2005-02-02 Geoffrey Keating <geoffk@apple.com> |
| |
| * config/rs6000/altivec.md (altivec_dst): Make the first operand |
| a REG, not a MEM. |
| (altivec_dstt): Likewise. |
| (altivec_dstst): Likewise. |
| (altivec_dststt): Likewise. |
| * config/rs6000/rs6000.c (altivec_expand_dst_builtin): Adjust creation |
| of first operand. |
| |
| 2005-02-03 Dorit Naishlos <dorit@il.ibm.com> |
| |
| * tree-vectorizer.c (slpeel_make_loop_iterate_ntimes): Copy |
| EXPR_LOCUS from orig_cond to the new cond_stmt. |
| (vect_finish_stmt_generation): Copy EXPR_LOCUS from stmt to |
| the new vec_stmt. |
| |
| 2005-02-03 Dorit Naishlos <dorit@il.ibm.com> |
| |
| * tree-vectorizer.c (slpeel_make_loop_iterate_ntimes): Call |
| standard_iv_increment_position. Remove call to bsi_next |
| (no need to bump the iterator anymore). |
| (vect_create_index_for_vector_ref): Call |
| standard_iv_increment_position. Remove second function argument. |
| (vect_finish_stmt_generation): Remove call to bsi_next |
| (no need to bump the iterator anymore). |
| (vect_create_data_ref_ptr): Remove second argument (bsi) in call |
| to vect_create_index_for_vector_ref. |
| |
| 2005-02-03 Dorit Naishlos <dorit@il.ibm.com> |
| |
| * tree-vectorizer.c (vect_mark_stmts_to_be_vectorized): Check if |
| phis are used out of the loop. |
| |
| 2005-02-03 Joseph S. Myers <joseph@codesourcery.com> |
| |
| PR c/17807 |
| * c-decl.c (undef_nested_function): New variable. |
| (pop_scope): Diagnose undefined nested functions. |
| (finish_function): Don't attempt cgraph processing or genericizing |
| if current top-level function contained an undefined nested |
| function. Reset undef_nested_function at the end of a top-level |
| function. |
| |
| 2005-02-02 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| * tree.c (build_int_cst_type): Take sign of the value into account |
| when deciding whether sign extend the value. |
| |
| 2005-02-02 Joseph S. Myers <joseph@codesourcery.com> |
| |
| PR c/18502 |
| * gcc.c (cpp_unique_options): Remove %{trigraphs}. |
| (cpp_options, cc1_options): Change %{std*&ansi} to |
| %{std*&ansi&trigraphs}. |
| |
| 2005-02-02 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * cse.c: Update comments. |
| |
| 2005-02-02 Aldy Hernandez <aldyh@redhat.com> |
| |
| * config/rs6000/rs6000.c (rs6000_spe_function_arg): Multi-reg |
| arguments go on the stack. Do not put complex doubles in odd/even |
| pairs. |
| |
| 2005-02-02 Steven Bosscher <stevenb@suse.de> |
| |
| * doc/invoke.texi: Update the options enabled at -O1, -O2, |
| and -O3. Update the documentation for -fgcse-sm, -fgcse-las, |
| -ftree-pre, and -fthread-jumps. |
| |
| 2005-02-02 Richard Sandiford <rsandifo@redhat.com> |
| |
| PR tree-optimization/19578 |
| * tree-flow.h (modified_noreturn_calls): Declare. |
| (noreturn_call_p): Declare. |
| * tree-flow-inline.h (noreturn_call_p): New function. |
| (modify_stmt): Add modified noreturn calls to modified_noreturn_calls. |
| * tree-cfg.c (modified_noreturn_calls): New variable. |
| (cleanup_control_flow): Use noreturn_call_p. Split basic blocks |
| that contain a mid-block noreturn call. |
| * tree-ssa.c (delete_tree_ssa): Clear modified_noreturn_calls. |
| |
| 2005-02-02 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * df.c (df_def_record_1, df_uses_record): Don't use |
| DF_FOR_REGALLOC. |
| * df.h (DF_FOR_REGALLOC): Remove. |
| |
| 2005-02-02 Joseph S. Myers <joseph@codesourcery.com> |
| |
| PR c/19435 |
| * c-typeck.c (really_start_incremental_init): Reset |
| constructor_max_index for arrays of incomplete type. |
| |
| 2005-02-02 Jeff Law <law@redhat.com> |
| |
| * gcse.c (struct reg_set): Store the block index where the register |
| was set rather than the setting insn. |
| (record_one_set, compute_transp): Corresponding changes. |
| (pre_insert_copy_insn): Do not call replace_one_set. |
| (replace_one_set): Remove. |
| |
| 2005-02-02 Joseph S. Myers <joseph@codesourcery.com> |
| |
| PR other/15514 |
| * doc/gcov.texi: Fix typo. |
| |
| 2005-02-01 Richard Henderson <rth@redhat.com |
| |
| PR target/19680 |
| * config/i386/i386.h (MODES_TIEABLE_P): Use ix86_modes_tieable_p. |
| * config/i386/i386.c (ix86_hard_regno_mode_ok): Change return |
| type to bool. |
| (ix86_tieable_integer_mode_p, ix86_modes_tieable_p): New. |
| * config/i386/i386-protos.h: Update. |
| |
| 2005-02-01 Steven Bosscher <stevenb@suse.de> |
| |
| PR tree-optimization/19217 |
| * tree-cfg.c (verify_expr): Use the data field to see if TP was |
| seen inside a PHI node. Do not do the ADDR_EXPR check if it was. |
| (verify_stmts): Pass (void*)1 as data to verify_expr to signal |
| that it is walking a PHI node. |
| |
| 2005-02-01 Joseph S. Myers <joseph@codesourcery.com> |
| |
| * doc/extend.texi (Nested Functions): Update. |
| |
| 2005-02-01 Richard Henderson <rth@redhat.com> |
| |
| PR 19696 |
| * optabs.c (expand_copysign_absneg): Export. |
| * optabs.h (expand_copysign_absneg): Declare. |
| * config/rs6000/rs6000.md (copysigntf3): New. |
| |
| 2005-02-01 Diego Novillo <dnovillo@redhat.com> |
| |
| PR tree-optimization/19633 |
| * tree-flow.h (struct ptr_info_def): Add field 'pt_null'. |
| * tree-ssa-alias.c (init_alias_info): Initialize. |
| (merge_pointed_to_info): Set. |
| (add_pointed_to_expr): Set pt_null if EXPR is a NULL pointer. |
| (dump_points_to_info_for): Show value of pt_null. |
| (struct count_ptr_d): Declare. |
| (find_ptr_dereference): Remove. |
| (ptr_is_dereferenced_by): Remove. |
| (count_ptr_derefs): New local function. |
| (count_uses_and_derefs): New local function. |
| (compute_points_to_and_addr_escape): Call it. If the number |
| of dereferences is greater than zero, mark the pointer as |
| dereferenced. If there are fewer dereferences than uses of |
| the pointer, the pointer's value escapes. |
| |
| 2005-02-01 Diego Novillo <dnovillo@redhat.com> |
| |
| PR tree-optimization/19670 |
| * tree-ssa.c (verify_ssa_name): Don't set TREE_VISITED |
| here... |
| (verify_use): ... set it here, instead. |
| |
| 2005-02-01 Janis Johnson <janis187@us.ibm.com> |
| |
| * doc/sourcebuild.texi (Test directives): Fix formatting. |
| |
| * doc/sourcebuild.texi (Test directives): Describe selector |
| expressions. |
| |
| 2005-02-01 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| * config.gcc (powerpc64-*-linux*): Default to -m64 also for |
| specific 64-bit CPUs. |
| |
| 2005-02-01 Richard Earnshaw <rearnsha@arm.com> |
| |
| PR target/16201 |
| * arm.c (arm_eliminable_register): New function. |
| (adjacent_mem_locations): Don't allow eliminable registers. Use |
| HOST_WIDE_INT for address offsets. |
| * arm-protos.h (arm_eliminable_register): Add prototype. |
| |
| 2005-02-01 Steven Bosscher <stevenb@suse.de> |
| |
| PR optimization/15242 |
| * params.def (PARAM_MAX_GOTO_DUPLICATION_INSNS): New param. |
| * basic-block.h (duplicate_computed_gotos): Add prototype. |
| * bb-reorder.c (duplicate_computed_gotos): New function to |
| duplicate sufficiently small blocks ending in a computed jump. |
| * passes.c (rest_of_compilation): Call duplicate_computed_gotos |
| if not optimizing for size. |
| * cfgcleanup.c (try_crossjump_bb): If not optimizing for size, |
| never do tail merging for blocks ending in a computed jump. |
| * doc/invoke.texi: Document the max-goto-duplication-insns param. |
| |
| 2005-02-01 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| Patch from Richard Sandiford <rsandifo@redhat.com> |
| * reload1.c (choose_reload_regs): Prevent the find_equiv_reg() code |
| from inheriting a subreg equivalence with a non-spill register. |
| |
| * tree.h (DECL_FUNCTION_CODE): Document that it is overloaded. |
| |
| 2005-02-01 Alexandre Oliva <aoliva@redhat.com> |
| |
| * config/frv/frv.c (movcc_fp_destination_operand): New. |
| (gpr_or_memory_operand): Fix typo in comment. |
| (gpr_or_memory_operand_with_scratch): New. |
| * config/frv/frv.h (PREDICATE_CODES): Add the two new predicates. |
| * config/frv/frv.md (movcc_fp, movcc_fp_internal): Use |
| movcc_fp_destination_operand. |
| (reload_incc_fp): Use gpr_or_memory_operand_with_scratch. |
| Legitimize memory addresses using a scratch register. |
| |
| 2005-01-31 Jeff Law <law@redhat.com> |
| |
| * tree-into-ssa.c (mark_def_sites_global_data): Make KILLS |
| bitmap a sparse bitmap instead of a simple bitmap. |
| (mark_def_sites_initialize_block): Corresponding changes. |
| (ssa_mark_def_sites_initialize_block): Likewise. |
| (ssa_mark_phi_uses): Likewise. |
| (mark_def_site, ssa_mark_def_sites): Likewise. |
| (mark_def_site_blocks): Likewise. |
| (rewrite_ssa_into_ssa): Likewise. |
| |
| * tree-ssa-dom.c (record_cond): Pass correct variable type |
| for last argument to htab_find_slot_with_hash. |
| |
| * fold-const.c (fold, case CEIL_MOD_EXPR): Do not lose side |
| effects when optimizing 0 % X. Do not try to optimize X % 0. |
| |
| 2005-01-31 James E. Wilson <wilson@specifixinc.com> |
| |
| * config/ia64/itanium1.md (1_scall bypass): Change 2_mmalua to |
| 1_mmalua. |
| |
| 2005-02-01 Eric Christopher <echristo@redhat.com> |
| |
| * config/mips/mips.c (override_options): Warn if -mint64 |
| is used. |
| * doc/invoke.texi (MIPS Options): Document that -mint64 is |
| deprecated. |
| |
| 2005-02-01 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * cse.c (cse_reg_info): Remove hash_next, next, regno. Add |
| timestamp. |
| (cse_reg_info_list, cse_reg_info_list_free, REGHASH_SHIFT, |
| REGHASH_SIZE, REGHASH_MASK, reg_hash, REGHASH_FN, |
| cached_cse_reg_info, GET_CSE_REG_INFO): Remove. |
| (cached_regno): Initialize to INVALID_REGNUM. |
| (cse_reg_info_table_size, |
| cse_reg_info_table_first_uninitialized, |
| cse_reg_info_timestamp): New. |
| (REG_TICK, REG_IN_TABLE, SUBREG_TICKED, REG_QTY): Use |
| get_cse_reg_info. |
| (init_cse_reg_info, get_cse_reg_info_1): New. |
| (get_cse_reg_info): Cache the last look-up. |
| (new_basic_block): Update the code to clear mappings from |
| registers to cse_reg_info entries. |
| (cse_main): Call init_cse_reg_info. |
| |
| * cse.c (get_cse_reg_info): Update a comment. |
| |
| 2005-01-31 Steven Bosscher <stevenb@suse.de> |
| |
| PR c/19333 |
| * c-decl.c (start_decl): Do not warn about arrays of elements with |
| an incomplete type here. |
| (grokdeclarator): Do it here by making a pedwarn an error. |
| * c-typeck.c (push_init_level): If there were previous errors with |
| the constructor type, do not warn about braces for initializers. |
| (process_init_element): Likewise for excess initializer elements. |
| |
| 2005-01-31 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * cse.c (delete_trivially_dead_insn): Don't iterate. |
| |
| 2005-01-31 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| * config/rs6000/rs6000.md (copysignsf3): New expand. |
| (copysigndf3): Likewise. |
| |
| 2005-01-31 Steven Bosscher <stevenb@suse.de> |
| |
| * recog.c (constrain_operands): Only look for earlyclobber operand |
| conflicts if an '&' constraint was seen. |
| |
| 2005-01-31 Marc Espie <espie@openbsd.org> |
| |
| * config.gcc: Don't include embedded systems fragment, switches default |
| debugging format to ELF. |
| * config/i386/openbsdelf.h: Add DBX_REGISTER_NUMBER since we no |
| longer pick it up there. |
| |
| 2005-01-31 Dale Johannesen <dalej@apple.com> |
| |
| * doc/extend.texi (nested functions): Fix linkage description. |
| Clarify that static is not allowed. |
| |
| 2005-01-31 Dale Johannesen <dalej@apple.com> |
| |
| * config/rs6000/darwin.md (movsf_low_di): Make work. |
| (movdf_low_di): Make work. |
| |
| 2005-01-31 Dale Johannesen <dalej@apple.com> |
| |
| * config/rs6000/darwin-tramp.asm (__trampoline_setup): |
| Make work for 64 bit. |
| |
| 2005-01-31 Roger Sayle <roger@eyesopen.com> |
| Dale Johannesen <dalej@apple.com> |
| |
| PR middle-end/19650 |
| * fold-const.c (fold_binary_op_with_conditional_arg): |
| Make types match original operands, before STRIP_NOPS. |
| |
| 2005-01-31 Alan Modra <amodra@bigpond.net.au> |
| |
| * config/rs6000/linux-unwind.h (struct gcc_vregs): New. |
| (struct gcc_regs): Rename from gcc_pt_regs. Add more regs. |
| (struct gcc_sigcontext): Delete. Merge contents to.. |
| (struct gcc_ucontext): ..here. |
| (get_sigcontext): Delete. |
| (get_regs): New function, like get_sigcontext but return regs ptr. |
| 64-bit version finds regs from r1 to support vdso. |
| (ppc_linux_aux_vector): New function. |
| (ppc_fallback_frame_state): Modify for get_regs. Restore fprs |
| and vector regs. |
| |
| 2005-01-31 Ira Rosen <irar@il.ibm.com> |
| |
| * tree-vectorizer.c (vect_analyze_offset_expr): Use ssizetype instead |
| sizetype. |
| (vect_get_base_and_offset): Use ssizetype instead sizetype. Remove |
| redundant fold. Fix misalignment for MINUS_EXPR. |
| (vect_compute_data_ref_alignment): Use ssizetype instead sizetype. |
| (vect_analyze_pointer_ref_access): Likewise. |
| (vect_get_memtag_and_dr): Likewise. |
| |
| 2005-01-31 Richard Henderson <rth@redhat.com> |
| |
| * config/i386/i386.c (absnegsf2_mixed): Remove all of the # hackery. |
| (absnegsf2_sse, absnegsf2_i387, absnegdf2_mixed, absnegdf2_sse, |
| absnegdf2_i387, absnegxf2_i387): Likewise. |
| |
| 2005-01-31 Richard Henderson <rth@redhat.com> |
| |
| PR 19696 |
| * optabs.c (expand_copysign_absneg): New. |
| (expand_copysign_bit): Split out from ... |
| (expand_copysign): ... here. Use expand_copysign_absneg. |
| |
| 2005-01-30 Roger Sayle <roger@eyesopen.com> |
| |
| PR middle-end/19697 |
| * config/pa/pa.md (anddi3, iordi3): On HPPA64, disallow an integer |
| constant as the second operand and a register as the third. |
| |
| 2005-01-31 Danny Smith <dannysmith@users.sourceforge.net> |
| |
| PR target/19704 |
| * config/i386/i386.c (ix86_function_ok_for_sibcall): Also check |
| that dllimport'd functions do not use all call-clobbered registers |
| to pass parameters. |
| |
| 2005-01-30 Richard Henderson <rth@redhat.com> |
| |
| PR 19696 |
| * optabs.c (expand_absneg_bit): Split out from expand_unop and |
| expand_abs_nojump and generalize. Use operand_subword and |
| emit_no_conflict_block. Support large modes. |
| (expand_abs_nojump): Use it. Use HONOR_SIGNED_ZEROS to fall |
| back to maximum. |
| (expand_unop): Likewise. Use HONOR_SIGNED_ZEROS to fall back |
| negation to subtraction. |
| (expand_copysign): Check that the format has signed zeros. |
| Use operand_subword and emit_no_conflict_block. Support large modes. |
| |
| 2005-01-30 Daniel Berlin <dberlin@dberlin.org> |
| |
| Fix PR tree-optimization/19624 |
| |
| * Makefile.in (tree-ssa-pre.o): Add CFGLOOP_H. |
| * tree-ssa-pre.c: Add cfgloop.h. |
| Update comment. |
| (pre_stats): New member, constified. |
| (inserted_exprs): New static variable. |
| (NECESSARY): New macro. |
| (create_expression_by_pieces): Fold the expression, and |
| mark it as defaulting to not necessary. Also put in |
| inserted_exprs. |
| (fully_constant_expression): New function. |
| (insert_into_preds_of_block): Modify to not insert phis when we |
| are playing with induction variables. |
| Push phis onto the inserted_exprs vector, and mark them as not |
| necessary by default. |
| (insert_aux): Call fully_constant_expression on eprime. |
| If all edges produce the same value, mark it constant. |
| (mark_operand_necessary): New function. |
| (remove_dead_inserted_code): New function. |
| (init_pre): Init loop optimizer to get loop info. |
| (fini_pre): Free loop_optimizer, and inserted_exprs vec. |
| (execute_pre): Commit edge inserts, then remove dead code. |
| |
| 2005-01-30 Richard Henderson <rth@redhat.com> |
| |
| * rtl.c (rtx_equal_p): No early exit for CONST_VECTOR. |
| * varasm.c (const_rtx_hash_1): Handle CONST_VECTOR. |
| |
| 2005-01-30 Richard Henderson <rth@redhat.com> |
| |
| PR target/19700 |
| * config/i386/i386.c (ix86_expand_copysign): New. |
| (ix86_split_copysign_const): New. |
| (ix86_split_copysign_var): Rename from ix86_split_copysign, |
| rearrange op1/nmask operands. |
| * config/i386/i386-protos.h: Update. |
| * config/i386/i386.md (copysignsf3): Use ix86_expand_copysign. |
| (copysigndf3): Likewise. |
| (copysignsf3_const, copysigndf3_const): New. |
| (copysignsf3_var): Rename from copysignsf3, split out splitter |
| and fix split predicate for X constraint. |
| (copysigndf3_var): Similarly. |
| |
| 2005-01-30 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * optabs.c, doc/c-tree.texi, doc/install.texi, doc/md.texi, |
| doc/passes.texi, doc/rtl.texi, doc/sourcebuild.texi, |
| doc/tm.texi, doc/tree-ssa.texi: Update copyright. |
| |
| 2005-01-29 Richard Henderson <rth@redhat.com> |
| |
| PR target/19690 |
| * config/i386/i386.md (movdf_nointeger, movdf_integer): Fix ordering |
| of # and * in constraints. |
| |
| 2005-01-29 Richard Henderson <rth@redhat.com> |
| |
| PR middle-end/19689 |
| * expr.c (store_field): Don't strip sub-mode cast when the input |
| data is even smaller. |
| |
| 2005-01-29 Richard Henderson <rth@redhat.com> |
| |
| PR middle-end/19687 |
| * expr.c (categorize_ctor_elements_1): Check for CONSTRUCTOR of a |
| union being empty. |
| |
| 2005-01-29 Richard Henderson <rth@redhat.com> |
| |
| * combine.c (make_field_assignment): Fix argument order |
| to gen_int_mode. |
| |
| 2005-01-29 Richard Guenther <richard.guenther@uni-tuebingen.de> |
| |
| PR tree-optimization/15791 |
| * fold-const.c (extract_array_ref): New function. |
| (fold): Fold comparisons between &a[i] and &a[j] or |
| semantically equivalent trees. |
| |
| 2005-01-29 Jeff Law <law@redhat.com> |
| |
| * gcse.c (insert_expr_in_table): Revamp handling of available |
| and anticipatable occurrence lists to avoid unnecessary list |
| walking. |
| (insert_set_in_table): Similarly. |
| |
| 2005-01-29 Joseph S. Myers <joseph@codesourcery.com> |
| |
| * c-common.c (fix_string_type): Just use c_build_qualified_type to |
| build string type. |
| (c_build_qualified_type): Build qualified array types with |
| TYPE_MAIN_VARIANT pointing to corresponding unqualified type. |
| * c-decl.c (c_make_fname_decl): Build unqualified array type |
| before qualified type. |
| (grokdeclarator): Use TYPE_MAIN_VARIANT of typedef type if element |
| type is qualified, not just if type itself is. Don't apply |
| qualifiers to array type when declarator is processed. Apply |
| qualifiers to field type whether or not it is an array type. |
| Don't handle array types specially for applying qualifiers to |
| variables. |
| * c-typeck.c (composite_type): Build unqualified element type and |
| array type when forming composite of array types. |
| (common_pointer_type, comptypes, comp_target_types, |
| type_lists_compatible_p, build_indirect_ref, build_array_ref, |
| convert_for_assignment): Don't apply TYPE_MAIN_VARIANT to array |
| types. |
| (type_lists_compatible_p): Cache TREE_VALUE (args1) and TREE_VALUE |
| (args2) in variables a1 and a2. |
| |
| 2005-01-29 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * cse.c (n_elements_made, max_elements_made): Remove. |
| (insert): Don't touch n_elements_made. |
| (cse_main): Don't touch n_elements_made or max_elements_made. |
| |
| 2005-01-28 Stephane Carrez <stcarrez@nerim.fr> |
| |
| PR target/15384 |
| * config/m68hc11/t-m68hc11-gas (dp-bit.c): Fix typo causing a |
| configuration part of dp-bit.c to be lost. |
| |
| 2005-01-28 Roger Sayle <roger@eyesopen.com> |
| |
| * expmed.c (expand_mult_highpart_optab): When attempting to use |
| a non-widening multiplication in a wider mode, the operands need |
| to be converted (zero or sign extended) to that mode. |
| |
| 2005-01-28 Ian Lance Taylor <ian@airs.com> |
| |
| PR middle-end/16558 |
| PR middle-end/19583 |
| * gimple-low.c (block_may_fallthru): TRY_FINALLY_EXPR only falls |
| through if both operands fall through. |
| |
| 2005-01-28 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * cse.c (fold_rtx) <PC>: Don't optimize. |
| |
| 2005-01-28 Jeff Law <law@redhat.com> |
| |
| * fold-const.c (fold, case CEIL_MOD_EXPR): Optimize 0 % X. |
| (case FLOOR_MOD_EXPR, ROUND_MOD_EXPR, TRUNC_MOD_EXPR): Similarly. |
| |
| 2005-01-28 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * cse.c (cse_reg_info_free_list, cse_reg_info_used_list, |
| cse_reg_info_used_list_end): Remove. |
| (cse_reg_info_list, cse_reg_info_list_free): New. |
| (get_cse_reg_info): When allocating an instance of |
| cse_reg_info, add it to the beginning of the cse_reg_info_list |
| list. Remove code to maintain cse_reg_info_used_list. |
| (new_basic_block): Reset the free list to the beginning of |
| cse_reg_info_list. |
| |
| 2005-01-28 Richard Sandiford <rsandifo@redhat.com> |
| |
| * config/frv/frv.c (bdesc_2arg): Remove __MDPACKH. |
| (frv_init_builtins): Change its prototype to take 4 uhalf arguments. |
| (frv_expand_mdpackh_builtin): New function. |
| (frv_expand_builtin): Use it to expand __MDPACKH. |
| * doc/extend.texi (__MDPACKH): Update documentation. |
| |
| 2005-01-28 Uros Bizjak <uros@kss-loka.si> |
| |
| * config/i386/i386.c (ix86_expand_fp_absneg_operator): Use |
| SSE_FLOAT_MODE_P for use_sse computation. |
| |
| 2005-01-28 Ralf Corsepius <ralf.corsepius@rtems.org> |
| |
| PR target/19663 |
| * config/sparc/rtemself.h (LINK_GCC_C_SEQUENCE_SPEC): undefine. |
| |
| 2005-01-27 Richard Henderson <rth@redhat.com> |
| |
| * builtins.c (expand_builtin_copysign): New. |
| (expand_builtin): Call it. |
| * genopinit.c (optabs): Add copysign_optab. |
| * optabs.c (init_optabs): Initialize it. |
| (expand_copysign): New. |
| * optabs.h (OTI_copysign, copysign_optab): New. |
| (expand_copysign): Declare. |
| |
| * config/alpha/alpha.md (UNSPEC_COPYSIGN): New. |
| (copysignsf3, ncopysignsf3, copysigndf3, ncopysigndf3): New. |
| |
| * config/i386/i386.c (ix86_build_signbit_mask): Split from ... |
| (ix86_expand_fp_absneg_operator): ... here. |
| (ix86_split_copysign): New. |
| * config/i386/i386-protos.h: Update. |
| * config/i386/i386.md (UNSPEC_COPYSIGN): New. |
| (copysignsf3, copysigndf3): New. |
| |
| * config/ia64/ia64.md (UNSPEC_COPYSIGN): New. |
| (copysignsf3, ncopysignsf3): New. |
| (copysigndf3, ncopysigndf3): New. |
| (copysignxf3, ncopysignxf3): New. |
| * config/ia64/ia64.c (rtx_needs_barrier): Handle UNSPEC_COPYSIGN. |
| |
| 2005-01-27 Arend Bayer <arend.bayer@web.de> |
| Kazu Hirata <kazu@cs.umass.edu> |
| |
| * cse.c: (find_best_addr): Don't call copy_rtx before calling |
| fold_rtx. Save cost recomputation if fold_rtx did nothing. |
| (fold_rtx) <ASM_OPERANDS>: Don't do anything if INSN is |
| NULL_RTX. |
| |
| 2005-01-27 Jeff Law <law@redhat.com> |
| |
| * tree-into-ssa.c (ssa_rewrite_initialize_block): Do not register |
| definitions of SSA_NAMEs which are not being rewritten. |
| (rewrite_ssa_into_ssa): Only initialize the current definition |
| of an SSA_NAME if that SSA_NAME has been marked for rewriting. |
| If checking is enabled, assert that SSA_NAME_AUX is clear for all |
| SSA_NAMEs before returning. |
| |
| 2005-01-27 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * c-common.def, c-dump.c, c-gimplify.c, c-objc-common.c, |
| cfgexpand.c, dbxout.c, function.h, opts.c, tree-flow-inline.h, |
| tree-ssa-operands.h, tree-ssa-threadupdate.c, tree-tailcall.c, |
| config/avr/avr.md, config/cris/aout.h, config/cris/cris.h, |
| config/mips/iris6.h, config/sh/sh.c: Update copyright. |
| |
| 2005-01-27 Steven Bosscher <stevenb@suse.de> |
| |
| PR middle-end/17278 |
| * opts.c (decode_options): Move flag_thread_jumps from -O1 and |
| higher to -O2 and higher. Likewise for tree PRE. |
| * tree-ssa-dom.c (tree_ssa_dominator_optimize): Only iterate at -O2 |
| and better. |
| |
| 2005-01-27 Ian Lance Taylor <ian@airs.com> |
| |
| PR middle-end/19583 |
| * gimple-low.c (try_catch_may_fallthru): New static function. |
| (block_may_fallthru): Handle TRY_CATCH_EXPR. |
| * tree-inline.c (expand_call_inline): Don't warn about reaching |
| the end of a non-void function being inlined if the function uses |
| a return slot. |
| |
| 2005-01-27 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/i386/i386.h (CALL_USED_REGISTERS): Fix comment pastos. |
| |
| PR c/18946 |
| * c-decl.c (warn_if_shadowing): Handle old_decl error_mark_node. |
| (pushdecl): Only use DECL_FILE_SCOPE_P if DECL_P. |
| (implicitly_declare): Handle error_mark_node. |
| |
| 2005-01-27 Richard Henderson <rth@redhat.com> |
| |
| PR tree-opt/14329 |
| * tree.h (struct tree_decl): Add debug_expr_is_from. |
| (DECL_DEBUG_EXPR_IS_FROM): New. |
| (DECL_DEBUG_EXPR): Rename from DECL_DEBUG_ALIAS_OF. |
| * dwarf2out.c (dwarf2out_var_location): Update to match. |
| * tree-outof-ssa.c (create_temp): Likewise. |
| * var-tracking.c (track_expr_p): Likewise. |
| * tree-sra.c (instantiate_element): Set DECL_DEBUG_EXPR. |
| * c-objc-common.c (c_tree_printer) <'D'>: Handle DECL_DEBUG_EXPR. |
| * toplev.c (default_tree_printer): Likewise. |
| |
| 2005-01-27 Alexandre Oliva <aoliva@redhat.com> |
| |
| * config/frv/frv.c (frv_class_likely_spilled_p): Add GR8_REGS, |
| GR9_REGS, GR89_REGS, FDPIC_FPTR_REGS, FDPIC_REGS. |
| |
| 2005-01-27 Steven Bosscher <stevenb@suse.de> |
| |
| * tree.h (SWITCH_COND, SWITCH_BODY, SWITCH_LABELS, CASE_LOW, |
| CASE_HIGH, CASE_LABEL, ASM_STRING, ASM_OUTPUTS, ASM_INPUTS, |
| ASM_CLOBBERS): Add tree checks. |
| |
| * c-common.h (SWITCH_TYPE): Rename to SWITCH_STMT_TYPE. |
| (SWITCH_STMT_COND, SWITCH_STMT_BODY): New. |
| * c-common.def (SWITCH_STMT): Update to match. |
| * c-common.c (c_do_switch_warnings): Use SWITCH_STMT accessor |
| macros instead of SWITCH_EXPR ones. |
| * c-dump.c (c_dump_tree): Likewise. |
| * c-gimplify.c (gimplify_switch_stmt): Likewise. |
| * c-typeck.c (c_start_case, do_case, c_finish_case): Likewise. |
| |
| * doc/c-tree.texi (SWITCH_STMT): Update accessor macro names. |
| |
| 2005-01-27 Alan Modra <amodra@bigpond.net.au> |
| |
| * unwind-dw2.c (execute_stack_op): Add missing cases for |
| DW_OP_shl, DW_OP_shr, DW_OP_shra, DW_OP_xor. |
| |
| 2005-01-27 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| * config.gcc (Obsolete configurations): Remove 'dummy', add |
| sparclite-*-coff*, sparclite-*-elf*, sparc86x-*-elf* and |
| sparc-*-openbsd*. |
| |
| 2005-01-26 Diego Novillo <dnovillo@redhat.com> |
| |
| PR tree-optimization/19633 |
| * tree-ssa-alias.c (ptr_is_dereferenced_by): Also handle |
| CALL_EXPRs. |
| (maybe_create_global_var): Do not create .GLOBAL_VAR if there |
| are no call-clobbered variables. |
| * tree-outof-ssa.c (check_replaceable): Return false for calls |
| with side-effects. |
| |
| 2005-01-26 Ulrich Weigand <uweigand@de.ibm.com> |
| |
| * dbxout.c (dbxout_symbol_location): Resolve constant pool references |
| even for variables with NULL DECL_INITIAL. |
| |
| 2005-01-26 Stuart Hastings <stuart@apple.com> |
| |
| * gimplify.c (shortcut_cond_expr): Re-compute side-effects. |
| |
| 2005-01-26 Richard Henderson <rth@redhat.com> |
| |
| PR middle-end/18008 |
| * c-decl.c (finish_struct): Set DECL_MODE after resetting a |
| field's type. |
| * expr.c (store_field): Strip conversions to odd-bit-sized types |
| if the destination field width matches. |
| |
| 2005-01-26 Richard Henderson <rth@redhat.com> |
| |
| * c-decl.c, expmed.c, expr.c: Revert last change. |
| |
| 2005-01-26 Richard Henderson <rth@redhat.com> |
| |
| PR middle-end/18008 |
| * c-decl.c (finish_struct): Set DECL_MODE after resetting a |
| field's type. |
| * expmed.c (store_fixed_bit_field): Create a paradoxical subreg |
| if we don't need the bits above those present in the current mode. |
| * expr.c (store_field): Strip conversions to odd-bit-sized types |
| if the destination field width matches. |
| |
| 2005-01-26 Richard Sandiford <rsandifo@redhat.com> |
| |
| * config/mips/iris6.h (ENDFILE_SPEC): Don't link in irix-csr.o if |
| either -ffast-math or -funsafe-math-optimizations is in use. |
| |
| 2005-01-26 Marek Michalkiewicz <marekm@amelek.gda.pl> |
| |
| PR target/19293 |
| PR target/19329 |
| * config/avr/avr.c (notice_update_cc): Only set condition code for |
| ashrqi3 if shift count > 0. |
| (out_shift_with_cnt): Handle shift count <= 0 as a no-op. |
| (ashlqi3_out, ashlhi3_out, ashlsi3_out, ashrqi3_out, ashrhi3_out, |
| ashrsi3_out, lshrqi3_out, lshrhi3_out, lshrsi3_out): Handle shift |
| count <= 0 as a no-op, and shift count >= width by copying zero |
| or sign bit to all bits of the result. |
| * config/avr/avr.md (all shifts): Add alternatives for zero shift |
| count, with attribute "length" set to 0 and "cc" set to "none". |
| |
| 2005-01-26 Aldy Hernandez <aldyh@redhat.com> |
| |
| * doc/invoke.texi: Document -mTLS. |
| |
| * testsuite/gcc.target/frv/all-tls-global-dynamic.c: New. |
| * testsuite/gcc.target/frv/all-tls-initial-exec.c: New. |
| * testsuite/gcc.target/frv/all-tls-initial-exec-pic.c: New. |
| * testsuite/gcc.target/frv/all-tls-local-dynamic.c: New. |
| * testsuite/gcc.target/frv/all-tls-local-dynamic-plt.c: New. |
| * testsuite/gcc.target/frv/all-tls-local-dynamic-plt-pic.c: New. |
| * testsuite/gcc.target/frv/all-tls-local-exec.c: New. |
| * testsuite/gcc.target/frv/all-tls-local-exec-TLS.c: New. |
| |
| * configure.ac: Check for a TLS capable gas. |
| |
| * configure: Regenerate. |
| |
| 2005-01-26 Richard Henderson <rth@redhat.com> |
| |
| PR middle-end/18008 |
| * combine.c (make_field_assignment): Simplify store to zero_extract |
| from a source with an overlapping mask. |
| |
| 2005-01-26 Aldy Hernandez <aldyh@redhat.com> |
| |
| 2004-11-11 Eric Christopher <echristo@redhat.com> |
| |
| * config/frv/frv.md: Add fr400_integer automaton. Don't |
| allow TYPE_MUL, TYPE_MACC, or TYPE_CUT to issue in parallel |
| to TYPE_MACC. |
| |
| 2005-01-26 Steven Bosscher <stevenb@suse.de> |
| |
| PR middle-end/16585 |
| * cfgbuild.c (make_edges): Do not clear or set |
| current_function_has_computed_jump. |
| * function.h (struct function): Remove the has_computed_jump field. |
| (current_function_has_computed_jump): Do not define. |
| * sched-rgn.c (is_cfg_nonregular): Return true if a basic block ends |
| in a computed jump. Ignore current_function_has_computed_jump. |
| |
| 2005-01-26 Richard Henderson <rth@redhat.com> |
| |
| PR middle-end/19515 |
| * expr.c (categorize_ctor_elements): New argument p_must_clear. |
| (categorize_ctor_elements_1): Likewise. Detect a union that isn't |
| fully initialized. |
| (mostly_zeros_p): Update for new categorize_ctor_elements argument. |
| * gimplify.c (gimplify_init_constructor): Likewise. Only shove |
| objects into static storage if they have more than one non-zero value. |
| * tree.h (categorize_ctor_elements): Update decl. |
| |
| 2005-01-26 Steven Bosscher <stevenb@suse.de> |
| |
| PR middle-end/19616 |
| * tree.h (CALL_EXPR_TAILCALL): Add comment. |
| * calls.c (check_sibcall_argument_overlap_1): Revert the change |
| to this function from 2004-07-10. |
| * tree-tailcall.c (suitable_for_tail_opt_p): Do not consider the |
| the current function for tail call optimizations if the address |
| of one of it its arguments is taken. |
| |
| 2005-01-26 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * cse.c (fold_rtx): Call equiv_constant only when necessary. |
| |
| 2005-01-26 Bernd Schmidt <bernd.schmidt@analog.com> |
| |
| * function.c (expand_function_end): If current_function_calls_alloca, |
| emit stack restore in a place that is reached when the function falls |
| through at the end. |
| |
| 2005-01-26 Alexandre Oliva <aoliva@redhat.com> |
| |
| * Makefile.in (../$(build_subdir)/fixincludes/fixincl): Add dummy |
| rule to avoid matching inappropriate suffix rule. |
| |
| 2005-01-26 Jan Hubicka <jh@suse.cz> |
| |
| PR tree-optimization/19241 |
| * tree-inline.c (copy_body_r): Do not walk subtrees after substituting. |
| |
| 2005-01-26 Hans-Peter Nilsson <hp@axis.com> |
| |
| * config/cris/cris.h (LIB_SPEC) <sim*>: Use -lsyslinux, not |
| -lsyssim. Wrap -lc -lsyssim in --start-group --end-group instead |
| of doubling. |
| (STARTFILE_SPEC): Add crti.o, before crtbegin.o. |
| <sim*>: Always use crt1.o, regardless of N in simN. |
| <!sim>: Drop support for -pg and -p variants; always use crt0.o. |
| (ENDFILE_SPEC): Add crtn.o, after crtend.o. |
| (CRT_CALL_STATIC_FUNCTION): Remove. |
| * config/cris/aout.h (STARTFILE_SPEC): <!melinux && sim*>: Always |
| use crt1.o, regardless of N in simN. |
| <!sim>: Drop support for -pg and -p variants; always use crt0.o. |
| (LIB_SPEC): Do not define; default to the one in config/cris/cris.h. |
| (CRIS_CPP_SUBTARGET_SPEC) <melinux && !nostdinc>: Remove special |
| case isystem setting. |
| (MAX_OFILE_ALIGNMENT): Correct to 32, not 16. |
| |
| 2005-01-25 Ian Lance Taylor <ian@airs.com> |
| |
| * gimple-low.c (block_may_fallthru): Correct handling of |
| SWITCH_EXPR--may fall through if SWITCH_LABELS is NULL. |
| |
| 2005-01-26 Hans-Peter Nilsson <hp@axis.com> |
| |
| * config/cris/cris.h (CPP_SPEC): Adjust the various mtune= |
| handlers to match indentation; nested under the mtune=* handler. |
| Similar for mcpu= and march=. |
| |
| 2005-01-25 Daniel Jacobowitz <dan@codesourcery.com> |
| |
| * config/mips/linux.h (LIB_SPEC): Remove -rpath-link. |
| * config/mips/linux64.h (LIB_SPEC): Likewise. |
| * config/mn10300/linux.h (LIB_SPEC): Likewise. |
| * config/sh/linux.h (LIB_SPEC): Likewise. |
| |
| 2005-01-25 Aldy Hernandez <aldyh@redhat.com> |
| |
| * config/frv/frv.c (frv_legitimize_tls_address): New. |
| (TARGET_HAVE_TLS): Define. |
| (FRV_SYMBOL_REF_TLS_P): Define. |
| (frv_override_options): Handle new register classes. |
| (frv_legitimate_address_p): Reject tls addresses. |
| (frv_legitimize_address): Handle TLS addresses. |
| (gen_inlined_tls_plt): New. |
| (gen_tlsmoff): New. |
| (frv_legitimize_tls_address): New. |
| (unspec_got_name): Add TLS entries. |
| (got12_operand): Add R_FRV_TLSMOFF12 case. |
| (frv_emit_move): Fixup TLS addresses. |
| (frv_emit_movsi): Legitimize TLS addresses. |
| |
| * config/frv/frv.h (MASK_BIG_TLS): New. |
| (TARGET_BIG_TLS): New. |
| (HAVE_AS_TLS): Define. |
| (TARGET_SWITCHES): Add -mTLS and -mtls options. |
| (enum reg_class): Add GR8_REGS, GR9_REGS, GR89_REGS. |
| (REG_CLASS_NAMES): Same. |
| (REG_CLASS_CONTENTS): Same. |
| (CONSTRAINT_LEN): New. |
| (REG_CLASS_FROM_CONSTRAINT): New. |
| (PREDICATE_CODES): Add symbolic_operand. |
| |
| * config/frv/frv.md (define_constants): Add UNSPEC_GETTLSOFF, |
| UNSPEC_TLS_LOAD_GOTTLSOFF12, UNSPEC_TLS_INDIRECT_CALL, |
| UNSPEC_TLS_TLSDESC_LDD, UNSPEC_TLS_TLSDESC_LDD_AUX, |
| UNSPEC_TLS_TLSOFF_LD, UNSPEC_TLS_LDDI, UNSPEC_TLSOFF_HILO, |
| R_FRV_GOTTLSOFF_HI, R_FRV_GOTTLSOFF_LO, R_FRV_TLSMOFFHI, |
| R_FRV_TLSMOFFLO, R_FRV_TLSMOFF12, R_FRV_TLSDESCHI, |
| R_FRV_TLSDESCLO, R_FRV_GOTTLSDESCHI, R_FRV_GOTTLSDESCLO, GR8_REG, |
| GR9_REG, GR14_REG, LRREG. |
| (type): Add load_or_call attribute. |
| ("load_or_call"): New reservation. |
| ("call_gettlsoff"): New. |
| ("tls_indirect_call"): New. |
| ("tls_load_gottlsoff12"): New. |
| ("tlsoff_hilo"): New. |
| ("tls_tlsdesc_ldd"): New. |
| ("tls_tlsoff_ld"): New. |
| ("tls_lddi"): New. |
| |
| * config/frv/frv-protos.h (symbolic_operand): Protoize. |
| |
| 2005-01-25 Alexandre Oliva <aoliva@redhat.com> |
| |
| * config/frv/frv.h (ASM_OUTPUT_DWARF_DTPREL): Define. |
| * config/frv/frv-protos.h (frv_output_dwarf_dtprel): Declare. |
| * config/frv/frv.c (TLS_BIAS): Define. |
| (frv_output_dwarf_dtprel): New. |
| |
| 2005-01-26 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/19579 |
| * ifcvt.c (noce_try_cmove_arith): If emitting instructions to set up |
| both A and B, see if they don't clobber registers the other expr uses. |
| |
| 2005-01-25 J"orn Rennecke <joern.rennecke@st.com> |
| |
| * real.c (do_add): Initialize signalling and canonical members. |
| |
| * real.c (real_from_integer): Zero out destination. |
| |
| 2005-01-18 Jan Hubicka <jh@suse.cz> |
| |
| PR tree-optimize/19337 |
| * tree-inline.c (initialize_inlined_parameters): Copy |
| saved_static_chain_decl only. |
| |
| 2005-01-25 Richard Henderson <rth@redhat.com> |
| |
| PR target/19556 |
| PR target/19584 |
| * config/i386/i386.c (x86_inter_unit_moves): Zero. |
| (ix86_preferred_reload_class): Rewrite fp-constant section, with |
| 80387 enabled, to return a proper subclass. Return the subset that |
| overlaps with GENERAL_REGS for PLUS. |
| * config/i386/i386.md (movsi_1, movdi_2): Set type to "mmx" for pxor. |
| |
| 2005-01-25 Richard Henderson <rth@redhat.com> |
| |
| PR middle-end/19609 |
| * tree-complex.c (expand_complex_div_wide): Use the correct formulae. |
| |
| 2005-01-25 Roger Sayle <roger@eyesopen.com> |
| |
| * expmed.c (choose_multiplier): Change interface to return the |
| multiplier lowpart as an rtx instead of an unsigned HOST_WIDE_INT. |
| (expand_divmod): Update calls to choose_multiplier. |
| |
| 2005-01-24 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| PR middle-end/19330 |
| * expmed.c (extract_bit_field): Use adjust_address instead of |
| gen_lowpart when op0 is a MEM. |
| |
| 2005-01-24 Steven Bosscher <stevenb@suse.de> |
| |
| * cfgexpand.c (expand_gimple_tailcall): Fix typo. |
| |
| 2005-01-24 Richard Sandiford <rsandifo@redhat.com> |
| |
| * config/mips/irix-csr.c: New file. |
| * config/mips/t-iris6 (irix-csr.o): New rule to build it. |
| (EXTRA_MULTILIB_PARTS): Add irix-csr.o. |
| * config/mips/iris6.h (ENDFILE_SPEC): Include it in n32 and n64 |
| executables. |
| |
| 2005-01-24 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| PR bootstrap/19364 |
| * config.gcc (sparc-*-elf*): Remove sol2.h, sparc/sol2.h and |
| sparc/elf.h, add sparc/sp-elf.h. |
| (sparc-*-rtems*): Likewise. |
| (sparclite-*-elf*): Remove sol2.h, sparc/sol2.h, sparc/elf.h and |
| tm-dwarf2.h, add sparc/sp-elf.h. |
| (sparc86x-*-elf): Likewise. |
| (sparc64-*-elf*): Remove sol2.h, sparc/sol2.h and tm-dwarf2.h. |
| * config/sparc/liteelf.h (TARGET_SUB_OS_CPP_BUILTINS): Rename into |
| TARGET_OS_CPP_BUILTINS. |
| * config/sparc/sp86x-elf (TARGET_SUB_OS_CPP_BUILTINS): Likewise. |
| * config/sparc/rtemself.h (TARGET_SUB_OS_CPP_BUILTINS): Likewise. |
| Undefine it. |
| * config/sparc/openbsd64.h (NO_IMPLICIT_EXTERN_C): Undefine. |
| * config/sparc/sp64-elf.h (NO_IMPLICIT_EXTERN_C): New macro. |
| (SWITCH_TAKES_ARG): Likewise. |
| (LOCAL_LABEL_PREFIX): Likewise. |
| (ASM_GENERATE_INTERNAL_LABEL): Likewise. |
| (TARGET_N_FORMAT_TYPES): Delete. |
| (TARGET_FORMAT_TYPES): Likewise. |
| (ASM_DECLARE_FUNCTION_SIZE): Likewise. |
| * config/sparc/elf.h: Delete. |
| * config/sparc/sp-elf.h: New file. |
| |
| 2005-01-24 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * tree-flow-inline.h (phi_arg_from_edge): Remove. |
| * tree-flow.h: Remove the corresponding prototype. |
| * tree-ssa-operands.h, tree-ssa-threadupdate.c, tree-ssa.c, |
| tree-vectorizer.c: Use dest_idx instead of phi_arg_from_edge. |
| |
| 2005-01-24 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/17751 |
| * config/rs6000/rs6000.c (rs6000_file_start): Create toc section |
| for AIX ABI or ELF -fPIC. |
| (rs6000_emit_load_toc_table): Don't create toc_section here. |
| (rs6000_xcoff_file_start): Nor here. |
| |
| 2005-01-24 J"orn Rennecke <joern.rennecke@st.com> |
| |
| * sh.c (ra.h): Don't #include. |
| (hard_regs_intersect_p): New function, resurrected from ra.c. |
| |
| * sh.c: Fix 1996 Copyright. |
| |
| 2005-01-24 Richard Henderson <rth@redhat.com> |
| Aldy Hernandez <aldyh@redhat.com> |
| |
| * regrename.c (note_sets): Handle subregs. |
| |
| 2005-01-24 Joseph S. Myers <joseph@codesourcery.com> |
| |
| PR bootstrap/18058 |
| * genconditions.c (write_header, write_conditions): Elide file if |
| not GCC >= 3.0.1. |
| |
| 2005-01-24 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * c-opts.c, expmed.c, gengtype.c, tree-complex.c, |
| config/arm/iwmmxt.md, config/avr/avr.c, config/s390/s390.h: |
| Update copyright. |
| |
| 2005-01-24 Jakub Jelinek <jakub@redhat.com> |
| |
| * builtins.c (get_pointer_alignment, gimplify_va_arg_expr, |
| expand_builtin_printf, expand_builtin_fprintf, |
| expand_builtin_sprintf): Use POINTER_TYPE_P instead TREE_CODE |
| checking against POINTER_TYPE. |
| (validate_arglist): Handle POINTER_TYPE code by checking |
| POINTER_TYPE_P. |
| |
| 2005-01-24 Paolo Bonzini <bonzini@gnu.org> |
| |
| * rtlanal.c (non_rtx_starting_operands, for_each_rtx_1, |
| init_rtlanal): New. |
| (for_each_rtx): Call for_each_rtx_1. |
| * rtl.h (init_rtlanal): Declare. |
| * toplev.c (backend_init): Call init_rtlanal. |
| |
| 2005-01-24 Jakub Jelinek <jakub@redhat.com> |
| |
| * flow.c (propagate_one_insn): Formatting. |
| |
| PR middle-end/19551 |
| * flow.c (libcall_dead_p): Be more conservative if unsure. |
| If there are any instructions between insn and call, see if they are |
| all dead before saying the libcall is dead. |
| |
| 2005-01-24 Uros Bizjak <uros@kss-loka.si> |
| |
| * config/i386/i386.md (*extendsfdf2_sse): Use "nonimmediate_operand" |
| operand constraint for operand 0. |
| |
| 2005-01-23 Richard Henderson <rth@redhat.com> |
| |
| PR 19486 |
| * tree-complex.c (expand_complex_div_wide): Set EDGE_FALLTHRU on |
| edges leading to join block. |
| |
| 2005-01-23 Roger Sayle <roger@eyesopen.com> |
| |
| * expmed.c (expand_mult_highpart): Make static. Change type of |
| constant multiplier argument from unsigned HOST_WIDE_INT to rtx. |
| (expand_divmod): Updates calls to expand_mult_highpart by using |
| gen_int_mode to pass a CONST_INT rtx. |
| * rtl.h (expand_mult_highpart): Remove prototype. |
| |
| 2005-01-23 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * flow.c (regset_bytes, regset_size): Remove. |
| |
| * cfganal.c: Fix a reference to Harvey's paper. |
| |
| 2005-01-23 Steven Bosscher <stevenb@suse.de> |
| |
| PR rtl-optimization/19464 |
| * tree-optimize.c (init_tree_optimization_passes): Add one more |
| copyrename pass just before out-of-ssa. |
| |
| 2005-01-23 Joseph S. Myers <joseph@codesourcery.com> |
| |
| PR bootstrap/18058 |
| * recog.c (recog_memoized): Don't define if GENERATOR_FILE. |
| * ggc-none.c (ggc_free): Define. |
| |
| 2005-01-23 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * cse.c (max_reg, max_insn_uid): Remove. |
| (cse_main): Don't access max_reg or max_insn_uid. |
| |
| * c-common.c (explicit_flag_signed_bitfields, |
| lang_statement_code_p, lang_expand_function_end): Remove. |
| * c-common.h: Remove the corresponding declarations. |
| * c-opts.c (c_common_handle_option): Remove all write access |
| to explicit_flag_signed_bitfields. |
| |
| * cgraph.c (cgraph_varpool_n_nodes): Remove. |
| (cgraph_varpool_node): Don't access cgraph_varpool_n_nodes. |
| * cgraph.h: Remove the corresponding declaration. |
| |
| * gcse.c (null_pointer_info): Remove. |
| |
| 2005-01-23 Roger Sayle <roger@eyesopen.com> |
| Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| * combine.c (simplify_logical): Only simplify logical expressions |
| of the form ior(and(x,y),z) by the inverse distributive law if the |
| result is cheaper than the original. |
| |
| 2005-01-23 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * alias.c, c-common.h, c-incpath.c, c-incpath.h, expr.c, |
| fold-const.c, gimplify.c, params.h, tree-data-ref.c, |
| tree-if-conv.c, tree-nested.c, tree-outof-ssa.c, |
| tree-ssa-dom.c, tree-vectorizer.c, tree.def, config/darwin.c, |
| config/freebsd-spec.h, config/arm/arm.h, |
| config/h8300/h8300.md, config/i386/i386.md, |
| config/i386/predicates.md, config/i386/sse.md, |
| config/ia64/ia64.c, config/ip2k/ip2k.c, config/s390/s390.c, |
| config/vax/vax.md: Fix comment typos. Follow spelling |
| conventions. |
| |
| 2005-01-23 Steven Bosscher <stevenb@suse.de> |
| |
| * gengtype.c (walk_type): Produce `not equal to' compares for loop |
| tests, instead of `less than'. |
| |
| 2005-01-23 Richard Sandiford <rsandifo@redhat.com> |
| |
| * function.c (assign_parm_setup_block): When creating a new stack slot |
| for a parameter, get its alignment from the parameter's DECL_ALIGN |
| rather than the type's TYPE_ALIGN. Make sure that the parameter |
| is at least word aligned. |
| |
| 2005-01-22 Roger Sayle <roger@eyesopen.com> |
| |
| PR middle-end/19378 |
| * config/avr/avr.c (avr_hard_regno_mode_ok): Rewrite. |
| |
| 2005-01-22 Richard Henderson <rth@redhat.com> |
| |
| PR target/19506 |
| * config/i386/i386.md (movsfcc_1_sse_max): Use nonimmediate_operand |
| in both compare operands. |
| (movdfcc_1_sse_max): Likewise. |
| (movsfcc_1_sse): Likewise. Add earlyclobber for scratch. |
| (movdfcc_1_sse): Likewise. |
| * config/i386/i386.c (ix86_split_sse_movcc): Emit copies into the |
| scratch register as needed. |
| |
| 2005-01-22 Richard Henderson <rth@redhat.com> |
| |
| * config/i386/i386.md (smaxsf3): Fix mnemonic typo. |
| |
| * config/i386/i386.c (ix86_prepare_fp_compare_args): Fix is_sse test. |
| |
| 2005-01-22 Richard Henderson <rth@redhat.com> |
| |
| * genopinit.c (optabs): Use smin/smax for floating point too. |
| * doc/md.texi: Update to match. Clarify that floating point |
| results are undefined for +0/-0 and NaN. |
| * doc/rtl.texi: Likewise. |
| * rtl.def (SMIN, SMAX): Likewise |
| * tree.def (MIN_EXPR, MAX_EXPR): Likewise. |
| |
| * config/alpha/alpha.md (smaxdf3, smindf3, smaxsf3, sminsf3): Add |
| leading 's' to the name. |
| * config/ia64/ia64.md (smaxsf3, sminsf3, smaxdf3, smindf3, |
| smaxxf3, sminxf3): Likewise. |
| * config/rs6000/rs6000.md (smaxdf3, smindf3, smaxsf3, sminsf3): |
| Likewise. |
| |
| 2005-01-22 Paul Brook <paul@codesourcery.com> |
| |
| * config/arm/arm.md: Use "Uy" constraint for wcgr load/stores. |
| |
| 2005-01-21 Mark Dettinger <dettinge@de.ibm.com> |
| |
| * config/s390/s390.c (struct processor_costs): New fields |
| dlgr, dlr, dr, dsgfr, dsgr. |
| (z900_cost, z990_cost): Values for new fields. |
| (s390_rtx_costs): New cases MEM und COMPARE in switch |
| statement. Modified handling of SIGN_EXTEND, ZERO_EXTEND, |
| DIV, MOD, UDIV, UMOD. |
| |
| 2005-01-21 Ulrich Weigand <uweigand@de.ibm.com> |
| |
| * config/s390/s390.md ("doloop_si64"): Reload input value directly |
| into the register being decremented. |
| ("doloop_si31", "doloop_di"): Likewise. |
| ("*doloop_si_long"): Adapt pattern. |
| |
| 2005-01-21 Ulrich Weigand <uweigand@de.ibm.com> |
| |
| * config/s390/s390.h (HARD_REGNO_NREGS): Fix computation for |
| access registers. |
| (CLASS_MAX_NREGS): Likewise. |
| |
| 2005-01-21 Daniel Berlin <dberlin@dberlin.org> |
| |
| * doc/tree-ssa.texi (Statement Operands): Add example for new |
| must-def macro. Note deprecation of old operands interface. |
| |
| 2005-01-22 Richard Sandiford <rsandifo@redhat.com> |
| |
| PR tree-optimization/19484 |
| * tree-cfg.c (remove_fallthru_edge): New function. |
| (cleanup_control_flow): Remove fallthru edges from calls that are |
| now known not to return. |
| |
| 2005-01-20 Daniel Berlin <dberlin@dberlin.org> |
| |
| Fix PR tree-optimization/19038 |
| * tree-ssa-dom.c (cprop_operand): Don't replace loop invaeriant |
| copies with loop variant ones. |
| |
| 2005-01-22 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * cfganal.c, real.h, reorg.c, timevar.def, tree-ssa-ccp.c, |
| config/alpha/alpha-protos.h, config/alpha/alpha.h, |
| config/alpha/alpha.md, config/alpha/predicates.md, |
| config/sparc/freebsd.h, config/sparc/netbsd-elf.h, |
| config/sparc/sol2.h: Update copyright. |
| |
| * tree-cfg.c (remove_forwarder_block_with_phi): Look at the |
| first label to see if it is a nonlocal label. |
| |
| 2005-01-22 David Edelsohn <edelsohn@gnu.org> |
| Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR target/19491 |
| * config/rs6000/rs6000.c (rs6000_va_start): Saturate n_gpr at |
| maximum number of GPRs. Saturate n_fpr at maximum number of FPRs. |
| |
| 2005-01-22 Ralf Corsepius <ralf.corsepius@rtems.org> |
| |
| * config/rs6000/rtems.h: Update copyright. |
| |
| 2005-01-22 Ralf Corsepius <ralf.corsepius@rtems.org> |
| |
| PR target/19548 |
| * config/rs6000/rtems.h: Resurrect cpp_os_rtems_spec from gcc < 3.4. |
| (CPP_OS_RTEMS_SPEC): New (From gcc-3.3's config/rs6000/sys4.h). |
| (SUBSUBTARGET_EXTRA_SPECS): Use CPP_OS_RTEMS_SPEC. |
| |
| 2005-01-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de> |
| |
| PR c/18809 |
| * c-typeck.c (convert_arguments): Check for error_mark_node. |
| |
| 2005-01-21 Ian Lance Taylor <ian@airs.com> |
| |
| PR tree-optimization/13000 |
| * tree-inline.c: Include "tree-flow.h". |
| (expand_call_inline): If warn_return_type, warn if non-void inline |
| function falls through. |
| * tree-cfg.c (execute_warn_function_return): Don't warn about |
| control reaching end if TREE_NO_WARNING is set. Set |
| TREE_NO_WARNING. |
| * gimple-low.c (block_may_fallthru): Don't assume that SWITCH_EXPR |
| has been lowered. |
| * gimplify.c (shortcut_cond_expr): Don't emit a jump over the else |
| branch if we don't need one. |
| * c-typeck.c: Include "tree-flow.h" |
| (c_finish_bc_stmt): Don't add a goto if the current statement |
| list doesn't fall through to the current point. |
| |
| 2005-01-21 Roger Sayle <roger@eyesopen.com> |
| |
| PR rtl-optimization/576 |
| * real.c (real_arithmetic): Change return type from void to bool |
| to return an indication that the result may be inexact. |
| * real.h (real_arithmeric): Update prototype. |
| * fold-const.c (const_binop): Don't constant fold floating |
| point expressions when the user specifies -frounding-math and |
| the result may depend upon the run-time rounding mode. |
| (fold_convert_const_real_from_real): Clean-up. |
| (fold_initializer): Ignore flag_rounding_math for initializers. |
| * simplify-rtx.c (simplify_binary_operation): Likewise, don't |
| constant fold FP operations with flag_rounding_math if the |
| result may depend upon the run-time rounding mode. |
| |
| 2005-01-21 Tom Tromey <tromey@redhat.com> |
| |
| * c-cppbuiltin.c (define__GNUC__): Correct assertion. |
| |
| 2005-01-21 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * tree-cfg.c: Fix comment typos. |
| |
| 2005-01-21 J"orn Rennecke <joern.rennecke@st.com> |
| |
| * passes.c (rest_of_handle_flow2): Close / open the flow2 dump file |
| around the call to rest_of_handle_branch_target_load_optimize. |
| |
| 2005-01-21 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| * config.gcc (sparc-*-netbsdelf*): Include dbxelf.h |
| (sparc64-*-openbsd*): Likewise. |
| (sparclite-*-elf*): Include tm-dwarf2.h. |
| (sparc86x-*-elf*): Likewise. |
| (sparc64-*-elf*): Likewise. |
| * config/sparc/linux64.h (DWARF2_DEBUGGING_INFO): Delete. |
| (DBX_DEBUGGING_INFO): Likewise. |
| * config/sparc/liteelf.h (DWARF2_DEBUGGING_INFO): Likewise. |
| (PREFERRED_DEBUGGING_TYPE): Likewise. |
| * config/sparc/netbsd-elf.h (PREFERRED_DEBUGGING_TYPE): Likewise. |
| * config/sparc/sp64-elf.h (DBX_DEBUGGING_INFO): Likewise. |
| (PREFERRED_DEBUGGING_TYPE): Likewise. |
| * config/sparc/sp86x-elf.h (DWARF2_DEBUGGING_INFO): Likewise. |
| (PREFERRED_DEBUGGING_TYPE): Likewise. |
| * config/sparc/sparc.h (DBX_DEBUGGING_INFO): Likewise. |
| |
| 2005-01-21 Hans-Peter Nilsson <hp@bitrange.com> |
| |
| PR target/18701 |
| * combine.c (combine_simplify_rtx): Revert change of 2004-12-31. |
| |
| 2005-01-20 Paul Brook <paul@codesourcery.com> |
| |
| * doc/rtl.texi: Document value extension requirements for CONST_INT. |
| |
| 2005-01-20 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * tree-cfg.c (tree_verify_flow_info): Check that a nonlocal |
| label is first in a sequence of labels. |
| |
| * tree-cfg.c (tree_verify_flow_info): Fix a typo. |
| |
| 2005-01-20 Janis Johnson <janis187@us.ibm.com> |
| Giovanni Bajo <giovannibajo@gcc.gnu.org> |
| |
| * doc/sourcebuild.texi (Test Directives): New. |
| |
| 2005-01-20 Roger Sayle <roger@eyesopen.com> |
| |
| * real.c (real_floor): Don't leave the result uninitialized when |
| mode is VOIDMode, but return the unrounded intermediate value. |
| (real_ceil): Likewise. |
| |
| 2005-01-20 Paul Brook <paul@codesourcery.com> |
| |
| * config/arm/arm.md (insv): Use gen_int_mode. |
| |
| 2005-01-20 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| * config/sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABELREF): Delete. |
| * config/sparc/linux.h (ASM_OUTPUT_INTERNAL_LABELREF): Likewise. |
| * config/sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABELREF): Likewise. |
| * config/sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABELREF): Likewise. |
| * config/sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABELREF): Likewise. |
| |
| 2005-01-20 Daniel Berlin <dberlin@dberlin.org> |
| |
| Fix PR debug/19124 |
| * dwarf2out.c (concat_loc_descriptor): We don't know we can use |
| fbreg, so we have to assume we can't. |
| (loc_descriptor_from_tree_1): Ditto. |
| (containing_function_has_frame_base): New function. |
| (add_location_or_const_value_attribute): Use it. |
| Also try to generate a frame_base from a single element location |
| list. |
| |
| 2005-01-20 Kazu Hirata <kazu@cs.umass.edu> |
| |
| PR tree-optimization/15349 |
| * timevar.def (TV_TREE_MERGE_PHI): New. |
| * tree-cfg.c (tree_forwarder_block_p): Add a new argument |
| PHI_WANTED. |
| (remove_forwarder_block, cleanup_forwarder_blocks): Adjust the |
| calls to tree_forwarder_block_p. |
| (remove_forwarder_block_with_phi, merge_phi_nodes, |
| gate_merge_phi, pass_merge_phi): New. |
| * tree-optimize.c (init_tree_optimization_passes): Add |
| pass_merge_phi. |
| * tree-pass.h: Add an extern for pass_merge_phi; |
| |
| 2005-01-20 Richard Henderson <rth@redhat.com> |
| |
| PR target/19418 |
| * config/i386/emmintrin.h (_mm_castpd_ps, _mm_castpd_si128): New. |
| (_mm_castps_pd, _mm_castps_si128): New. |
| (_mm_castsi128_ps, _mm_castsi128_pd): New. |
| |
| 2005-01-20 Richard Henderson <rth@redhat.com> |
| |
| PR target/19530 |
| * config/i386/mmintrin.h (_mm_cvtsi32_si64): Use |
| __builtin_ia32_vec_init_v2si. |
| (_mm_cvtsi64_si32): Use __builtin_ia32_vec_ext_v2si. |
| * config/i386/i386.c (IX86_BUILTIN_VEC_EXT_V2SI): New. |
| (ix86_init_mmx_sse_builtins): Create it. |
| (ix86_expand_builtin): Expand it. |
| (ix86_expand_vector_set): Handle V2SFmode and V2SImode. |
| * config/i386/mmx.md (vec_extractv2sf_0, vec_extractv2sf_1): New. |
| (vec_extractv2si_0, vec_extractv2si_1): New. |
| |
| 2005-01-20 Richard Henderson <rth@redhat.com> |
| |
| PR target/16533 |
| * config/i386/i386.c (ix86_expand_push): New. |
| * config/i386/mmx.md (push<MMXMODE>1): New. |
| * config/i386/sse.md (push<SSEMODE>1): New. |
| * config/i386/i386-protos.h: Update. |
| |
| 2005-01-20 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * params.def, params.h, predict.c, tree-ssa-loop-im.c: Update |
| copyright. |
| |
| 2005-01-20 Richard Henderson <rth@redhat.com> |
| |
| * rtl.def (CONST_VECTOR): Use RTX_CONST_OBJ. |
| * rtl.h (CONSTANT_P): Don't special case CONST_VECTOR. |
| |
| 2005-01-19 Richard Henderson <rth@redhat.com> |
| |
| PR target/19350 |
| * config/i386/i386.c (ix86_expand_vector_move_misalign): Convert |
| to V4SFmode in SSE1 fallback load path. |
| |
| 2005-01-19 Richard Henderson <rth@redhat.com> |
| |
| * config/i386/i386.c (ix86_expand_vector_init_one_var): Fix typo |
| in QImode expansion to ix86_expand_vector_set. |
| (ix86_expand_vector_init_general): Fix typo in V8HImode recursive call. |
| |
| 2005-01-19 Richard Henderson <rth@redhat.com> |
| |
| PR target/19511 |
| * config/i386/i386.c (ix86_preferred_reload_class): Return a proper |
| subclass of the input class. |
| (ix86_secondary_memory_needed): Always true for cross-MMX classes. |
| Always true for cross-SSE1 classes. Rationalize conditionals. |
| * config/i386/i386.h (SSE_CLASS_P, MMX_CLASS_P): Use straight equality. |
| * config/i386/i386.md (movsi_1): Add MMX/SSE zeros. Fix alternatives |
| for SSE1. Don't check TARGET_INTER_UNIT_MOVES. |
| (movdi_2): Add MMX/SSE zeros. |
| (movdi_1_rex64): Likewise. Don't check TARGET_INTER_UNIT_MOVES. |
| (movsf_1): Don't check TARGET_INTER_UNIT_MOVES. |
| (zero_extendsidi2_32, zero_extendsidi2_rex64): Likewise. |
| (movsi_1_nointernunit, movdi_1_rex64_nointerunit): Remove. |
| (movsf_1_nointerunit, zero_extendsidi2_32_1): Remove. |
| (zero_extendsidi2_rex64_1): Remove. |
| (MOV0 peephole): Check GENERAL_REG_P. |
| |
| 2005-01-19 Richard Henderson <rth@redhat.com> |
| |
| PR target/19427 |
| * config/i386/i386.c (ix86_expand_vector_set): Fix third and fourth |
| shufps elements. |
| (ix86_expand_vector_extract): Likewise. |
| |
| 2005-01-19 Richard Henderson <rth@redhat.com> |
| |
| PR middle-end/19304 |
| * expr.c (emit_move_change_mode): New argument force; use |
| simplify_gen_subreg if true. |
| (emit_move_via_alt_mode): Merge into ... |
| (emit_move_via_integer): ... here. |
| (emit_move_ccmode): Use emit_move_change_mode directly. |
| |
| 2005-01-19 Richard Henderson <rth@redhat.com> |
| |
| PR target/19518 |
| * config/alpha/alpha.c (alpha_rtx_costs): Handle HIGH. |
| (alpha_preferred_reload_class): Handle CONST_VECTOR. |
| (alpha_emit_set_const_1): Add no_output parameter; don't emit |
| rtl if true. |
| (alpha_emit_set_const): Likewise. Make static. |
| (alpha_emit_set_long_const): Make static. |
| (alpha_extract_integer): Split out from alpha_expand_mov. |
| (alpha_split_const_mov): Likewise. |
| (alpha_expand_mov): Use them. Handle CONST_VECTOR. |
| (alpha_legitimate_constant_p): New. |
| * config/alpha/alpha-protos.h: Update. |
| * config/alpha/alpha.h (REGISTER_MOVE_COST): Correct fp<->gp cost. |
| (LEGITIMATE_CONSTANT_P): Re-implement with a function. |
| * config/alpha/alpha.md (movsi): Add n alternative. |
| (movsi_nt_vms, movdi_er_nofix, movdi_er_fix, movdi_fix): Likewise. |
| (mov<VEC>_fix, mov<VEC>_nofix): Add i alternative. |
| (splitters for all of the above): Use alpha_split_const_mov. |
| * config/alpha/predicates.md (non_add_const_operand): New. |
| (non_zero_const_operand): New. |
| (input_operand): Use alpha_legitimate_constant_p after reload. |
| |
| 2005-01-19 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| PR tree-optimization/19038 |
| * tree-ssa-loop-ivopts.c (allow_ip_end_pos_p): New function. |
| (add_candidate): Add ivs with increment in latch only if |
| allow_ip_end_pos_p is true. |
| (determine_iv_cost): Use empty_block_p. |
| |
| 2005-01-19 Daniel Berlin <dberlin@dberlin.org> |
| |
| * cfganal.c (compute_dominance_frontiers_1): Replace with new algorithm |
| (compute_dominance_frontiers): Ditto. |
| |
| 2005-01-19 Ralf Corsepius <ralf.corsepius@rtems.org> |
| |
| PR target/19529 |
| * config/sh/t-rtems: New. |
| * config.gcc (sh-*-rtems*): Reflect having added config/sh/t-rtems. |
| |
| 2005-01-19 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| * tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Always subtract |
| the offset of the selected field. |
| |
| 2005-01-19 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * tree-cfg.c (remove_forwarder_block): Fix the check to |
| prevent a nonlocal label from appearing in the middle of a |
| basic block. |
| |
| 2005-01-19 Hans-Peter Nilsson <hp@axis.com> |
| |
| PR rtl-optimization/19462 |
| * reorg.c (find_end_label): Create return insn only if |
| current_function_epilogue_delay_list is empty. |
| |
| 2005-01-19 Paolo Bonzini <bonzini@gnu.org> |
| |
| * doc/passes.texi: Remove paragraph mentioning new-ra. |
| |
| 2005-01-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/15139 |
| * combine.c: Include params.h. |
| (count_rtxs): New function. |
| (record_value_for_reg): If replace_rtx would replace at least |
| 2 occurrences of REG in VALUE and TEM is really large, replace REG with |
| (clobber (const_int 0)) instead of TEM. |
| * params.def (PARAM_MAX_LAST_VALUE_RTL): New. |
| * params.h (MAX_LAST_VALUE_RTL): New. |
| * Makefile.in (combine.o): Depend on $(PARAMS_H). |
| * doc/invoke.texi (--param max-last-value-rtl=N): Document. |
| |
| PR c/17297 |
| * c-typeck.c (digest_init): Only call build_vector if all constructor |
| elements are *_CST nodes. |
| * gimplify.c (gimplify_init_constructor): Likewise. |
| |
| PR middle-end/19164 |
| * c-typeck.c (digest_init): Only call build_vector if inside_init |
| is a CONSTRUCTOR. |
| |
| 2005-01-18 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * toplev.c (init_asm_output): Remove dead #ifdef. |
| |
| 2005-01-18 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| * config/sh/linux.h (TARGET_C99_FUNCTIONS): Define. |
| |
| 2005-01-18 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| * calls.c (expand_call): Check DECL_BUILT_IN_CLASS before |
| accessing DECL_FUNCTION_CODE. |
| * dojump.c (do_jump): Likewise. |
| * gimplify.c (gimplify_call_expr): Likewise. |
| * predict.c (expr_expected_value): Likewise. |
| (strip_builtin_expect): Likewise. |
| * tree-inline.c (estimate_num_insns_1): Likewise. |
| * tree-ssa-loop-im.c (stmt_cost): Likewise |
| * fold-const.c (fold): Test for BUILT_IN_NORMAL. |
| (tree_expr_nonnegative_p): Likewise. |
| |
| 2005-01-18 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| * config/sparc/sparc.c (load_pic_register): Emit the appropriate |
| variant of the load_pcrel_sym pattern. |
| * config/sparc/sparc.md (P macro): Move to the top. |
| (load_pcrel_sym): Macroize using P. |
| (save_register_window): Likewise. |
| |
| 2005-01-18 Aldy Hernandez <aldyh@redhat.com> |
| |
| * config/rs6000/rs6000.md ("sunordered"): Disable for e500. |
| ("sordered"): Same. |
| |
| 2005-01-18 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR C/19472 |
| * c-typeck.c (build_asm_expr): Strip nops off |
| input memory operands. |
| |
| 2005-01-18 David Edelsohn <edelsohn@gnu.org> |
| |
| * config/rs6000/aix43.h (CPLUSPLUS_CPP_SPEC): Delete |
| _XOPEN_SOURCE, _XOPEN_SOURCE_EXTENDED, _LARGE_FILE_API. |
| * config/rs6000/aix51.h (CPLUSPLUS_CPP_SPEC): Same. |
| * config/rs6000/aix52.h (CPLUSPLUS_CPP_SPEC): Same. |
| |
| 2005-01-18 Joel Sherrill <joel.sherrill@oarcorp.com> |
| |
| PR target/19379 |
| * config/i386/i386.c (override_options): If the 80387 is disabled, |
| then do not return FP values using FP registers. |
| |
| 2005-01-18 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * basic-block.h, c-common.c, c-cppbuiltin.c, c-lang.c, |
| c-tree.h, cfgbuild.c, cgraph.c, cgraph.h, collect2.c, |
| combine.c, config.gcc, coverage.h, cse.c, cselib.c, |
| defaults.h, df.c, dwarf2asm.c, dwarf2out.c, explow.c, expr.c, |
| flow.c, fold-const.c, gcse.c, ggc-page.c, gimple-low.c, |
| gimplify.c, ifcvt.c, langhooks-def.h, lcm.c, optabs.h, |
| output.h, postreload-gcse.c, postreload.c, recog.c, |
| resource.c, rtl.def, rtlanal.c, sched-deps.c, sched-rgn.c, |
| targhooks.h, toplev.c, tree-data-ref.c, tree-eh.c, |
| tree-flow.h, tree-loop-linear.c, tree-mudflap.h, tree-nrv.c, |
| tree-optimize.c, tree-outof-ssa.c, tree-pass.h, |
| tree-scalar-evolution.c, tree-ssa-copy.c, tree-ssa-dce.c, |
| tree-ssa-dse.c, tree-ssa-loop-ivopts.c, tree-ssa-operands.c, |
| tree-ssa-pre.c, tree-ssa.c, tree-vectorizer.c, tree.def, |
| unwind-dw2-fde-darwin.c, var-tracking.c: Update copyright. |
| |
| * config/darwin.c, config/darwin.h, config/freebsd-spec.h, |
| config/alpha/alpha.c, config/arm/vfp.md, |
| config/i386/emmintrin.h, config/i386/i386-modes.def, |
| config/i386/i386-protos.h, config/i386/i386.h, |
| config/i386/pmmintrin.h, config/i386/ppro.md, |
| config/i386/predicates.md, config/i386/xmmintrin.h, |
| config/i860/i860.c, config/ia64/ia64-modes.def, |
| config/ia64/ia64-protos.h, config/ia64/ia64.h, |
| config/ia64/ia64.md, config/ia64/itanium1.md, |
| config/ia64/itanium2.md, config/ia64/predicates.md, |
| config/iq2000/iq2000.h, config/mips/linux64.h, |
| config/rs6000/aix41.h, config/rs6000/aix43.h, |
| config/rs6000/aix52.h, config/rs6000/darwin-fallback.c, |
| config/rs6000/rs6000.c, config/rs6000/rs6000.h, |
| config/rs6000/spe.md, config/sh/sh.md, config/sparc/linux.h, |
| config/sparc/linux64.h, config/sparc/litecoff.h, |
| config/sparc/sp64-elf.h, config/sparc/sparc.c, |
| config/sparc/sparc.h, config/sparc/sparc.md, |
| config/sparc/sysv4-only.h: Update copyright. |
| |
| 2005-01-18 Richard Henderson <rth@redhat.com> |
| |
| PR target/19496 |
| * config/i386/i386.c (ix86_expand_fp_movcc): Fail for LTGT and UNEQ. |
| |
| 2005-01-18 Marc Espie <espie@openbsd.org> |
| * config/i386/openbsdelf.h: Typo. |
| |
| 2005-01-18 Richard Henderson <rth@redhat.com> |
| |
| * config/i386/i386.c (ix86_expand_fp_movcc): Remove TARGET_IEEE_FP |
| special case for sse. |
| * config/i386/predicates.md (sse_comparison_operator): Likewise. |
| |
| 2005-01-18 Dorit Naishlos <dorit@il.ibm.com> |
| |
| * tree-inline.c (estimate_num_insns_1): Added cases for |
| ALIGN_INDIRECT_REF, MISALIGNED_INDIRECT_REF, and REALIGN_LOAD_EXPR. |
| |
| 2005-01-18 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| PR rtl-optimization/19296 |
| * combine.c (simplify_comparison): Rewrite the condition under |
| which a non-paradoxical SUBREG of a PLUS can be lifted when |
| compared against a constant. |
| |
| 2005-01-18 Andi Kleen <ak@muc.de> |
| |
| * c-typeck.c: (convert_for_assignment): Check warn_pointer_sign. |
| * c.opt (-Wpointer-sign): Add. |
| * doc/invoke.texi: (-Wpointer-sign): Add. |
| |
| 2005-01-18 Uros Bizjak <uros@kss-loka.si> |
| |
| * config/i386/i386.c (override_options): Revert 2004-11-24 change. |
| * config/i386/i386.md (fmodsf3, dremsf3, *sinsf2, *cossf2, sincossf3, |
| *tansf3_1, tansf2, atan2sf3_1, atan2sf3, atansf2, asinsf2, acossf2, |
| logsf2, log10sf2, log2sf2, log1psf2, logbsf2, ilogbsf2, expsf2, |
| exp10sf2, exp2sf2, expm1sf2, rintsf2, floorsf2, ceilsf2, btruncsf2, |
| nearbyintsf2): Disable for TARGET_SSE_MATH. Leave patterns enabled |
| for TARGET_MIX_SSE_I387. |
| (fmoddf3, dremdf3, *sindf2, *sinextendsfdf2, *cosdf2, *cosextendsfdf2, |
| sincosdf3, *sincosextendsfdf3, *tandf3_1, tandf2, atan2df3_1, |
| atan2df3, atandf2, asindf2, acosdf2, logdf2, log10df2, log2df2, |
| log1pdf2, logbdf2, expdf2, exp10df2, exp2df2, expm1df2, rintdf2, |
| floordf2, ceildf2, btruncdf2, nearbyintdf2): Disable for |
| (TARGET_SSE2 && TARGET_SSE_MATH). Leave patterns enabled for |
| TARGET_MIX_SSE_I387. |
| (atan2sf3, atan2df3, atan2xf3): Remove register constraints |
| from expander. |
| |
| 2005-01-18 Uros Bizjak <uros@kss-loka.si> |
| |
| PR target/19424 |
| * config/i386/mmx.md (*movv2sf_internal_rex64, *movv2sf_internal): |
| Add movaps alternative for xmm reg->reg move. |
| |
| 2005-01-17 Jeff Law <law@redhat.com> |
| |
| * tree-ssa-dom.c (tree_ssa_dominator_optimize): Clear SSA_NAME_VALUE |
| at the end of the main DOM loop rather than just before DOM exits. |
| |
| 2005-01-17 Diego Novillo <dnovillo@redhat.com> |
| |
| PR tree-optimization/19121 |
| * tree-ssa-alias.c (compute_flow_sensitive_aliasing): When |
| adding aliases to a name tag, also add them to the pointer's |
| type tag. |
| * tree-ssa-copy.c (merge_alias_info): Do not merge flow |
| sensitive alias info at all. Only check that the two pointers |
| have compatible pointed-to sets. |
| * tree-ssa.c (verify_name_tags): Verify that the alias set of |
| a pointer's type tag is a superset of the alias set of the |
| pointer's name tag. |
| |
| 2005-01-17 James E Wilson <wilson@specifixinc.com> |
| |
| PR target/19357 |
| * config/ia64/ia64.md (movxf): Handle general register source. Adjust |
| comment to document why. |
| |
| 2005-01-17 Richard Henderson <rth@redhat.com> |
| |
| * config/i386/sse.md (smaxv4sf3_finite, sse_vmsmaxv4sf3_finite, |
| sminv4sf3_finite, sse_vmsminv4sf3_finite, smaxv2df3_finite, |
| sse2_vmsmaxv2df3_finite, sminv2df3_finite, |
| sse2_vmsminv2df3_finite): New. |
| (smaxv4sf3, sse_vmsmaxv4sf3, sminv4sf3, sse_vmsminv4sf3, smaxv2df3, |
| sse2_vmsmaxv2df3, sminv2df3, sse2_vmsminv2df3): Remove commutative. |
| Force op1 into register. |
| |
| 2005-01-17 Kelley Cook <kcook@gcc.gnu.org> |
| |
| * Makefile.in (STAGEMOVESTUFF): Stage all the stamp files to prevent |
| bubblestrap from always rebuilding build directory. |
| |
| 2005-01-17 Ulrich Weigand <uweigand@de.ibm.com> |
| |
| * config/s390/s390.md ("*clc"): Remove incorrect '='. |
| ("*cmpmem_short"): Likewise. |
| |
| 2005-01-17 Steven Bosscher <stevenb@suse.de> |
| |
| * basic-block.h: Document BB_* flags. |
| * regrename.c (copyprop_hardreg_forward): Don't use BB_VISITED, |
| use an sbitmap instead. |
| * sched-rgn.c (compute_trg_info): Likewise. |
| |
| 2005-01-17 Richard Sandiford <rsandifo@redhat.com> |
| |
| * config.gcc (mips64*-*-linux*): Set the default abi to n32. Remove |
| redundant target_cpu_default and extra_parts lines. Use the default |
| "from-abi" ISA. |
| * config/mips/linux64.h (DRIVER_DEFAULT_ABI_SELF_SPEC): Delete. |
| (SUBTARGET_EXTRA_SPECS): Delete. |
| (DRIVER_SELF_SPECS): Remove architecture lines. Set the ABI directly. |
| (SUBTARGET_ASM_SPEC): Remove -mabi=n32 and -mabi=64 mappings. |
| * config/mips/t-linux64 (MULTILIB_DIRNAMES): Use "32" for -mabi=32 |
| and "n32" for -mabi=n32. |
| |
| 2005-01-17 Ian Lance Taylor <ian@airs.com> |
| |
| PR c/5675 |
| * c-typeck.c (build_c_cast): Revert patch of 2003-02-16: don't |
| fold constant variables into initial values. |
| |
| 2005-01-17 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * tree-cfg.c (tree_can_merge_blocks_p): Reorder two checks. |
| |
| * tree-cfg.c (tree_forwarder_block_p): Speed up by walking |
| through the statements backward. |
| |
| 2005-01-17 Ian Lance Taylor <ian@airs.com> |
| |
| PR middle-end/13127: |
| * tree-inline.c (expand_call_inline): Set TREE_NO_WARNING on |
| a variable set to the return value of the inlined function. |
| |
| 2005-01-17 Mark Dettinger <dettinge@de.ibm.com> |
| |
| * rtlanal.c (rtx_cost): Assign cost of 0 to a SUBREG |
| when modes are tieable. |
| |
| 2005-01-17 Ranjit Mathew <rmathew@hotmail.com> |
| |
| * gthr-posix.h (__gthread_active_p): Use pthread_cancel instead |
| of pthread_create to find out if threads are enabled. |
| * gthr-posix95.h (__gthread_active_p): Likewise. |
| |
| 2005-01-17 Paolo Bonzini <bonzini@gnu.org> |
| |
| * common.opt (-fnew-ra): Remove. |
| * ra*.*: Remove. |
| * toplev.h (flag_new_regalloc): Remove. |
| * Makefile.in (ra*.*): Don't mention. |
| * passes.c (rest_of_handle_new_regalloc): Remove. |
| (rest_of_handle_combine, rest_of_compilation): Always consider |
| flag_new_regalloc as false. |
| * doc/invoke.texi: Don't document -fnew-ra. |
| |
| 2005-01-17 Paolo Bonzini <bonzini@gnu.org> |
| |
| * bb-reorder.c (fix_edges_for_rarely_executed_code): Remove |
| last parameter to reg_scan. |
| * loop.c (loop_optimize): Likewise. |
| * passes.c (rest_of_handle_tracer, rest_of_handle_if_conversion, |
| rest_of_handle_web, rest_of_handle_cfg, rest_of_handle_jump_bypass, |
| rest_of_handle_life, rest_of_handle_cse, rest_of_handle_cse2, |
| rest_of_handle_gcse, rest_of_handle_loop_optimize, |
| rest_of_handle_loop2, rest_of_handle_jump2): Likewise. |
| * regclass.c (reg_scan): Likewise, for the declaration. |
| * rtl.h (reg_scan): Likewise, for the prototype. |
| |
| 2005-01-17 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * tree-ssa-dom.c (tree_ssa_dominator_optimize): Don't call |
| mark_dfs_back_edges. |
| |
| 2005-01-16 Daniel Berlin <dberlin@dberlin.org> |
| |
| * tree-ssa-pre.c (add_to_sets): s1 may be NULL. |
| (compute_avail): Uses don't go in tmp_gen. |
| |
| 2005-01-16 Steven Bosscher <stevenb@suse.de> |
| |
| * ggc-page.c (ggc_alloc_stat): Use __builtin_ctzl instead of a |
| loop to look for a free slot in a page entry. |
| |
| 2005-01-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| PR target/16304 |
| * defaults.h (TARGET_DEFERRED_OUTPUT_DEFS): Provide default. |
| * toplev.c (compile_file): Call process_pending_assemble_output_defs |
| just before targetm.asm_out.file_end. |
| * tree.h (process_pending_assemble_output_defs): Declare. |
| * varasm.c (assemble_output_def, process_pending_assemble_output_defs): |
| New functions. |
| (assemble_alias): Defer generation of assembly code for defines when |
| TARGET_DEFERRED_OUTPUT_DEFS is true. |
| * config/rs6000/aix41.h (TARGET_DEFERRED_OUTPUT_DEFS): Define. |
| * config/rs6000/aix43.h (TARGET_DEFERRED_OUTPUT_DEFS): Define. |
| * doc/tm.texi (TARGET_DEFERRED_OUTPUT_DEFS): document. |
| |
| 2005-01-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| PR target/19336 |
| * pa.c (pa_scalar_mode_supported_p): New function. |
| (TARGET_SCALAR_MODE_SUPPORTED_P): Define. |
| * pa.h (MIN_UNITS_PER_WORD): Add comment. |
| |
| * pa-protos.h (prefetch_operand): Delete. |
| (prefetch_cc_operand, prefetch_nocc_operand): New declations. |
| * pa.c (prefetch_operand): Delete. |
| (prefetch_cc_operand, prefetch_nocc_operand): New functions. |
| * pa.h (EXTRA_CONSTRAINT): Add `W' constraint. |
| (PREDICATE_CODES): Delete prefetch_operand. Add prefetch_cc_operand |
| and prefetch_nocc_operand. |
| * pa.md (prefetch): Rework to avoid reload problems handling short |
| displacements when a cache control completer needs to be provided. |
| (prefetch_32, prefetch_64): Delete. |
| (prefetch_cc, prefetch_nocc): New patterns. |
| |
| 2005-01-15 David Edelsohn <edelsohn@gnu.org> |
| |
| * config/rs6000/aix52.h (CPLUSPLUS_CPP_SPEC): Revert previous change. |
| |
| 2005-01-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| PR ada/19388 |
| * pa.c (pa_asm_output_aligned_common): Warn if specified alignment |
| exceeds maximum alignment for global common data. |
| * pa64-hpux.h (MAX_OFILE_ALIGNMENT): Define to 32768. |
| * som.h (MAX_OFILE_ALIGNMENT): Likewise. |
| |
| 2004-01-15 Roger Sayle <roger@eyesopen.com> |
| |
| * tree-ssa-dom.c (extract_range_from_cond): Correct condition. |
| |
| 2004-01-15 Roger Sayle <roger@eyesopen.com> |
| |
| * harg-reg-set.h (reg_class_names): Prototype global array. |
| * regclass.c (reg_class_names): Declare here and initialize to |
| REG_CLASS_NAMES. |
| (dump_regclass): Remove local declaration of reg_class_names. |
| (regclass): Likewise. |
| * cfg.c (dump_flow_info): Likewise. |
| * ra-debug.c (reg_class_names): Likewise. |
| * regrename.c (reg_class_names): Likewise. |
| * reload.c (reg_class_names): Likewise. |
| * reload1.c (spill_failure): Likewise. |
| * config/m68hc11/m68hc11.c (reg_class_names): Likewise. |
| |
| 2005-01-15 Ulrich Weigand <uweigand@de.ibm.com> |
| |
| * config/s390/s390.md ("reload_outti"): Remove predicate for |
| output operand. Abort if operand is not a MEM. |
| ("reload_outdi", "reload_outdf"): Likewise. |
| |
| 2005-01-15 Marc Espie <espie@openbsd.org> |
| |
| * config.gcc (*-*-openbsd*): Set HAS_LIBC_R for OpenBSD <= 3.2. |
| (i[34567]86-*-openbsd*): Switch to ELF for OpenBSD >= 3.4. |
| * config/openbsd.h: Fix C++ includes for native configurations. |
| Add proper OS_CPP_BUILTINS. Fix libspec for recent OpenBSD. |
| Add trampoline support. |
| * config/i386/openbsdelf.h: New. |
| |
| 2005-01-15 Marc Espie <espie@openbsd.org> |
| |
| * collect2.c (main): Explicitly parse -dynamic-linker option. |
| |
| 2005-01-15 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/19060 |
| * tree-ssa-dom.c (extract_range_from_cond) <case LT_EXPR, GT_EXPR>: |
| Return 0 if op1 <= TYPE_MIN_VALUE () resp. op1 >= TYPE_MAX_VALUE (). |
| (simplify_cond_and_lookup_avail_expr): Add assert for dummy == 0 |
| and handle extract_range_from_cond returning false. |
| * fold-const.c (fold): Optimize comparisons with min/max even for |
| width > HOST_BITS_PER_WIDE_INT. |
| |
| 2005-01-15 Ralf Corsepius <ralf.corsepius@rtems.org> |
| |
| * config/mips/rtems.h (MIPS_DEFAULT_GVALUE): Set to 0. |
| * config/mips/t-rtems (MULTILIBS_DIRNAMES,MULTILIB_OPTIONS): |
| Remove little endian multilib variants. |
| Add mips32 multilib variant. |
| |
| 2005-01-15 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * explow.c (copy_all_reg, stabilize): Remove. |
| * expr.h: Remove the corresponding prototypes. |
| |
| * rtlanal.c (regs_set_between_p): Remove. |
| * rtl.h: Remove the corresponding prototype. |
| |
| 2005-01-14 David Edelsohn <edelsohn@gnu.org> |
| |
| * config/rs6000/rs6000.c (rs6k_nonimmediate_operand): Rename |
| to rs6000_nonimmediate_operand. |
| * config/rs6000/rs6000.h (PREDICATE_CODES): Rename |
| rs6k_nonimmediate_operand to rs6000_nonimmediate_operand. |
| * config/rs6000/rs6000.md (movsi_internal1): Rename predicate to |
| rs6000_nonimmediate_operand. |
| * config/rs6000/spe.md (movdf_e500_double): Rename predicate to |
| rs6000_nonimmediate_operand. |
| |
| 2005-01-14 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| * tree-ssa-alias.c (pass_may_alias): Add TODO_verify_stmts. |
| |
| 2005-01-14 Aldy Hernandez <aldyh@redhat.com> |
| |
| * config/rs6000/rs6000.h (CLASS_MAX_NREGS): DF goes in 1 register |
| on e500v2. |
| (CANNOT_CHANGE_MODE_CLASS): Restrict DI mode changes on e500v2. |
| (PREDICATE_CODES): Add rs6k_nonimmediate_operand. |
| |
| * config/rs6000/rs6000.c (invalid_e500_subreg): New. |
| (rs6k_nonimmediate_operand): New. |
| (rs6000_legitimate_offset_address_p): Handle DI modes on e500v2 |
| correctly. |
| (legitimate_lo_sum_address_p): Same. |
| (rs6000_legitimize_address): Same. |
| (rs6000_legitimize_reload_address): Same. |
| (rs6000_legitimate_address): Same. |
| (spe_build_register_parallel): Pass DF and DC modes in a DI |
| register. |
| |
| * config/rs6000/rs6000.md ("*movsi_internal1"): Change predicate |
| to rs6k_nonimmediate_operand. |
| |
| * config/rs6000/spe.md ("*frob_df_di"): New. |
| ("*frob_di_df"): New. |
| ("*frob_di_df_2"): New. |
| ("*mov_sidf_e500_subreg0"): New. |
| ("*mov_sidf_e500_subreg4"): New. |
| ("*movdf_e500_double"): Change predicate to |
| rs6k_nonimmediate_operand. |
| |
| 2005-01-14 Aldy Hernandez <aldyh@redhat.com> |
| |
| * postreload.c (move2add_note_store): Only call |
| trunc_int_for_mode on scalar integers. |
| |
| 2005-01-14 Steven Bosscher <stevenb@suse.de> |
| |
| * tree-ssa-dce.c (visited_control_parents): New sbitmap to |
| replace BB_VISITED uses. |
| (find_obviously_necessary_stmts): Don't clear BB_VISITED. |
| (propagate_necessity): Check the bitmap instead of BB_VISITED. |
| (tree_dce_done): Free visited_control_parents. |
| (perform_tree_ssa_dce): Allocate and clear it. |
| * tree-ssa-pre.c (compute_antic_aux): Make non-recursive. |
| (compute_antic): Iterate from here using a DFS. Use an sbitmap |
| instead of BB_VISITED. |
| |
| 2005-01-14 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * c-tree.h, coverage.h, langhooks-def.h, optabs.h, output.h, |
| rtl.h, targhooks.h, tree-flow.h, tree-mudflap.h, tree.h: |
| Remove unused prototypes. |
| |
| 2005-01-14 Aldy Hernandez <aldyh@redhat.com> |
| |
| * config/rs6000/rs6000.c (rs6000_stack_info): Fix caching of SPE |
| 64-bit register usage. |
| (spe_func_has_64bit_regs_p): Add FIXME note. |
| |
| 2005-01-14 Aldy Hernandez <aldyh@redhat.com> |
| |
| * config/rs6000/rs6000.c (rs6000_generate_compare): Replace |
| flag_finite_math_only with flag_unsafe_math_optimizations. |
| |
| 2005-01-14 J. D. Johnston <jjohnst@us.ibm.com> |
| |
| * config/s390/tpf-unwind.h (s390_fallback_frame_state): Correct |
| end-of-stack check. |
| (__tpf_eh_return): Copy TPF private stack area from the module |
| boundary stack frame. Add check for when module addresses are |
| equal, but no stub address is found. |
| |
| 2005-01-14 Richard Earnshaw <rearnsha@arm.com> |
| |
| PR target/7525 |
| * arm.h (struct machine_function): Add call_via field. |
| (thumb_call_via_label): Declare. |
| * arm.c (thumb_call_via_label): New variable. |
| (thumb_call_reg_needed): New variable. |
| (arm_output_function_epilogue): For Thumb code, output any per-function |
| call-indirect trampolines. |
| (thumb_call_via_reg): New function. |
| (arm_file_end): New function. |
| (TARGET_ASM_FILE_END): Call arm_file_end. |
| (aof_file_end): Likewise. |
| * arm-protos.h (thumb_call_via_reg): Declare. |
| * arm.md (call_reg_thumb, call_value_reg_thumb): Call |
| thumb_call_via_reg in normal case. |
| |
| 2005-01-14 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/19084 |
| PR rtl-optimization/19348 |
| * recog.c (peephole2_optimize): Do global life update if some peephole |
| decides it doesn't need at least one of its inputs and that change |
| influences liveness at the start of the basic block. |
| |
| * basic-block.h (EXECUTE_IF_AND_COMPL_IN_REG_SET): Needs 2 REGSET |
| arguments instead of 1. |
| |
| 2005-01-14 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| PR middle-end/18820 |
| * varasm.c (initializer_constant_valid_p) <ADDR_EXPR>: Return |
| zero for nested functions needing a static chain or functions |
| with a non-constant address. |
| |
| 2005-01-13 Roger Sayle <roger@eyesopen.com> |
| |
| * simplify-rtx.c (simplify_binary_operation) <AND>: Optimize |
| (and (sign_extend X) C) into (zero_extend (and X C)). |
| |
| 2005-01-13 David O'Brien <obrien@FreeBSD.org> |
| |
| * config/freebsd-spec.h: Make KSE pthread lib logic the default. |
| |
| 2005-01-13 Richard Henderson <rth@redhat.com> |
| |
| PR target/19009 |
| PR target/19250 |
| PR target/19252 |
| * config/i386/i386.md (cmpdf, cmpsf, bunordered, bordered, buneq, |
| bunge, bungt, bunle, bunlt, bltgt): Enable for TARGET_SSE_MATH, |
| not just TARGET_SSE. |
| (cmpfp_i_387): Rename from cmpfp_i. Move after sse patterns. |
| (cmpfp_i_mixed): Rename from cmpfp_i_sse; use for TARGET_MIX_SSE_I387. |
| (cmpfp_i_sse): Rename from cmpfp_i_sse_only; use for TARGET_SSE_MATH. |
| (cmpfp_iu_mixed, cmpfp_iu_sse, cmpfp_iu_387): Similarly. |
| (fp_jcc_1_mixed, fp_jcc_1_sse, fp_jcc_1_387): Similarly. |
| (fp_jcc_2_mixed, fp_jcc_2_sse, fp_jcc_2_387): Similarly. |
| (fp_jcc_3_387, fp_jcc_4_387, fp_jcc_5_387, fp_jcc_6_387, |
| fp_jcc_7_387, fp_jcc_8_387): Rename from fp_jcc_N. |
| (movdicc_c_rex64): Rename with '*'. |
| (movsfcc, movdfcc): Add checks for 387 and sse math to condition. |
| (movsfcc_1_sse_min, movsfcc_1_sse_max, movsfcc_1_sse): New. |
| (movsfcc_1_387): Rename from movsfcc_1. |
| (movdfcc_1_sse_min, movdfcc_1_sse_max, movdfcc_1_sse): New. |
| (movdfcc_1, movdfcc_1_rex64): Add check for 387. |
| (sminsf3, smaxsf3, smindf3, smaxdf3): New. |
| (minsf3, minsf, minsf_nonieee, minsf_sse, mindf3, mindf, |
| mindf_nonieee, mindf_sse, maxsf3, maxsf, maxsf_nonieee, maxsf_sse, |
| maxdf3, maxdf, maxdf_nonieee, maxdf_sse, sse_movsfcc, sse_movsfcc_eq, |
| sse_movdfcc, sse_movdfcc_eq, sse_movsfcc_const0_1, |
| sse_movsfcc_const0_2, sse_movsfcc_const0_3, sse_movsfcc_const0_4, |
| sse_movdfcc_const0_1, sse_movdfcc_const0_2, sse_movdfcc_const0_3, |
| sse_movdfcc_const0_4): Remove. |
| * config/i386/i386.c (ix86_expand_fp_movcc): For TARGET_SSE_MATH, |
| recognize min/max early. Update for changed sse cmove patterns. |
| (ix86_split_sse_movcc): New. |
| * config/i386/i386-protos.h: Update. |
| |
| 2005-01-13 Steven Bosscher <stevenb@suse.de> |
| |
| * tree-ssa-dse.c (fix_phi_uses): Use SSA operand iterators. |
| (fix_stmt_v_may_defs): Likewise. |
| |
| 2005-01-13 Richard Henderson <rth@redhat.com> |
| |
| * config/i386/i386.c (ix86_expand_fp_absneg_operator): Use elt_mode |
| for converting the mask. |
| |
| 2005-01-13 David Edelsohn <edelsohn@gnu.org> |
| |
| * config/rs6000/aix52.h (CPLUSPLUS_CPP_SPEC): Change _XOPEN_SOURCE |
| definition to 600. |
| |
| 2005-01-13 Richard Henderson <rth@redhat.com> |
| |
| * config/i386/i386.c (IX86_BUILTIN_MOVQ, IX86_BUILTIN_LOADD, |
| IX86_BUILTIN_STORED, IX86_BUILTIN_MOVQ2DQ, |
| IX86_BUILTIN_MOVDQ2Q): Remove. |
| (IX86_BUILTIN_VEC_EXT_V4SI): New. |
| (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Update to match. |
| (ix86_expand_vector_extract): For V4S[FI], extract element 0 after |
| shuffling. |
| * config/i386/sse.md (sse_concatv2sf): Accept zero operand 2. |
| (sse2_pextrw): Fix immediate constraint. |
| (sse2_loadq, sse2_loadq_rex64): Remove. |
| * config/i386/emmintrin.h (_mm_cvtsi128_si32, _mm_cvtsi128_si64x): |
| Use __builtin_ia32_vec_ext_<size>. |
| (_mm_cvtsi32_si128, _mm_cvtsi64x_si128): Use _mm_set_epi<size>. |
| |
| 2005-01-13 Aldy Hernandez <aldyh@redhat.com> |
| |
| * function.c (assign_parm_setup_block): Look inside original |
| entry_parm when inspecting PARALLEL. |
| |
| 2005-01-13 Ralf Corsepius <ralf.corsepius@rtems.org> |
| Joel Sherrill <joel@oarcorp.com> |
| |
| PR target/19399 |
| * gthr-rtems.h (__gthread_recursive_mutex_t): New type. |
| (__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION): Define to |
| rtems_gxx_recursive_mutex_init. |
| (__gthread_recursive_mutex_lock): New function. |
| (__gthread_recursive_mutex_trylock): Likewise. |
| (__gthread_recursive_mutex_unlock): Likewise. |
| |
| 2005-01-13 Ralf Corsepius <ralf.corsepius@rtems.org> |
| |
| * config/i386/t-rtems-i386: Multilib on -mtune instead of -mcpu. |
| |
| 2005-01-13 Jan Beulich <jbeulich@novell.com> |
| |
| * config/ia64/ia64.md (ashlti3, ashlti3_internal): New. |
| (ashrti3_internal): Indicate output is early clobber. Generate result |
| into output rather than first input. Use move for low word of output |
| if shift count is exactly 64. |
| (lshrti3_internal): Likewise. |
| |
| 2005-01-13 Hans-Peter Nilsson <hp@bitrange.com> |
| |
| PR target/18329 |
| PR target/18330 |
| * reload1.c (delete_output_reload): Don't delete an output reload |
| if the pseudo lives longer than a single basic block. Adjust and |
| improve wording of comment. |
| |
| 2005-01-12 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR target/19334 |
| * config/darwin.c (machopic_select_section): Use TYPE_SIZE_UNIT instead |
| of TYPE_SIZE where we mean the number of bytes. |
| |
| 2005-01-12 Aldy Hernandez <aldyh@redhat.com> |
| |
| * function.c (assign_parm_setup_block): Relax condition on |
| multi-register optimization. |
| |
| 2005-01-12 Nick Clifton <nickc@redhat.com> |
| |
| * config/sh/sh.md (udivsi3_sh2a, divsi3_sh2a): Give these patterns |
| an "in_delay_slot" attribute of "no" to prevent them being used in |
| delay slots. This is forbidden because they might generate |
| exceptions. |
| |
| 2005-01-12 Alan Modra <amodra@bigpond.net.au> |
| |
| PR target/19389 |
| * config/rs6000/rs6000.md (movtf_internal): Replace r->o and m->r |
| with r->Y and Y->r. |
| |
| 2005-01-12 Nick Clifton <nickc@redhat.com> |
| |
| * config/iq2000/iq2000.h (ASM_SPEC): Undefine (to stop -Qy being |
| passed on to GAS) but do not define, as GAS no longer supports or |
| needs the -m2000 option. |
| |
| 2005-01-11 Roger Sayle <roger@eyesopen.com> |
| |
| * builtins.c (fold_builtin_fabs): Convert argument to the appropriate |
| type as args of unprototyped builtins aren't automatically promoted. |
| (fold_builtin_abs): Likewise. |
| |
| 2005-01-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * Makefile.in: Set a `build-warn' variable. |
| |
| 2005-01-11 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| PR tree-optimization/17949 |
| * tree-ssa-loop-ivopts.c (may_be_unaligned_p): New function. |
| (find_interesting_uses_address): Use it. |
| |
| 2005-01-11 Aldy Hernandez <aldyh@redhat.com> |
| |
| * regrename.c (kill_value): Handle subreg's that won't simplify. |
| |
| 2005-01-11 Richard Henderson <rth@redhat.com> |
| |
| PR target/13366 |
| * config/i386/i386.h (enum ix86_builtins): Move ... |
| * config/i386/i386.c: ... here. |
| (IX86_BUILTIN_MOVDDUP, IX86_BUILTIN_MMX_ZERO, IX86_BUILTIN_PEXTRW, |
| IX86_BUILTIN_PINSRW, IX86_BUILTIN_LOADAPS, IX86_BUILTIN_LOADSS, |
| IX86_BUILTIN_STORESS, IX86_BUILTIN_SSE_ZERO, IX86_BUILTIN_PEXTRW128, |
| IX86_BUILTIN_PINSRW128, IX86_BUILTIN_LOADAPD, IX86_BUILTIN_LOADSD, |
| IX86_BUILTIN_STOREAPD, IX86_BUILTIN_STORESD, IX86_BUILTIN_STOREHPD, |
| IX86_BUILTIN_STORELPD, IX86_BUILTIN_SETPD1, IX86_BUILTIN_SETPD, |
| IX86_BUILTIN_CLRPD, IX86_BUILTIN_LOADPD1, IX86_BUILTIN_LOADRPD, |
| IX86_BUILTIN_STOREPD1, IX86_BUILTIN_STORERPD, IX86_BUILTIN_LOADDQA, |
| IX86_BUILTIN_STOREDQA, IX86_BUILTIN_CLRTI, |
| IX86_BUILTIN_LOADDDUP): Remove. |
| (IX86_BUILTIN_VEC_INIT_V2SI, IX86_BUILTIN_VEC_INIT_V4HI, |
| IX86_BUILTIN_VEC_INIT_V8QI, IX86_BUILTIN_VEC_EXT_V2DF, |
| IX86_BUILTIN_VEC_EXT_V2DI, IX86_BUILTIN_VEC_EXT_V4SF, |
| IX86_BUILTIN_VEC_EXT_V8HI, IX86_BUILTIN_VEC_EXT_V4HI, |
| IX86_BUILTIN_VEC_SET_V8HI, IX86_BUILTIN_VEC_SET_V4HI): New. |
| (ix86_init_builtins): Make static. |
| (ix86_init_mmx_sse_builtins): Update for changed builtins. |
| (ix86_expand_binop_builtin): Only use ix86_fixup_binary_operands |
| if all the modes match. Otherwise, fake it. |
| (get_element_number, ix86_expand_vec_init_builtin, |
| ix86_expand_vec_ext_builtin, ix86_expand_vec_set_builtin): New. |
| (ix86_expand_builtin): Make static. Update for changed builtins. |
| (ix86_expand_vector_move_misalign): Use sse2_loadlpd with zero |
| operand instead of sse2_loadsd. Cast sse1 fallback to V4SFmode. |
| (ix86_expand_vector_init_duplicate): New. |
| (ix86_expand_vector_init_low_nonzero): New. |
| (ix86_expand_vector_init_one_var, ix86_expand_vector_init_general): |
| Split out from ix86_expand_vector_init; handle integer modes. |
| (ix86_expand_vector_init): Use them. |
| (ix86_expand_vector_set, ix86_expand_vector_extract): New. |
| * config/i386/i386-protos.h: Update. |
| * config/i386/predicates.md (reg_or_0_operand): New. |
| * config/i386/mmx.md (mov<MMXMODEI>_internal): Add 'r' variants. |
| (movv2sf_internal): Likewise. And a splitter to match them all. |
| (vec_dupv2sf, mmx_concatv2sf, vec_setv2sf, vec_extractv2sf, |
| vec_initv2sf, vec_dupv4hi, vec_dupv2si, mmx_concatv2si, vec_setv2si, |
| vec_extractv2si, vec_initv2si, vec_setv4hi, vec_extractv4hi, |
| vec_initv4hi, vec_setv8qi, vec_extractv8qi, vec_initv8qi): New. |
| (mmx_pinsrw): Fix operand ordering. |
| * config/i386/sse.md (movv4sf splitter): Use direct pattern, |
| rather than sse_loadss expander. |
| (movv2df splitter): Similarly. |
| (sse_loadss, sse_loadlss): Remove. |
| (vec_dupv4sf, sse_concatv2sf, sse_concatv4sf, vec_extractv4sf_0): New. |
| (vec_setv4sf, vec_setv2df): Use ix86_expand_vector_set. |
| (vec_extractv4sf, vec_extractv2df): Use ix86_expand_vector_extract. |
| (sse3_movddup): Rename with '*'. |
| (sse3_movddup splitter): Use gen_rtx_REG instead of gen_lowpart. |
| (sse2_loadsd): Remove. |
| (vec_dupv2df_sse3): Rename from sse3_loadddup. |
| (vec_dupv2df, vec_concatv2df_sse3, vec_concatv2df): New. |
| (sse2_pinsrw): Fix argument ordering. |
| (sse2_loadld, sse2_loadq): Add sse1 alternatives. |
| (sse2_stored): Remove 'r' destination. |
| (vec_dupv4si, vec_dupv2di, sse2_concatv2si, sse1_concatv2si, |
| vec_concatv4si_1, vec_concatv2di, vec_setv2di, vec_extractv2di, |
| vec_initv2di, vec_setv4si, vec_extractv4si, vec_initv4si, |
| vec_setv8hi, vec_extractv8hi, vec_initv8hi, vec_setv16qi, |
| vec_extractv16qi, vec_initv16qi): New. |
| |
| * config/i386/emmintrin.h (__m128i, __m128d): Use typedef, not define. |
| (_mm_set_sd, _mm_set1_pd, _mm_setzero_pd, _mm_set_epi64x, |
| _mm_set_epi32, _mm_set_epi16, _mm_set_epi8, _mm_setzero_si128): Use |
| constructor form. |
| (_mm_load_pd, _mm_store_pd): Use plain dereference. |
| (_mm_load_si128, _mm_store_si128): Likewise. |
| (_mm_load1_pd): Use _mm_set1_pd. |
| (_mm_load_sd): Use _mm_set_sd. |
| (_mm_store_sd, _mm_storeh_pd): Use __builtin_ia32_vec_ext_v2df. |
| (_mm_store1_pd, _mm_storer_pd): Use _mm_store_pd. |
| (_mm_set_epi64): Use _mm_set_epi64x. |
| (_mm_set1_epi64x, _mm_set1_epi64, _mm_set1_epi32, _mm_set_epi16, |
| _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16, |
| _mm_setr_epi8): Use _mm_set_foo form. |
| (_mm_loadl_epi64, _mm_movpi64_epi64, _mm_move_epi64): Use _mm_set_epi64. |
| (_mm_storel_epi64, _mm_movepi64_pi64): Use __builtin_ia32_vec_ext_v2di. |
| (_mm_extract_epi16): Use __builtin_ia32_vec_ext_v8hi. |
| (_mm_insert_epi16): Use __builtin_ia32_vec_set_v8hi. |
| * config/i386/mmintrin.h (_mm_setzero_si64): Use plain cast. |
| (_mm_set_pi32): Use __builtin_ia32_vec_init_v2si. |
| (_mm_set_pi16): Use __builtin_ia32_vec_init_v4hi. |
| (_mm_set_pi8): Use __builtin_ia32_vec_init_v8qi. |
| (_mm_set1_pi16, _mm_set1_pi8): Use _mm_set_piN variant. |
| * config/i386/pmmintrin.h (_mm_loaddup_pd): Use _mm_load1_pd. |
| (_mm_movedup_pd): Use _mm_shuffle_pd. |
| * config/i386/xmmintrin.h (_mm_setzero_ps, _mm_set_ss, |
| _mm_set1_ps, _mm_set_ps, _mm_setr_ps): Use constructor form. |
| (_mm_cvtpi16_ps, _mm_cvtpu16_ps, _mm_cvtpi8_ps, _mm_cvtpu8_ps, |
| _mm_cvtps_pi8, _mm_cvtpi32x2_ps): Avoid __builtin_ia32_mmx_zero; |
| Use _mm_setzero_ps. |
| (_mm_load_ss, _mm_load1_ps): Use _mm_set* form. |
| (_mm_load_ps, _mm_loadr_ps): Use raw dereference. |
| (_mm_store_ss): Use __builtin_ia32_vec_ext_v4sf. |
| (_mm_store_ps): Use raw dereference. |
| (_mm_store1_ps): Use _mm_storeu_ps. |
| (_mm_storer_ps): Use _mm_store_ps. |
| (_mm_extract_pi16): Use __builtin_ia32_vec_ext_v4hi. |
| (_mm_insert_pi16): Use __builtin_ia32_vec_set_v4hi. |
| |
| 2005-01-11 Stan Shebs <shebs@apple.com> |
| |
| * config/rs6000/rs6000.c (machopic_output_stub): Issue |
| ldu instead of lwzu if 64-bit -mdynamic-no-pic. |
| |
| 2005-01-11 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR target/18761 |
| * config/rs6000/rs6000.c (rs6000_special_round_type_align): |
| Skip all DECLs except for FIELD_DECLs. |
| |
| 2005-01-11 Andreas Krebbel <krebbel1@de.ibm.com> |
| |
| * config/s390/s390.c (override_options): Return error if |
| -mbackchain, -mpacked-stack and -mhard-float are used together. |
| (s390_va_start): Remove the backchain && packed-stack special case. |
| (s390_gimplify_va_arg): Likewise. |
| * doc/invoke.texi: Remove the ABI incompatibility note. |
| |
| 2005-01-11 Andreas Krebbel <krebbel1@de.ibm.com> |
| |
| * config/s390/s390.c (struct s390_frame_layout): Remove |
| save_backchain_p. |
| (s390_frame_info, s390_emit_prologue): Replace occurrences of |
| save_backchain_p with TARGET_BACKCHAIN. |
| |
| 2005-01-11 Alan Modra <amodra@bigpond.net.au> |
| |
| PR target/18916 |
| * builtins.c (std_gimplify_va_arg_expr): Adjust alignment of *ap. |
| * expr.h (struct locate_and_pad_arg_data): Add "boundary". |
| * function.c (locate_and_pad_parm): Set new field. |
| (assign_parm_find_stack_rtl): Use it instead of FUNCTION_ARG_BOUNDARY. |
| Tweak where_pad test to include "none". Always set mem align for |
| stack_parm. |
| (assign_parm_adjust_stack_rtl): Discard stack_parm if alignment |
| not sufficient for type. |
| (assign_parm_setup_block): If stack_parm is zero on entry, always |
| make a new stack local. Block move old stack parm if necessary |
| to new aligned stack local. |
| (assign_parm_setup_stack): Use a block move to handle |
| potentially misaligned entry_parm. |
| (assign_parms_unsplit_complex): Specify required alignment when |
| creating stack local. |
| * calls.c (compute_argument_addresses): Override alignment of stack |
| arg calculated from its type with the alignment given by |
| FUNCTION_ARG_BOUNDARY. |
| (store_one_arg): Likewise. |
| |
| 2005-01-11 Jan Beulich <jbeulich@novell.com> |
| |
| * config/ia64/ia64.md (zero_extendsidi2): Replace zxt4 by addp4. |
| Change respective itanium_class attribute to ialu. |
| (shladdp4_internal): New. |
| * config/ia64/predicates.md (shladd_log2_operand): New. |
| |
| 2005-01-11 Richard Henderson <rth@redhat.com> |
| |
| * expr.c (store_constructor): Use rtvec_alloc instead of |
| alloca+gen_rtvec_v, and an incorrect number passed to alloca. |
| |
| 2005-01-11 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * config/alpha/alpha.c, config/i386/mmx.md: Fix comment typos. |
| |
| 2005-01-11 Alan Modra <amodra@bigpond.net.au> |
| |
| * varasm.c (default_section_type_flags_1): Don't set SECTION_SMALL. |
| * config/ia64/ia64.c (TARGET_SECTION_TYPE_FLAGS): Define. |
| (TARGET_RWRELOC): Define. |
| (ia64_rwreloc_section_type_flags): Delete. |
| (ia64_section_type_flags): New function. |
| * config/ia64/hpux.h (TARGET_SECTION_TYPE_FLAGS): Don't define. |
| (TARGET_RWRELOC): Define. |
| |
| 2005-01-10 David Mosberger <davidm@hpl.hp.com> |
| |
| PR target/18987 |
| * config/ia64/ia64.c (process_set): For alloc insn, only call |
| process_epilogue is !frame_pointer_needed. |
| |
| 2005-01-10 Roger Sayle <roger@eyesopen.com> |
| |
| PR c++/19355 |
| * c-common.c (c_common_truthvalue_conversion): TRUTH_NOT_EXPR is a |
| unary operator and can't be treated as a binary/comparison operator. |
| |
| 2005-01-10 Richard Henderson <rth@redhat.com> |
| |
| * config/i386/i386.c (ix86_function_value): Use type_natural_mode. |
| (ix86_return_in_memory): Likewise. |
| (function_arg_advance): Likewise. Mirror structure in function_arg |
| for choosing register to advance. |
| |
| 2005-01-10 Kazu Hirata <kazu@cs.umass.edu> |
| |
| * tree-vectorizer.c, tree.def: Fix comment typos. |
| |
| 2005-01-10 Mark Dettinger <dettinge@de.ibm.com> |
| |
| * config/s390/s390.c (struct processor_costs): 4 new fields: |
| ddbr, ddr, debr, der. |
| (s390_rtx_costs): More precise handling of divide instructions. |
| |
| 2005-01-10 David Edelsohn <edelsohn@gnu.org> |
| |
| * config/rs6000/t-aix43 (BOOT_LDFLAGS): Define. |
| |
| 2005-01-10 Jan Beulich <jbeulich@novell.com> |
| |
| * config/ia64/ia64.c (ia64_in_small_data_p): Also handle the section |
| names resulting from -ffunction-sections/-fdata-sections and linkonce |
| ones. |
| * varasm.c (default_section_type_flags_1): Also set SECTION_SMALL |
| based on the section name. Rearrange the section name comparison logic |
| slightly so that each section name is compared against at most once. |
| |
| 2005-01-10 Ben Elliston <bje@au.ibm.com> |
| |
| * doc/invoke.texi (Code Gen Options): Add PowerPC to the list of |
| targets for which -fPIC reduces limitations on the GOT size. |
| |
| 2005-01-09 Falk Hueffner <falk@debian.org> |
| |
| * fold-const.c (fold): Also handle EXACT_DIV_EXPR when folding |
| X/C1 cmpop C2. |
| |
| 2005-01-09 David Edelsohn <edelsohn@gnu.org> |
| |
| PR target/18720 |
| * collect2.c (main): Set aixrtl_flag for -brtl option. |
| (resolve_lib_name): Search for .so file extension before .a |
| if aixrtl_flag set. |
| |
| 2005-01-09 Dorit Naishlos <dorit@il.ibm.com> |
| |
| * tree-vectorizer.c (vect_enhance_data_refs_alignment): Add dump prints. |
| (vect_analyze_data_refs_alignment): Add dump prints. |
| |
| 2005-01-09 Ira Rosen <irar@il.ibm.com> |
| |
| * tree-vectorizer.c (vect_analyze_offset_expr): Use |
| expr_invariant_in_loop_p. |
| Initialize outputs first thing in the function. |
| (vect_update_ivs_after_vectorizer): Call initial_condition_in_loop_num. |
| (vect_is_simple_iv_evolution): Call initial_condition_in_loop_num. |
| (vect_analyze_pointer_ref_access): Check that the initial condition of |
| the access function is loop invariant. |
| |
| 2005-01-09 Richard Henderson <rth@redhat.com> |
| |
| * config/i386/i386.c (bdesc_2arg): Update names for mmx_ prefixes. |
| (ix86_expand_builtin): Likewise. Frob MASKMOVQ wrt the input mem |
| just like MASKMOVDQU. Return plain zero for MMX_ZERO. |
| * config/i386/i386.md (MMXMODEI, mov<MMXMODEI>, |
| mov<MMXMODEI>_internal_rex64, mov<MMXMODEI>_internal, movv2sf, |
| movv2sf_internal_rex64, movv2sf_internal, MMXMODE, |
| movmisalign<MMXMODE>, mmx_pmovmskb, mmx_maskmovq, mmx_maskmovq_rex, |
| sse_movntdi, addv8qi3, addv4hi3, addv2si3, mmx_adddi3, ssaddv8qi3, |
| ssaddv4hi3, usaddv8qi3, usaddv4hi3, subv8qi3, subv4hi3, subv2si3, |
| mmx_subdi3, sssubv8qi3, sssubv4hi3, ussubv8qi3, ussubv4hi3, |
| mulv4hi3, smulv4hi3_highpart, umulv4hi3_highpart, mmx_pmaddwd, |
| sse2_umulsidi3, mmx_iordi3, mmx_xordi3, mmx_anddi3, mmx_nanddi3, |
| mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pinsrw, |
| mmx_pextrw, mmx_pshufw, eqv8qi3, eqv4hi3, eqv2si3, gtv8qi3, gtv4hi3, |
| gtv2si3, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, ashrv4hi3, |
| ashrv2si3, lshrv4hi3, lshrv2si3, mmx_lshrdi3, ashlv4hi3, ashlv2si3, |
| mmx_ashldi3, mmx_packsswb, mmx_packssdw, mmx_packuswb, mmx_punpckhbw, |
| mmx_punpckhwd, mmx_punpckhdq, mmx_punpcklbw, mmx_punpcklwd, |
| mmx_punpckldq, emms, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3, |
| eqv2sf3, pfmaxv2sf3, pfminv2sf3, mulv2sf3, femms, pf2id, pf2iw, |
| pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pfrcpv2sf2, pfrcpit1v2sf3, |
| pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3, pmulhrwv4hi3, pswapdv2si2, |
| pswapdv2sf2): Move to mmx.md; rename as necessary with leading |
| mmx_ prefix. |
| (mmx_clrdi, pavgusb): Remove. |
| (ldmxcsr, stmxcsr, sfence, sfence_insn): Move to sse.md; rename |
| with leading sse_ prefix. |
| * config/i386/sse.md: Receive them. |
| * config/i386/mmx.md: New file. |
| (MMXMODE12, MMXMODE24, mmxvecsize): New. |
| (subrv2sf3): Turn into expander for normal subtraction. |
| (mmx_addv2sf3, mmx_mulv2sf3, mmx_smaxv2sf3, mmx_sminv2sf3, |
| mmx_eqv2sf3, mmx_mulv4hi3, mmx_smulv4hi3_highpart, |
| mmx_umulv4hi3_highpart, mmx_pmaddwd, mmx_pmulhrwv4hi3, sse2_umulsidi3, |
| mmx_umaxv8qi3, mmx_smaxv4hi3, mmx_uminv8qi3, mmx_sminv4hi3): Mark |
| commutative; use ix86_binary_operator_ok. |
| (mmx_add<MMXMODEI>3, mmx_ssadd<MMXMODE12>3, mmx_usadd<MMXMODE12>3, |
| mmx_sub<MMXMODEI>3, mmx_sssub<MMXMODE12>3, mmx_ussub<MMXMODE12>3 |
| mmx_ashr<MMXMODE24>3, mmx_lshr<MMXMODE23>3, mmx_ashl<MMXMODE24>3 |
| mmx_eq<MMXMODEI>3, mmx_gt<MMXMODEI>3, mmx_and<MMXMODEI>3, |
| mmx_nand<MMXMODEI>3, mmx_ior<MMXMODEI>3, mmx_xor<MMXMODEI>3): |
| Macroize from existing patterns; use ix86_binary_operator_ok. |
| (mmx_packsswb, mmx_packssdw, mmx_packuswb): Add memory alternative. |
| (mmx_punpckhbw, mmx_punpcklbw, mmx_punpckhwd, mmx_punpcklwd, |
| mmx_punpckhdq, mmx_punpckhdq, mmx_punpckldq): Likewise. Model |
| with vec_select+vec_concat. |
| (mmx_pshufw, mmx_pshufw_1): Likewise. |
| (mmx_uavgv8qi3): Merge pavgusb. Model correcty. |
| (mmx_uavgv4hi3): Model correctly. |
| * config/i386/mmintrin.h (_mm_and_si64, _mm_andnot_si64, _mm_or_si64, |
| _mm_xor_si64): Remove casts. |
| |
| 2005-01-09 Zdenek Dvorak <dvorakz@suse.cz> |
| |
| PR tree-optimization/19224 |
| * tree-scalar-evolution.c (get_instantiated_value, |
| set_instantiated_value): New functions. |
| (instantiate_parameters_1): Cache the results. |
| (instantiate_parameters, resolve_mixers): Initialize and free |
| the cache. |
| |
| 2005-01-08 David Edelsohn <edelsohn@gnu.org> |
| |
| * config/i386/i386.md (addhi_4): Correct reference in comment. |
| (addqi_4): Same. |
| |
| 2005-01-08 Richard Henderson <rth@redhat.com> |
| |
| * config/i386/emmintrin.h (_mm_cvtsi128_si32): Move earlier. |
| (_mm_cvtsi128_si64x): Likewise. |
| (_mm_srl_epi64, _mm_srl_epi32, _mm_srl_epi16, _mm_sra_epi32, |
| _mm_sra_epi16, _mm_sll_epi64, _mm_sll_epi32, _mm_sll_epi16): Use |
| the _mm_{srl,sll}i_foo counterpart, and _mm_cvtsi128_si32. |
| * config/i386/i386-modes.def: Add V16HI, V32QI, V4DF, V8SF. |
| * config/i386/i386-protos.h: Update. |
| * config/i386/i386.c (print_operand): Add 'H'. |
| (ix86_fixup_binary_operands): Split out from ... |
| (ix86_expand_binary_operator): ... here. |
| (ix86_fixup_binary_operands_no_copy): New. |
| (ix86_expand_fp_absneg_operator): Handle vector mode results. |
| (bdesc_2arg): Update names for sse{,2,3}_ prefixes. |
| (ix86_init_mmx_sse_builtins): Remove *maskncmp* special cases. |
| (safe_vector_operand): Use CONST0_RTX. |
| (ix86_expand_binop_builtin): Use ix86_fixup_binary_operands. |
| (ix86_expand_builtin): Merge CODE_FOR_sse2_maskmovdqu_rex64 and |
| CODE_FOR_sse2_maskmovdqu. Special case SSE version of MASKMOVDQU |
| expansion. Update names for sse{,2,3}_ prefixes. Remove *maskncmp* |
| special cases. |
| * config/i386/i386.h (IX86_BUILTIN_CMPNGTSS): New. |
| (IX86_BUILTIN_CMPNGESS): New. |
| * config/i386/i386.md (UNSPEC_FIX_NOTRUNC): New. |
| (attr type): Add sselog1. |
| (attr unit, attr memory): Handle it. |
| (movti, movti_internal, movti_rex64): Move near other integer moves. |
| (movtf, movtf_internal): Move near other fp moves. |
| (SSEMODE, SSEMODEI, vec_setv2df, vec_extractv2df, vec_initv2df, |
| vec_setv4sf, vec_extractv4sf, vec_initv4sf, movv4sf, movv4sf_internal, |
| movv2df, movv2df_internal, mov<SSEMODEI>, mov<SSEMODEI>_internal, |
| movmisalign<SSEMODE>, sse_movups_1, sse_movmskps, sse_movntv4sf, |
| sse_movhlps, sse_movlhps, sse_storehps, sse_loadhps, sse_storelps, |
| sse_loadlps, sse_loadss, sse_loadss_1, sse_movss, sse_storess, |
| sse_shufps, addv4sf3, vmaddv4sf3, subv4sf3, vmsubv4sf3, negv4sf2, |
| mulv4sf3, vmmulv4sf3, divv4sf3, vmdivv4sf3, rcpv4sf2, vmrcpv4sf2, |
| rsqrtv4sf2, vmrsqrtv4sf2, sqrtv4sf2, vmsqrtv4sf2, sse_andv4sf3, |
| sse_nandv4sf3, sse_iorv4sf3, sse_xorv4sf3, sse2_andv2df3, |
| sse2_nandv2df3, sse2_iorv2df3, sse2_xorv2df3, sse2_andv2di3, |
| sse2_nandv2di3, sse2_iorv2di3, sse2_xorv2di3, maskcmpv4sf3, |
| vmmaskcmpv4sf3, sse_comi, sse_ucomi, sse_unpckhps, sse_unpcklps, |
| smaxv4sf3, vmsmaxv4sf3, sminv4sf3, vmsminv4sf3, cvtpi2ps, cvtps2pi, |
| cvttps2pi, cvtsi2ss, cvtsi2ssq, cvtss2si, cvtss2siq, cvttss2si, |
| cvttss2siq, addv2df3, vmaddv2df3, subv2df3, vmsubv2df3, mulv2df3, |
| vmmulv2df3, divv2df3, vmdivv2df3, smaxv2df3, vmsmaxv2df3, sminv2df3, |
| vmsminv2df3, sqrtv2df2, vmsqrtv2df2, maskcmpv2df3, vmmaskcmpv2df3, |
| sse2_comi, sse2_ucomi, sse2_movmskpd, sse2_pmovmskb, sse2_maskmovdqu, |
| sse2_maskmovdqu_rex64, sse2_movntv2df, sse2_movntv2di, sse2_movntsi, |
| cvtdq2ps, cvtps2dq, cvttps2dq, cvtdq2pd, cvtpd2dq, cvttpd2dq, |
| cvtpd2pi, cvttpd2pi, cvtpi2pd, cvtsd2si, cvtsd2siq, cvttsd2si, |
| cvttsd2siq, cvtsi2sd, cvtsi2sdq, cvtsd2ss, cvtss2sd, cvtpd2ps, |
| cvtps2pd, addv16qi3, addv8hi3, addv4si3, addv2di3, ssaddv16qi3, |
| ssaddv8hi3, usaddv16qi3, usaddv8hi3, subv16qi3, subv8hi3, subv4si3, |
| subv2di3, sssubv16qi3, sssubv8hi3, ussubv16qi3, ussubv8hi3, mulv8hi3, |
| smulv8hi3_highpart, umulv8hi3_highpart, sse2_umulsidi3, |
| sse2_umulv2siv2di3, sse2_pmaddwd, sse2_uavgv16qi3, sse2_uavgv8hi3, |
| sse2_psadbw, sse2_pinsrw, sse2_pextrw, sse2_pshufd, sse2_pshuflw, |
| sse2_pshufhw, eqv16qi3, eqv8hi3, eqv4si3, gtv16qi3, gtv8hi3, |
| gtv4si3, umaxv16qi3, smaxv8hi3, uminv16qi3, sminv8hi3, ashrv8hi3, |
| ashrv4si3, lshrv8hi3, lshrv4si3, lshrv2di3, ashlv8hi3, ashlv4si3, |
| ashlv2di3, sse2_ashlti3, sse2_lshrti3, sse2_unpckhpd, sse2_unpcklpd, |
| sse2_packsswb, sse2_packssdw, sse2_packuswb, sse2_punpckhbw, |
| sse2_punpckhwd, sse2_punpckhdq, sse2_punpcklbw, sse2_punpcklwd, |
| sse2_punpckldq, sse2_punpcklqdq, sse2_punpckhqdq, sse2_movupd, |
| sse2_movdqu, sse2_movdq2q, sse2_movdq2q_rex64, sse2_movq2dq, |
| sse2_movq2dq_rex64, sse2_loadd, sse2_stored, sse2_storehpd, |
| sse2_loadhpd, sse2_storelpd, sse2_loadlpd, sse2_movsd, sse2_loadsd, |
| sse2_loadsd_1, sse2_storesd, sse2_shufpd, sse2_clflush, sse2_mfence, |
| mfence_insn, sse2_lfence, lfence_insn, mwait, monitor, addsubv4sf3, |
| addsubv2df3, haddv4sf3, haddv2df3, hsubv4sf3, hsubv2df3, movshdup, |
| movsldup, lddqu, loadddup, movddup): Move to sse.md. Any with |
| non-optabs meanings renamed with an "sse{,2,3}_" prefix at the |
| same time. |
| (SSEPUSH, push<SSEPUSH>): Remove. |
| (MMXPUSH, push<MMXPUSH>): Remove. |
| (sse_movaps, sse_movaps_1, sse_movups): Remove. |
| (sse2_movapd, sse2_movdqa, sse2_movq): Remove. |
| (sse2_andti3, sse2_nandti3, sse2_iorti3, sse2_xorti3): Remove. |
| (sse_clrv4sf, sse_clrv2df, sse2_clrti): Remove. |
| (maskncmpv4sf3, vmmaskncmpv4sf3): Remove. |
| (maskncmpv2df3, vmmaskncmpv2df3): Remove. |
| (ashrv8hi3_ti, ashrv4si3_ti, lshrv8hi3_ti, lshrv4si3_ti): Remove. |
| (lshrv2di3_ti, ashlv8hi3_ti, ashlv4si3_ti, ashlv2di3_ti): Remove. |
| * config/i386/athlon.md (athlon_sselog_load): Handle sselog1. |
| (athlon_sselog_load_k8, athlon_sselog, athlon_sselog_k8): Likewise. |
| * config/i386/ppro.md (ppro_sse_div_V4SF_load): Fix memory attr. |
| (ppro_sse_log_V4SF_load): Similarly. Handle sselog1. |
| (ppro_sse_log_V4SF): Handle sselog1. |
| * config/i386/predicates.md (const_0_to_1_operand): New. |
| (const_0_to_255_mul_8_operand): New. |
| (const_1_to_31_operand): Rename from const_int_1_31_operand. |
| (const_2_to_3_operand, const_4_to_7_operand): New. |
| * config/i386/sse.md: New file. |
| (SSEMODE12, SSEMODE24, SSEMODE124, SSEMODE248, ssevecsize): New. |
| (sse_movups): Rename from sse_movups_1. |
| (sse_loadlss): Rename from sse_loadss_1. |
| (andv4sf3, iorv4sf3, xorv4sf3, andv2df3): Remove the sse prefix |
| from the name. |
| (negv4sf2): Use ix86_expand_fp_absneg_operator. |
| (absv4sf2, negv2df, absv2df): New. |
| (addv4sf3): Add expander to call ix86_fixup_binary_operands_no_copy. |
| (subv4sf3, mulv4sf3, divv4sf3, smaxv4sf3, sminv4sf3, andv4sf3, |
| iorv4sf3, xorv4sf3, addv2df3, subv2df3, mulv2df3, divv2df3, |
| smaxv2df3, sminv2df3, andv2df3, iorv2df3, xorv2df3, mulv8hi3, |
| umaxv16qi3, smaxv8hi3, uminv16qi3, sminv8hi3): Likewise. |
| (sse3_addsubv4sf3): Model correctly. |
| sse3_haddv4sf3, sse3_hsubv4sf3, sse3_addsubv2df3, sse3_haddv2df3, |
| sse3_hsubv2df3, sse2_ashlti3, sse2_lshrti3): Likewise. |
| (sse_movhlps): Model with vec_select+vec_concat. |
| (sse_movlhps, sse_unpckhps, sse_unpcklps, sse3_movshdup, |
| sse3_movsldup, sse_shufps, sse_shufps_1, sse2_unpckhpd, sse3_movddup, |
| sse2_unpcklpd, sse2_shufpd, sse2_shufpd_1, sse2_punpckhbw, |
| sse2_punpcklbw, sse2_punpckhwd, sse2_punpcklwd, sse2_punpckhdq, |
| sse2_punpckldq, sse2_punpckhqdq, sse2_punpcklqdq, sse2_pshufd, |
| sse2_pshufd_1, sse2_pshuflw, sse2_pshuflw_1, sse2_pshufhw, |
| sse2_pshufhw_1): Likewise. |
| (neg<SSEMODEI>2, one_cmpl<SSEMODEI>2): New. |
| (add<SSEMODEI>3, sse2_ssadd<SSEMODE12>3, sse2_usadd<SSEMODE12>3, |
| sub<SSEMODEI>3, sse2_sssub<SSEMODE12>3, sse2_ussub<SSEMODE12>3, |
| ashr<SSEMODE24>3, lshr<SSEMODE248>3, sse2_eq<SSEMODE124>3, |
| sse2_gt<SSEMODDE124>3, and<SSEMODEI>3, sse_nand<SSEMODEI>3, |
| ior<SSEMODEI>3, xor<SSEMODEI>3): Macroize from existing patterns. |
| (addv4sf3, sse_vmaddv4sf3, mulv4sf3, sse_vmmulv4sf3, smaxv4sf3, |
| sse_vmsmaxv4sf3, sminv4sf3, sse_vmsminv4sf3, addv2df3, sse2_vmaddv2df3, |
| mulv2df3, sse2_vmmulv2df3, smaxv2df3, sse2_vmsmaxv2df3, sminv2df3, |
| sse2_vmsminv2df3, umaxv16qi3, smaxv8hi3, uminv16qi3 |
| sminv8hi3): Mark commutative |
| operands. Use ix86_binary_operator_ok. |
| (sse_unpckhps, sse_unpcklps, sse2_packsswb, sse2_packssdw, |
| sse2_packuswb, sse2_punpckhbw, sse2_punpcklbw, sse2_punpckhwd, |
| sse2_punpcklwd, sse2_punpckhdq, sse2_punpckldq, sse2_punpckhqdq, |
| sse2_punpcklqdq): Allow operand2 in memory. |
| (sse_movhlps, sse_movlhps, sse2_unpckhpd, sse2_unpcklpd |
| sse2_movsd): Add memory alternatives. |
| (sse_storelps): Turn expander into an insn; split after reload. |
| (sse_storess, sse2_loadhpd, sse2_loadlpd): Add non-xmm inputs. |
| (sse2_storehpd, sse2_storelpd): Add non-xmm outputs. |
| |
| 2005-01-08 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| * configure.ac (DWARF-2 debug_line): Use objdump. |
| * configure: Regenerate. |
| |
| 2005-01-08 Jeff Law <law@redhat.com> |
| Diego Novillo <dnovillo@redhat.com> |
| |
| PR tree-optimization/18241 |
| * tree-nrv.c (tree_nrv): Ignore volatile return values. |
| * tree-ssa-dse.c (dse_optimize_stmt): Do not optimize |
| statements with volatile operands. |
| * tree-ssa-operands.c (add_stmt_operand): Do add volatile |
| operands after marking a statement with has_volatile_ops. |
| |
| 2005-01-08 Roger Sayle <roger@eyesopen.com> |
| |
| * tree.c (int_fits_type_p): Always honor integer constant |
| TYPE_MIN_VALUE and TYPE_MAX_VALUE if they exist. |
| |
| 2005-01-08 Roger Sayle <roger@eyesopen.com> |
| |
| * ifcvt.c (find_if_case_1): Reinstate 2005-01-04 change, now that |
| the latent bug in rtl_delete_block has been resolved. |
| |
| 2005-01-08 Richard Sandiford <rsandifo@redhat.com> |
| |
| * config/mips/t-iris6 (MULTILIB_DIRNAMES): Use -mabi argument values. |
| (MULTILIB_OSDIRNAMES): Use the standard lib, lib32 and lib64. |
| |
| 2005-01-08 Richard Sandiford <rsandifo@redhat.com> |
| |
| * config/mips/t-slibgcc-irix (SHLIB_LINK): Install a copy of the |
| library as @multilib_dir@/$(SHLIB_SONAME). |
| |
| 2005-01-07 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| * configure.ac (HAVE_AS_OFFSETABLE_LO10): Fix typo. |
| * configure: Regenerate. |
| |
| 2005-01-07 Jakub Jelinek <jakub@redhat.com> |
| |
| * c-common.c (handle_mode_attribute): For ENUMERAL_TYPE, also copy |
| TYPE_MODE. |
| |
| 2005-01-07 David Edelsohn <edelsohn@gnu.org> |
| |
| PR target/13674 |
| * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): |
| Convert non-word aligned offset address using ld/std into |
| indirect address. |
| |
| 2005-01-07 Richard Henderson <rth@redhat.com> |
| |
| * config/i386/i386.md (sse_loadhps splitter): Fix operand number typo. |
| |
| 2005-01-07 Richard SAndiford <rsandifo@redhat.com> |
| |
| * tree.h (IS_EXPR_CODE_CLASS): Use a straight-forward range check. |
| |
| 2005-01-07 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/19283 |
| * fold-const.c (fold_widened_comparison): Return NULL if shorter_type |
| is not shorter than the original type. |
| |
| PR rtl-optimization/19012 |
| * config/i386/i386.md (addqi_1_slp): Set memory attribute. |
| |
| PR rtl-optimization/18861 |
| * cfgbuild.c (BLOCK_USED_BY_TABLEJUMP): Define. |
| (FULL_STATE): Define. |
| (mark_tablejump_edge): New function. |
| (purge_dead_tablejump_edges): New function. |
| (find_bb_boundaries): Use it. |
| |
| PR tree-optimization/18828 |
| * builtins.c (expand_builtin_next_arg): Remove argument and all |
| the argument checking. |
| (expand_builtin): Adjust caller. |
| (expand_builtin_va_start): Likewise. Remove error for too many |
| arguments. |
| (fold_builtin_next_arg): Issue error for too many arguments. |
| After checking arguments, replace them with magic arguments that |
| prevent further checking of the args. |
| |
| 2005-01-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> |
| |
| * pa64-hpux.h (STARTFILE_SPEC): Fix typo in spec. |
| |
| 2005-01-06 Roger Sayle <roger@eyesopen.com> |
| |
| PR target/6077 |
| * gcc.c (input_suffix_matches): Tweak the semantics of %{.s:...} |
| and %{.S:...} (and their negative variants) to test whether the |
| input file is assembler or pre-processed-assembler independent of |
| the actual filename extension. |
| |
| 2005-01-06 Roger Sayle <roger@eyesopen.com> |
| |
| * simplify-rtx.c (simplify_subreg): Simplify truncations of shifts |
| of sign or zero extended values. |
| |
| 2005-01-06 Geoffrey Keating <geoffk@apple.com> |
| |
| * c-cppbuiltin.c (builtin_define_float_constants): Set __*_EPSILON__ |
| for IBM long double format correctly. |
| |
| 2005-01-06 Daniel Berlin <dberlin@dberlin.org> |
| |
| Fix PR tree-optimization/18792 |
| |
| * tree-data-ref.c (build_classic_dist_vector): Change first_loop |
| to first_loop_depth, and use loop depth instead of loop number. |
| (build_classic_dir_vector): Ditto. |
| (compute_data_dependences_for_loop): Use depth, not loop number. |
| * tree-loop-linear.c (try_interchange_loops): Use loop depth, not loop |
| number. Pass in loops, instead of loop numbers. |
| (gather_interchange_stats): Ditto. |
| (linear_transform_loops): Ditto. |
| |
| 2005-01-06 Richard Sandiford <rsandifo@redhat.com> |
| |
| PR rtl-opt/13299 |
| * loop.c (get_monotonic_increment, biased_biv_fits_mode_p, |
| biv_fits_mode_p, extension_within_bounds_p): New functions. |
| (check_ext_dependent_givs): Use them. |
| |
| 2005-01-06 Roger Sayle <roger@eyesopen.com> |
| |
| * cfgrtl.c (rtl_delete_block): A basic block may be followed by |
| more than one barrier, in which case we should delete them all. |
| |
| 2005-01-06 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de> |
| |
| * gcc.c (process_command): Change year in 'gcc --version' to 2005. |
| |
| 2005-01-05 Daniel Berlin <dberlin@dberlin.org> |
| |
| Fix PR middle-end/19286 |
| Fix PR debug/19267 |
| * dwarf2out.c (gen_subprogram_die): If we've already tried to |
| output this subprogram, simply ignore this attempt to do it again. |
| (add_abstract_origin_attribute): Don't abort trying to add the abstract |
| origin attribute if it's not possible. |
| (gen_block_die): Don't ignore subblocks of "unused" blocks. |
| (decls_for_scope): Ditto. |
| * gimple-low.c (mark_blocks_with_used_subblocks): Remove. |
| (mark_used_blocks): Don't call mark_blocks_with_used_subblocks. |
| |
| 2005-01-05 Richard Henderson <rth@redhat.com> |
| |
| PR target/11327 |
| * config/i386/i386.c (BUILTIN_DESC_SWAP_OPERANDS): New. |
| (bdesc_2arg): Use it. |
| (ix86_expand_binop_builtin): Force operands into registers |
| when optimizing. |
| (ix86_expand_unop_builtin, ix86_expand_unop1_builtin, |
| ix86_expand_sse_compare, ix86_expand_sse_comi, |
| ix86_expand_builtin): Likewise. |
| |
| 2005-01-05 Richard Henderson <rth@redhat.com> |
| |
| * config/ia64/ia64.c (rtx_needs_barrier): Handle CONST_VECTOR |
| and VEC_SELECT. |
| * config/ia64/vect.md (mulv8qi3): Re-implement with mix_[rl]. |
| (mulv4hi3): Set itanium_class mmmul. |
| (fpack_sfxf, fpack_xfsf, fpack_xfxf): Remove. |
| (fpack): Rename from fpack_sfsf. |
| |
| 2005-01-05 Richard Henderson <rth@redhat.com> |
| |
| PR rtl-opt/10692 |
| * reload1.c (do_input_reload): Restrict the optimization deleteing |
| a previous output reload to RELOAD_FOR_INPUT. |
| |
| 2005-01-05 Steven Bosscher <stevenb@suse.de> |
| |
| * combine.c (expand_compound_operation) <ZERO_EXTRACT>: Add |
| comment that we fall through after case. |
| (mark_used_regs_combine): Don't expect a SIGN_EXTRACT in a SET_DEST. |
| (distribute_links): Likewise. |
| * cse.c (cse_insn): Likewise. |
| * cselib.c (cselib_invalidate_mem): Likewise. |
| * df.c: Update comments at the top of the file. |
| (read_modify_subreg_p): Update comments here too. |
| (df_def_record_1): Don't expect a SIGN_EXTRACT in a SET_DEST. |
| * flow.c (mark_set_1): Likewise. |
| (mark_used_regs): Likewise. |
| * gcse.c (mems_conflict_for_gcse_p): Likewise. |
| (canon_list_insert): Likewise. |
| (mark_set): Likewise. |
| (try_replace_reg): Likewise. |
| (store_killed_in_insn): Likewise. |
| * loop.c (count_one_set): Likewise. |
| (basic_induction_var): Likewise. |
| * postreload-gcse.c (find_mem_conflicts): Likewise. |
| * postreload.c (reload_combine_note_store): Likewise. |
| (move2add_note_store): Likewise. |
| * reload.c (find_equiv_reg): Likewise. |
| (mark_referenced_resources): Likewise. |
| * rtlanal.c (set_noop_p): Likewise. |
| (note_stores): Likewise. |
| (note_uses): Likewise. |
| * sched-deps.c (sched_analyze_1): Likewise. |
| * sched-rgn.c (check_live_1): Likewise. |
| (update_live_1): Likewise. |
| * config/i860/i860.c: Likewise. |
| |
| * rtl.dec (SIGN_EXTRACT): Document that this cannot appear as |
| an lvalue. |
| (ZERO_EXTRACT): Mention that this one can be an lvalue. |
| |
| * doc/rtl.texi: Update documentation for bit-fields and SET. |
| |
| 2005-01-05 Roger Sayle <roger@eyesopen.com> |
| |
| * ifcvt.c (find_if_case_1): Revert 2005-01-04 change. |
| |
| 2005-01-05 Jan Hubicka <jh@suse.cz> |
| Richard Henderson <rth@redhat.com> |
| |
| PR target/18910 |
| * config/i386/i386.c (ix86_expand_move): Handle tls symbols |
| with an offset. |
| |
| 2005-01-05 Richard Henderson <rth@redhat.com> |
| |
| PR target/12902 |
| * config/i386/i386.md (sse_movhps, sse_movlps): Remove. |
| (sse_shufps): Change operand 3 to const_int_operand. |
| (sse2_storelps): Fix typo in template. |
| (sse_storehps, sse_loadhps, sse_storelps, sse_loadlps): New. |
| * config/i386/i386.c (ix86_expand_vector_move_misalign): Use them. |
| (ix86_expand_builtin): Likewise. |
| |
| 2005-01-05 Julian Brown <julian@codesourcery.com> |
| |
| * config/arm/arm.c (arm_return_in_memory): Treat complex types |
| as aggregates for AAPCS ABIs. |
| |
| 2005-01-05 Stan Shebs <shebs@apple.com> |
| |
| * unwind-dw2-fde-darwin.c (examine_objects): Use 64-bit |
| Mach-O getters if ppc64. |
| * config/darwin.c (darwin_asm_output_dwarf_delta): Obey |
| size argument. |
| * config/darwin.h (ASM_PREFERRED_EH_DATA_FORMAT): Use |
| signed four-byte field for global code case. |
| (STARTFILE_SPEC): Avoid crt2.o for 64-bit compilation. |
| |
| 2005-01-05 Roger Sayle <roger@eyesopen.com> |
| |
| PR middle-end/19100 |
| * c-common.c: Include real.h. |
| (c_common_truthvalue_conversion): Avoid destructively modifying expr. |
| Correctly handle TREE_CONSTANT_OVERFLOW for INTEGER_CST. |
| Correctly handle TREE_CONSTANT_OVERFLOW and NaNs for REAL_CST. |
| * Makefile.in (c-common.o): Update dependencies. |
| |
| 2005-01-05 Joseph S. Myers <joseph@codesourcery.com> |
| |
| * c-parse.in (asm_string): Add trailing semicolon. |
| |
| 2005-01-05 Joseph S. Myers <joseph@codesourcery.com> |
| |
| * c-parse.in (asm_string): New. Don't allow wide strings in |
| 'asm'. |
| (simple_asm_expr, asm_argument, asm_operand, asm_clobbers): Use |
| asm_string instead of STRING. |
| |
| 2005-01-05 Joseph S. Myers <joseph@codesourcery.com> |
| |
| * c-typeck.c (constructor_no_implicit): Remove. |
| (set_designator, process_init_element): Don't check |
| constructor_no_implicit. |
| |
| 2005-01-05 J"orn Rennecke <joern.rennecke@st.com> |
| Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| PR target/16482 |
| * lcm.c (create_pre_exit): New. |
| (optimize_mode_switching): In MODE_ENTRY / MODE_EXIT case, set |
| ENTRY_EXIT_EXTRA to 3. Use create_pre_exit. |
| |
| 2004-01-05 Richard Earnshaw <rearnsha@arm.com> |
| |
| * arm.h (TARGET_OPTIONS): Correctly record -mhard-float and |
| -msoft-float in target_float_switch. |
| * arm.c (arm_override_options): Fix processing of target_float_switch. |
| |
| 2004-01-05 Richard Earnshaw <rearnsha@arm.com> |
| |
| * arm/vfp.md (arm_movsi_vfp): Hide VFP register classes from register |
| preferencing. |
| |
| 2004-01-05 Uros Bizjak <uros@kss-loka.si> |
| |
| * doc/invoke.texi (Intel 386 and AMD x86-64 Options): |
| Replace i387 with 'i386 compiler' in -mfpmath=sse option. |
| |
| 2005-01-04 Roger Sayle <roger@eyesopen.com> |
| |
| * ifcvt.c (find_if_case_1): Avoid creating an empty forwarder block, |
| if deleting the then-block allows the test-block to fallthru to the |
| else-block. |
| |
| 2005-01-04 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR c/19152 |
| * c-decl.c (diagnose_mismatched_decls): Accept "extern inline" declared |
| after the full declaration if the are in two different TUs. |
| |
| 2005-01-04 Richard Henderson <rth@redhat.com> |
| |
| PR tree-opt/19158 |
| * tree-sra.c (generate_one_element_init): Just |
| call gimplify_and_add. |
| (generate_element_init): Record the |
| new referenced variables and mark them for renaming |
| and split out to ... |
| (generate_element_init_1): This. |
| (scalarize_init): Don't call push_gimplify_context/ |
| pop_gimplify_context. |
| |
| 2005-01-04 Geoffrey Keating <geoffk@apple.com> |
| |
| * toplev.c (get_src_pwd): Handle failure of getpwd(). |
| |
| 2005-01-04 Roger Sayle <roger@eyesopen.com> |
| |
| * fold-const.c (fold_single_bit_test): Delete unreachable handling |
| of TRUTH_NOT_EXPR. |
| (fold): Don't call fold_single_bit_test with a TRUTH_NOT_EXPR, as |
| all the cases handled by it are inverted by invert_truthvalue. |
| |
| 2005-01-04 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| * config/sparc/sparc.md (save_register_windowdi): Add missing mode. |
| (save_register_windowsi): Likewise. |
| |
| 2005-01-04 Richard Henderson <rth@redhat.com> |
| |
| * tree-mudflap.c (mf_varname_tree): Fix thinko setting declname. |
| |
| 2005-01-04 Uros Bizjak <uros@kss-loka.si> |
| |
| PR middle-end/17767 |
| * cse.c (fold_rtx) [RTX_COMPARE, RTX_COMM_COMPARE]: Don't attempt |
| any simplifications of vector mode comparison operators. |
| * simplify-rtx.c (simplify_relational_operation): Fix variable name. |
| |
| 2005-01-04 Paolo Bonzini <bonzini@gnu.org> |
| Devang Patel <dpatel@apple.com> |
| |
| PR tree-optimization/18308 |
| * tree-if-conv.c (add_to_dst_predicate_list): Gimplify |
| the operands before creating a new expression. |
| * dojump.c (do_jump): Make drop_through_label available |
| for all cases. Add expansion of COND_EXPR. |
| |
| 2005-01-04 Ira Rosen <irar@il.ibm.com> |
| |
| * tree-vectorizer.c (vect_analyze_offset_expr): Test for |
| INTEGER_CST instead of TREE_CONSTANT. |
| (vect_gen_niters_for_prolog_loop): Test for INTEGER_CST |
| instead of TREE_CONSTANT. |
| (vect_analyze_pointer_ref_access): Test for INTEGER_CST |
| instead of TREE_CONSTANT. |
| |
| 2005-01-04 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| * tree-eh.c (replace_goto_queue): Return early if the queue is empty. |
| |
| 2005-01-04 Uros Bizjak <uros@kss-loka.si> |
| |
| PR target/19240 |
| * config/i386/i386.md (*fop_df_1_i387): Disable for TARGET_SSE_MATH. |
| (*fop_df_1_i387): Disable for (TARGET_SSE2 && TARGET_SSE_MATH). |
| |
| 2005-01-03 Richard Henderson <rth@redhat.com> |
| |
| * fold-const.c (force_fit_type): Cope with types larger than 2 HWI. |
| (fold_convert_const_int_from_int, fold_convert_const_int_from_real, |
| fold_convert_const_real_from_real): Split out from ... |
| (fold_convert_const): ... here. |
| |
| 2005-01-03 Richard Henderson <rth@redhat.com> |
| |
| PR target/19235 |
| * config/i386/i386.md (movdi_2): Separate SSE1 and SSE2 alternatives. |
| (mov<MMXMODEI>_internal): Likewise. |
| (movdf_nointeger): Prefer Y while not preferring, but allowing, x. |
| Add V2SF case; use it for SSE1; don't use TI. |
| (movdf_integer): Likewise. |
| (mov<SSEMODEI>_internal, movti_internal): Force V4SF for SSE1. |
| |
| 2005-01-03 Ira Rosen <irar@il.ibm.com> |
| |
| * tree-vectorizer.c (vect_strip_conversions): New function. |
| (vect_analyze_offset_expr): Call vect_strip_conversions. Add |
| check for binary class. |
| |
| 2005-01-03 Daniel Berlin <dberlin@dberlin.org> |
| |
| Fix PR debug/17924 |
| Fix PR debug/19191 |
| * dwarf2out.c (block_ultimate_origin): Follow decl origin if origin |
| is a decl. |
| * gimple-low.c (mark_blocks_with_used_vars): New function. |
| (mark_blocks_with_used_subblocks): Ditto. |
| (mark_used_blocks): Ditto. |
| (pass_mark_used_blocks): New pass. |
| * tree-inline.c: Include debug.h. |
| (expand_call_inline): Call outlining_inline_function here. |
| * tree-optimize.c (init_tree_optimization_passes): Add |
| pass_mark_used_blocks. |
| * tree-pass.h (pass_mark_used_blocks): New. |
| * Makefile.in (tree-inline.o): Add debug.h dependency. |
| |
| 2005-01-03 Geoffrey Keating <geoffk@apple.com> |
| |
| * config/darwin.c (darwin_handle_weak_import_attribute): Permit |
| VAR_DECLs to have weak_import attribute. |
| |
| * config/rs6000/darwin-fallback.c: Use 'ucontext_t' rather than |
| 'struct ucontext'. |
| |
| 2004-01-03 Steven Bosscher <stevenb@suse.de> |
| |
| * passes.c (rest_of_compilation): Don't run regmove if only |
| flag_expensive_optimizations, require flag_regmove instead. |
| |
| 2005-01-03 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| * config/sparc/litecoff.h (TARGET_OS_CPP_BUILTINS): Do not |
| register "sparc". |
| * config/sparc/sysv4-only.h (TARGET_OS_CPP_BUILTINS): Likewise. |
| * config/sparc/rtemself.h (TARGET_SUB_OS_CPP_BUILTINS): Likewise. |
| * config/sparc/sol2-64.h (TARGET_SUB_OS_CPP_BUILTINS): Delete. |
| * config/sparc/sp64-elf.h (TARGET_SUB_OS_CPP_BUILTINS): Likewise. |
| |
| 2005-01-03 Richard Henderson <rth@redhat.com> |
| |
| * config/ia64/ia64.c (TARGET_VECTOR_MODE_SUPPORTED_P): New. |
| (ia64_const_ok_for_letter_p): New. |
| (ia64_const_double_ok_for_letter_p): New. |
| (ia64_extra_constraint): New. |
| (ia64_expand_vecint_compare): New. |
| (ia64_expand_vcondu_v2si): New. |
| (ia64_expand_vecint_cmov): New. |
| (ia64_expand_vecint_minmax): New. |
| (ia64_print_operand): Add 'v'. |
| (ia64_preferred_reload_class): New. |
| (ia64_vector_mode_supported_p): New. |
| * config/ia64/ia64.h (UNITS_PER_SIMD_WORD): New. |
| (PREFERRED_RELOAD_CLASS): Move to function. |
| (CONST_OK_FOR_LETTER_P): Move to function. |
| (CONST_DOUBLE_OK_FOR_LETTER_P): Move to function. |
| (CONSTRAINT_OK_FOR_Q, CONSTRAINT_OK_FOR_R): Remove. |
| (CONSTRAINT_OK_FOR_S, CONSTRAINT_OK_FOR_T): Remove. |
| (EXTRA_CONSTRAINT): Move to function. |
| * config/ia64/ia64.md: Include vect.md. |
| (itanium_class): Add mmalua. |
| (type): Handle it. |
| * config/ia64/itanium1.md (1_mmalua): New. Add it to bypasses. |
| (1b_mmalua): New. |
| * config/ia64/itanium2.md (2_mmalua, 2b_mmalua): Similarly. |
| * config/ia64/predicates.md (gr_reg_or_0_operand): Accept any |
| CONST0_RTX. |
| (const_int_2bit_operand): New. |
| (fr_reg_or_0_operand): New. |
| * config/ia64/ia64-modes.def: Add vector modes. |
| * config/ia64/ia64-protos.h: Update. |
| * config/ia64/vect.md: New file. |
| |
| 2005-01-03 Richard Henderson <rth@redhat.com> |
| |
| * simplify-rtx.c (simplify_binary_operation): Handle VEC_CONCAT. |
| |
| 2005-01-03 Uros Bizjak <uros@kss-loka.si> |
| |
| PR target/19236 |
| * config/i386/i386.c (log1psf2): Change mode of operands[0,1] |
| to SFmode. |
| (log1pdf2): Change mode of operands[0,1] to DFmode. |
| |
| 2005-01-03 Eric Botcazou <ebotcazou@libertysurf.fr> |
| |
| * config/sparc/sparc.h (SPARC_RELAXED_ORDERING): Define to false. |
| * config/sparc/linux.h (SPARC_RELAXED_ORDERING): Define to true. |
| * config/sparc/linux64.h (SPARC_RELAXED_ORDERING): Likewise. |
| * config/sparc/sparc.c (TARGET_RELAXED_ORDERING): Define to |
| SPARC_RELAXED_ORDERING. |
| |
| 2005-01-03 Richard Henderson <rth@redhat.com> |
| Uros Bizjak <uros@kss-loka.si> |
| |
| PR target/14631 |
| * config/i386/i386.c (ix86_expand_builtin): [IX86_BUILTIN_PINSRW, |
| IX86_BUILTIN_PINSRW128]: Fix wrong selector range in error message. |
| * config/i386/i386.md (mmx_pinsrw, sse2_pinsrw): Fix selector |
| handling. |
| (*mmx_pinsrw, *sse2_pinsrw): New patterns. |
| * config/i386/i386/predicates.md (const_pow2_1_to_8_operand, |
| const_pow2_1_to_128_operand): New predicates. |
| |
| 2005-01-02 Greg McGary <greg@mcgary.org> |
| |
| * tree-mudflap.c (mf_varname_tree): decl_printable_name handles |
| anonymous decls. |
| (mf_xform_derefs_1) [RESULT_DECL, STRING_CST]: Handle as innermost |
| object. [ptr_type]: Remove unused variable. |
| Remember nearest addressable array-element or record-component |
| when checking bitfield components. Tolerate empty BIND_EXPR. |
| |
| 2005-01-01 Richard Henderson <rth@redhat.com> |
| |
| * tree-vectorizer.c (vect_analyze_offset_expr): Strip conversions |
| that don't narrow the value. Fail for other conversions. |
| |
| 2005-01-01 Richard Henderson <rth@redhat.com> |
| |
| PR c/19031 |
| * c-decl.c (pop_file_scope): Call maybe_apply_pending_pragma_weaks. |
| * c-lang.c (finish_file): Don't do it here. |
| * objc/objc-act.c (objc_finish_file): Likewise. |
| |
| * cgraph.c (decl_assembler_name_equal): New. |
| (cgraph_node_for_asm, cgraph_varpool_node_for_asm): New. |
| (cgraph_varpool_node): Actually link up cgraph_varpool_nodes. |
| * cgraph.h (struct cgraph_varpool_node): Add next. |
| (cgraph_node_for_asm, cgraph_varpool_node_for_asm): Declare. |
| * varasm.c (assemble_alias): Mark the target as needed. |
| |
| 2005-01-01 Andrew Pinski <pinskia@physics.uc.edu> |
| |
| PR middle-end/19221 |
| * function.c (get_arg_pointer_save_area): Use entry_of_function |
| instead of get_insns. |
| |
| 2005-01-01 Roger Sayle <roger@eyesopen.com> |
| Andrew Pinski <pinskia@physics.uc.edu> |
| James E. Wilson <wilson@specifixinc.com> |
| |
| PR rtl-optimization/12092 |
| * loop.c (emit_prefetch_instructions): Do nothing if PREFETCH_BLOCK |
| is zero. |
| |
| 2005-01-01 Roger Sayle <roger@eyesopen.com> |
| Olivier Hainque <hainque@act-europe.fr> |
| |
| * tree.c (int_fits_type_p): A narrower type always fits in a |
| wider one, except for negative values into unsigned types. |
| |
| 2005-01-01 Roger Sayle <roger@eyesopen.com> |
| |
| * tree.c (int_fits_type_p): Compare the result of force_fit_type |
| with the original constant rather than require TREE_OVERFLOW. |
| |
| 2005-01-01 Steven Bosscher <stevenb@suse.de> |
| |
| PR middle-end/17544 |
| * c-decl.c (finish_function): If compiling C99, annotate the |
| compiler generated return with the current file name and line 0. |
| * tree-cfg.c (remove_useless_stmts_warn_notreached): Only warn if |
| the source line is greater than 0. |
| (remove_bb): Likewise. |
| |
| See ChangeLog.12 for earlier changes. |