OSDN Git Service

2008-05-21 H.J. Lu <hongjiu.lu@intel.com>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index cdc2b9d..b686fe5 100644 (file)
@@ -1,3 +1,114 @@
+2008-05-21  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/sse.md (vec_initv4sf): Removed.
+       (vec_initv2df): Likewise.
+       (vec_initv2di): Likewise.
+       (vec_initv4si): Likewise.
+       (vec_initv8hi): Likewise.
+       (vec_initv16qi): Likewise.
+       (vec_init<mode>): New.
+
+2008-05-21  Joseph Myers  <joseph@codesourcery.com>
+
+       * collect2.c (find_a_file): Use IS_ABSOLUTE_PATH.
+
+2008-05-21  Tom Tromey  <tromey@redhat.com>
+
+       * ggc-zone.c (lookup_page_table_if_allocated): New function.
+       (zone_find_object_offset): Likewise.
+       (gt_ggc_m_S): Likewise.
+       (highest_bit): Likewise.
+       * ggc-page.c (gt_ggc_m_S): New function.
+       * stringpool.c (string_stack): Remove.
+       (init_stringpool): Update.
+       (ggc_alloc_string): Use ggc_alloc.
+       (maybe_delete_ident): New function.
+       (ggc_purge_stringpool): Likewise.
+       (gt_ggc_m_S): Remove.
+       * ggc-common.c (ggc_protect_identifiers): New global.
+       (ggc_mark_roots): Call ggc_purge_stringpool.  Use
+       ggc_protect_identifiers.
+       * ggc.h (ggc_protect_identifiers): Declare.
+       (gt_ggc_m_S): Update.
+       (ggc_purge_stringpool): Declare.
+       * toplev.c (compile_file): Set and reset ggc_protect_identifiers.
+       * gengtype.c (write_types_process_field) <TYPE_STRING>: Remove
+       special case.
+       (write_root): Cast gt_ggc_m_S to gt_pointer_walker.
+
+2008-05-21  David S. Miller  <davem@davemloft.net>
+
+       * config.gcc (sparc-*-linux*): Always include sparc/t-linux in
+       tmake_file.
+
+2008-05-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * cfgexpand.c (tree_expand_cfg): Zap the EH throw statement table
+       once finished.
+
+2008-05-20  David Daney  <ddaney@avtrex.com>
+
+       * config/mips/mips.md (UNSPEC_SYNC_NEW_OP_12,
+       UNSPEC_SYNC_OLD_OP_12,
+       UNSPEC_SYNC_EXCHANGE_12): New define_constants.
+       (UNSPEC_SYNC_EXCHANGE, UNSPEC_MEMORY_BARRIER,
+       UNSPEC_SET_GOT_VERSION,
+       UNSPEC_UPDATE_GOT_VERSION): Renumber.
+       (optab, insn): Add 'plus' and 'minus' to define_code_attr.
+       (atomic_hiqi_op): New define_code_iterator.
+       (sync_compare_and_swap<mode>): Call
+       mips_expand_atomic_qihi instead of
+       mips_expand_compare_and_swap_12.
+       (compare_and_swap_12): Use MIPS_COMPARE_AND_SWAP_12 instead of
+       MIPS_COMPARE_AND_SWAP_12_0.  Pass argument to
+       MIPS_COMPARE_AND_SWAP_12.
+       (sync_<optab><mode>, sync_old_<optab><mode>,
+       sync_new_<optab><mode>, sync_nand<mode>, sync_old_nand<mode>,
+       sync_new_nand<mode>): New define_expands for HI and QI mode
+       operands.
+       (sync_<optab>_12, sync_old_<optab>_12, sync_new_<optab>_12,
+       sync_nand_12, sync_old_nand_12, sync_new_nand_12): New insns.
+       (sync_lock_test_and_set<mode>): New define_expand for HI and QI
+       modes.
+       (test_and_set_12): New insn.
+       (sync_old_add<mode>, sync_new_add<mode>, sync_old_<optab><mode>,
+       sync_new_<optab><mode>, sync_old_nand<mode>,
+       sync_new_nand<mode>, sync_lock_test_and_set<mode>):  Add early
+       clobber to operand 0 for SI and DI mode insns.
+       * config/mips/mips-protos.h (mips_gen_fn_6, mips_gen_fn_5,
+       mips_gen_fn_4): New typedefs.
+       (mips_gen_fn_ptrs): Define new union type.
+       (mips_expand_compare_and_swap_12): Remove declaration.
+       (mips_expand_atomic_qihi): Declare function.
+       * config/mips/mips.c (mips_expand_compare_and_swap_12): Rename to...
+       (mips_expand_atomic_qihi): ... this.  Use new generator function
+       parameter.
+       * config/mips/mips.h (MIPS_COMPARE_AND_SWAP_12): Add OPS parameter.
+       (MIPS_COMPARE_AND_SWAP_12_0): Delete macro.
+       (MIPS_COMPARE_AND_SWAP_12_ZERO_OP,
+       MIPS_COMPARE_AND_SWAP_12_NONZERO_OP,
+       MIPS_SYNC_OP_12, MIPS_SYNC_OP_12_NOT_NOP,
+       MIPS_SYNC_OP_12_NOT_NOT, MIPS_SYNC_OLD_OP_12,
+       MIPS_SYNC_OLD_OP_12_NOT_NOP, MIPS_SYNC_OLD_OP_12_NOT_NOP_REG,
+       MIPS_SYNC_OLD_OP_12_NOT_NOT, MIPS_SYNC_OLD_OP_12_NOT_NOT_REG,
+       MIPS_SYNC_NEW_OP_12, MIPS_SYNC_NEW_OP_12_NOT_NOP,
+       MIPS_SYNC_NEW_OP_12_NOT_NOT, MIPS_SYNC_EXCHANGE_12,
+       MIPS_SYNC_EXCHANGE_12_ZERO_OP,
+       MIPS_SYNC_EXCHANGE_12_NONZERO_OP): New macros.
+
+2008-05-20  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/i386.c (ix86_expand_vector_init_one_nonzero): Add
+       the missing break.
+
+2008-05-20  Anatoly Sokolov <aesok@post.ru>
+
+       * config/avr/avr.h (machine_function): Add 'is_OS_main' field.
+       * config/avr/avr.c (avr_OS_main_function_p): Add new function.
+       (avr_attribute_table): Add 'OS_main' function attribute.
+       (avr_regs_to_save, expand_prologue, expand_epilogue): Handle
+       functions with 'OS_main' attribute.
+
 2008-05-20  Richard Guenther  <rguenther@suse.de>
 
        PR tree-optimization/35204