simplify-rtx.c (simplify_const_unary_operation): Handle SS_ABS.
[gcc.git] / gcc / ChangeLog
index aed8f325ffbb9f547d2481ac52a6ae8cd424759a..ee8666e84c4faaf55230461c95699cb8304446dc 100644 (file)
@@ -1,3 +1,238 @@
+2009-10-20  Jie Zhang  <jie.zhang@analog.com>
+
+       * simplify-rtx.c (simplify_const_unary_operation): Handle
+       SS_ABS.
+       * doc/rtl.texi: Document ss_abs.
+
+2009-10-19  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-common.c (c_parse_error): Handle CPP_UTF8STRING.
+       * c-lex.c (c_lex_with_flags): Likewise.  Test C_LEX_STRING_NO_JOIN
+       instead of C_LEX_RAW_STRINGS.
+       (lex_string): Handle CPP_UTF8STRING.
+       * c-parser.c (c_parser_postfix_expression): Likewise.
+       * c-pragma.h (C_LEX_RAW_STRINGS): Rename to ...
+       (C_LEX_STRING_NO_JOIN): ... this.
+
+2009-10-19  Anatoly Sokolov  <aesok@post.ru>
+
+       * config/cris/cris.c (cris_function_value, cris_libcall_value,
+       cris_function_value_regno_p): New functions.
+       (cris_promote_function_mode): Update comment.
+       (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE): Declare.
+       * config/cris/cris.h: (FUNCTION_VALUE, LIBCALL_VALUE): Remove.
+       (FUNCTION_VALUE_REGNO_P): Redefine, use cris_function_value_regno_p.
+       * config/cris/cris-protos.h (cris_function_value_regno_p): Declare.
+
+2009-10-19  Jakub Jelinek  <jakub@redhat.com>
+
+       * unwind-dw2.c (execute_stack_op): Fix operand order for
+       DW_OP_le, DW_OP_ge, DW_OP_lt and DW_OP_gt.
+
+2009-10-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gimple-low.c (struct lower_data): Add cannot_fallthru field.
+       (lower_stmt) <GIMPLE_BIND>: Add comment.
+       <GIMPLE_COND, GIMPLE_GOTO, GIMPLE_SWITCH>: Set cannot_fallthru to true
+       and return.
+       <GIMPLE_RETURN>: Remove the statement if cannot_fallthru is set.
+       Otherwise lower it and set cannot_fallthru to true.
+       <GIMPLE_TRY>: Update cannot_fallthru for GIMPLE_TRY_FINALLY and return.
+       <GIMPLE_CATCH, GIMPLE_EH_FILTER>; Set cannot_fallthru to false.
+       <GIMPLE_CALL>: Set cannot_fallthru to false for BUILT_IN_SETJMP and
+       to true for a noreturn call.  Do not remove statements.
+       <GIMPLE_OMP_PARALLEL, GIMPLE_OMP_TASK>: Set cannot_fallthru to false.
+       Set cannot_fallthru to false on function exit.
+       (gimple_stmt_may_fallthru) <GIMPLE_SWITCH>: Really return false.
+       <GIMPLE_ASSIGN>: Remove.
+
+2009-10-19  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       * config/s390/s390.c (s390_z10_optimize_cmp): Don't touch FP compares.
+
+2009-10-19  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       * config/s390/s390.c (s390_z10_optimize_cmp): Use
+       next/prev_active_insn to skip DEBUG_INSNs as well.
+
+2009-10-19  Joseph Myers  <joseph@codesourcery.com>
+
+       * config/arm/arm.c (output_move_neon): Use DImode in call to
+       adjust_address.
+
+2009-10-19  Matthias Klose  <doko@ubuntu.com>
+
+       PR target/40134
+       * config.gcc (arm*-*-linux-*eabi): Use config/t-slibgcc-libgcc.
+
+2009-10-19  Jakub Jelinek  <jakub@redhat.com>
+
+       * cfgexpand.c (expand_debug_expr): Fail if bitpos < 0 for non-MEM
+       op0.
+
+2009-10-17  Andy Hutchinson  <hutchinsonandy@gcc.gnu.org>
+
+       PR middle-end/41738
+       * optabs.c (expand_binop): Make mode of shift count expression mode
+       of shift count not target.
+       Remove indent nit.
+
+2009-10-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree-nested.c (convert_nonlocal_reference_stmt) <GIMPLE_COND>: New
+       case.  Force using values to replace references within the statement.
+       (convert_local_reference_stmt): Likewise.
+
+2009-10-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gimple-low.c (lower_stmt) <GIMPLE_CALL>: If the call is noreturn,
+       remove a subsequent GOTO or RETURN statement.
+
+2009-10-17  Andy Hutchinson  <hutchinsonandy@aim.com>
+
+       * config/avr.md (*movqi): Add zero as equally preferable constraint
+       as general register.
+       (*movhi): Ditto.
+
+2009-10-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * print-tree.c (print_node): Fix string for DECL_STRUCT_FUNCTION.
+
+2009-10-17  Richard Guenther  <rguenther@suse.de>
+
+       * lto-streamer-in.c (lto_input_location): Try to reuse
+       previous maps.
+
+2009-10-17  Richard Guenther  <rguenther@suse.de>
+
+       * lto-streamer-in.c (input_gimple_stmt): Fixup FIELD_DECL
+       operands in COMPONENT_REFs.
+
+2009-10-17  Anatoly Sokolov  <aesok@post.ru>
+
+       * targhooks.c (default_libcall_value): Don't use LIBCALL_VALUE macro
+       if not defined. Change type of second argument to const_rtx.
+       (default_function_value): Call gcc_unreachable if FUNCTION_VALUE
+       macro not defined.
+       * targhooks.h (default_libcall_value): Update prototype.
+       * target.h (struct gcc_target): Change type of second argument of
+       libcall_value to const_rtx.
+       * config/arm/arm.c (arm_libcall_value): Change type of second argument
+       to const_rtx.
+       (arm_libcall_uses_aapcs_base): Change type of argument to const_rtx.
+       * doc/tm.texi (TARGET_LIBCALL_VALUE):  Revise documentation.
+
+2009-10-17  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/40521
+       * debug.h (struct gcc_debug_hooks): Add assembly_start hook.
+       * cgraphunit.c (cgraph_optimize): Call it.
+       * dwarf2out.c (dwarf2out_init): Move .cfi_sections printing into...
+       (dwarf2out_assembly_start): ... here.  New hook.
+       (dwarf2out_debug_hooks): Add dwarf2out_assembly_start.
+       * debug.c (do_nothing_debug_hooks): Do nothing for assembly_start
+       hook.
+       * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Likewise.
+       * sdbout.c (sdb_debug_hooks): Likewise.
+       * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_assembly_start.
+       (vmsdbgout_assembly_start): New hook.
+
+2009-10-17  Alexandre Oliva  <aoliva@redhat.com>
+
+       * rtl.h (RTL_LOCATION): Fix typo.
+
+2009-10-17  Alexandre Oliva  <aoliva@redhat.com>
+
+       * print-rtl.c (print_rtx): Print locators in asm_operands
+       and asm_input.
+
+2009-10-17  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR debug/41535
+       * sched-deps.c (depl_on_debug_p): New.
+       (attach_dep_link): Reject debug deps before nondebug deps.
+       (add_to_deps_list): Insert debug deps after nondebug deps.
+       (sd_lists_empty_p): Stop at first nonempty list.  Disregard debug
+       deps.
+       (sd_add_dep): Do not reject debug deps.
+       (add_insn_mem_dependence): Don't count debug deps.
+       (remove_from_deps): Likewise.
+       (sched_analyze_2): Set up mem deps on debug insns.
+       (sched_analyze_insn): Record reg uses for deps on debug insns.
+       * haifa-sched.c (schedule_insn): Reset deferred debug insn.  Don't
+       try_ready nondebug insn after debug insn.
+       * ddg.c (create_ddg_dep_from_intra_loop_link,
+       create_ddg_dep_no_link): Don't reject debug deps.
+
+2009-10-16  Richard Guenther  <rguenther@suse.de>
+
+       * lto-symtab.c (merge_incomplete_and_complete_type): Remove.
+       (maybe_merge_incomplete_and_complete_type): Likewise.
+       (lto_symtab_merge): Do not call them.  Do not warn for
+       complete vs. incomplete compatible types.
+       (lto_symtab_merge_decls_2): Simplify.
+       * gimple.c (gimple_force_type_merge): Remove.
+       (gimple_types_compatible_p): Make it static.
+       * gimple.h (gimple_force_type_merge): Remove.
+       (gimple_types_compatible_p): Likewise.
+
+2009-10-16  Jakub Jelinek  <jakub@redhat.com>
+
+       * dwarf2out.c (mem_loc_descriptor) <case ZERO_EXTRACT>: Cast
+       DWARF2_ADDR_SIZE to int to avoid signed vs. unsigned warnings.
+
+2009-10-16  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/41728
+       * tree-ssa-dom.c (optimize_stmt): Mark the stmt modified
+       if fold_stmt did anything.
+
+2009-10-16  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/41715
+       * lto-streamer-in.c (lto_input_tree_ref): Revert last change.
+       (maybe_fixup_handled_component): New function.
+       (input_gimple_stmt): Fixup mismatched decl replacements.
+
+2009-10-16  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/41713
+       * lto-streamer-out.c (lto_output_tree_ref): Handle DEBUG_EXPR_DECL
+       the same as VAR_DECL.
+
+2009-10-16  Richard Guenther  <rguenther@suse.de>
+
+       * gimple.c (iterative_hash_gimple_type): For integer types
+       also hash their minimum and maximum values and the string flag.
+       For array types hash their domain and the string flag.
+
+2009-10-16  Richard Guenther  <rguenther@suse.de>
+
+       * gimple.c (gimple_types_compatible_p): Restrict completing
+       types to record or unions.  Simplify completion.
+       Do not merge records or unions with different
+       TYPE_STRUCTURAL_EQUALITY_P tag.
+       (iterative_hash_gimple_type): Restrict non-recursing into
+       pointer targets for records and unions.
+
+2009-10-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/41717
+       * cfgexpand.c (expand_debug_expr): Handle CONJ_EXPR.
+       * dwarf2out.c (mem_loc_descriptor): Don't handle
+       POST_INT/POST_DEC/POST_MODIFY like SUBREG.  For SUBREG
+       punt if it is not lowpart subreg or if inner mode isn't
+       MODE_INT.
+
+2009-10-16  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       * config/s390/s390.c (s390_z10_optimize_cmp): Skip notes when
+       investigating previous or next insns.
+
+2009-10-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree-sra.c (build_ref_for_offset_1): Update comment.
+
 2009-10-16  Wolfgang Gellerich  <gellerich@de.ibm.com>
 
        * config/s390/s390.md (atype): Added missing values.