OSDN Git Service

* doc/md.texi (Insn Canonicalizations): Correct canonicalization
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index f0a3061..0831f4c 100644 (file)
@@ -1,5 +1,142 @@
+2009-08-19  Ian Lance Taylor  <iant@google.com>
+
+       * doc/md.texi (Insn Canonicalizations): Correct canonicalization
+       of (plus (mult (neg B) C) A).
+
+2009-08-18  Michael Matz  <matz@suse.de>
+
+       * omp-low.c (optimize_omp_library_calls): Use types_compatible_p
+       instead of comparing TYPE_MAIN_VARIANT for equality.
+       * tree-vect-patterns.c (vect_recog_dot_prod_pattern,
+       vect_recog_widen_mult_pattern, vect_recog_widen_sum_pattern): Ditto.
+       * tree-vect-loop.c (vect_is_simple_reduction): Ditto.
+       * gimplify.c (goa_lhs_expr_p): Ditto and use
+       STRIP_USELESS_TYPE_CONVERSION.
+
+2009-08-18  Michael Matz  <matz@suse.de>
+
+       * tree-ssa-structalias.c (create_variable_info_for): Also mark
+       first field in a struct.
+       (intra_create_variable_infos): Don't deal with flag_argument_noalias.
+
+2009-08-18  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Allocate insn
+       locators before emit_insn is called.  Remove assert that
+       cfun->is_thunk.
+       (alpha_end_function): Clear crtl->emit structure and free insn
+       locators if cfun->is_thunk is true.
+
+2009-08-18  Jason Merrill  <jason@redhat.com>
+
+       * config/elfos.h (ASM_DECLARE_OBJECT_NAME): Use gnu_unique_object
+       type if available.
+       * configure.ac: Test for it.
+       * configure, config.in: Regenerate.
+       * doc/install.texi: Document --enable-gnu-unique-object.
+
+2009-08-18  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/41094
+       * builtins.c (fold_builtin_pow): Fold pow(pow(x,y),z) to
+       pow(x,y*z) only if x is nonnegative.
+
+2009-08-18  Jakub Jelinek  <jakub@redhat.com>
+
+       * bb-reorder.c (fix_up_fall_thru_edges): Only call invert_jump
+       on jumps.
+
+       PR target/40971
+       * config/rs6000/rs6000.c (rs6000_legitimize_address): For
+       [DT][FDI]mode ensure the offset isn't 4/8/12 bytes below 0x8000.
+
+2009-08-17  DJ Delorie  <dj@redhat.com>
+
+       * config/m32c/m32c.md (UNS_FSETB, UNS_FREIT): New.
+       * config/m32c/prologue.md (epilogue_freit): New.
+       (fset_b): New.
+       * config/m32c/m32c.c (m32c_function_needs_enter): Add prototype.
+       (bank_switch_p): Likewise.
+       (fast_interrupt_p): Likewise.
+       (interrupt_p): Likewise.
+       (m32c_conditional_register_usage): Round memregs size up.
+       (need_to_save): We only need to save $a0 when we use ENTER.
+       (interrupt_p): Check for fast_interrupt too.
+       (bank_switch_p): New.
+       (fast_interrupt_p): New.
+       (m32c_attribute_table): Add bank_switch and fast_interrupt.
+       (m32c_emit_prolog): Support bank switching and fast interrupts.
+       * doc/extend.texi (Function Attributes): Add bank_switch and
+       fast_interrupt.
+
+2009-08-17  Douglas B Rupp  <rupp@gnat.com>
+
+       * config/alpha/alpha.c (vms_valid_pointer_mode): New function.
+       * config/alpha/vms.h (TARGET_VALID_POINTER_MODE): Define.
+
+2009-08-16  Douglas B Rupp  <rupp@gnat.com>
+
+       * doc/invoke.texi (Target options):
+       Add new option list for IA-64/VMS.
+       (menu): Add IA-64/VMS Options.
+       (IA-64/VMS Options): Likewise.
+
+2009-08-16  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       PR target/38599
+       * config/mips/mips.md (*lwxs): Use :P for pointer values.
+
+2009-08-16  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * config/mips/mips-protos.h (mips_push_asm_switch): New function.
+       (mips_pop_asm_switch): Likewise.
+       * config/mips/mips.c (set_noreorder, set_nomacro, set_noat): Replace
+       with...
+       (mips_noreorder, mips_nomacro, mips_noat): ...these new variables.
+       (mips_push_asm_switch_1, mips_pop_asm_switch_1): New functions.
+       (mips_push_asm_switch, mips_pop_asm_switch): Likewise.
+       (mips_print_operand_punctuation): Use them.  Check mips_noreorder
+       instead of set_noreorder.
+       (mips_output_function_prologue): Use the new functions.
+       (mips_output_function_epilogue): Likewise.
+       (mips_need_noat_wrapper_p): New function, split out from...
+       (mips_final_prescan_insn, mips_final_postscan_insn): ...here.
+       Use mips_push_asm_switch and mips_pop_asm_switch.
+       * config/mips/mips.h (FUNCTION_PROFILER): Use mips_push_asm_switch
+       and mips_pop_asm_switch.
+       (ASM_OUTPUT_REG_POP): Likewise.
+       (DBR_OUTPUT_SEQEND): Remove boilerplate comment.
+       Use mips_pop_asm_switch.
+       (mips_asm_switch): New structure.
+       (set_noreorder, set_nomacro): Replace with...
+       (mips_noreorder, mips_nomacro, mips_noat): ...these new variables.
+       * config/mips/mips.md (fix_truncdfsi2_macro): Use mips_nomacro
+       instead of set_nomacro.
+       (fix_truncsfsi2_macro): Likewise.
+       (cprestore): Likewise.
+       (hazard): Use mips_noreorder instead of set_noreorder.
+       * config/mips/sdemtk.h (FUNCTION_PROFILER): As for mips.h.
+
+2009-08-16  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/alpha/alpha.c (alpha_and_function): Handle NULL_RTX returned
+       from prev_active_insn.
+
+2009-08-16  Anatoly Sokolov  <aesok@post.ru>
+
+       * config/avr/avr.h (AVR_HAVE_8BIT_SP): New macros.
+       * config/avr/avr.c (avr_override_options): Initialize
+       avr_current_arch variable.
+       (avr_cpu_cpp_builtins): Define __AVR_HAVE_8BIT_SP__ or
+       __AVR_HAVE_16BIT_SP__ according to the device type.
+       (expand_prologue, output_movhi): Use AVR_HAVE_8BIT_SP instead of
+       TARGET_TINY_STACK.
+       (expand_epilogue): Use correct QI mode frame pointer for tiny stack.
+       Use AVR_HAVE_8BIT_SP instead of TARGET_TINY_STACK.
+
 2009-08-16  Dodji Seketeli  <dodji@redhat.com>
 
+       PR debug/37801
        * gcc/dwarf2out.c (gen_inlined_subroutine_die): Concentrate on
        generating inlined subroutine die only. We shouldn't be
        called for anything else.
        (output_init_element): Issue -Wc++-compat warning if needed when
        initializing a bitfield with enum type.
        * c-parser.c (c_parser_expression): Set original_type to
-       original_type of right hand operand of comman operator.
+       original_type of right hand operand of comma operator.
 
 2009-04-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>