OSDN Git Service

* fold-const.c (pointer_may_wrap_p): New static function.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 4a3a4d0..270b12e 100644 (file)
@@ -1,3 +1,168 @@
+2008-04-18  Ian Lance Taylor  <iant@google.com>
+
+       * fold-const.c (pointer_may_wrap_p): New static function.
+       (fold_comparison): Add another test for pointer overflow.  Use
+       pointer_may_wrap_p to disable some false positives.
+
+2008-04-18  Kris Van Hees <kris.van.hees@oracle.com>
+         
+       * c-common.c (CHAR16_TYPE, CHAR32_TYPE): New macros.
+       (fname_as_string): Match updated cpp_interpret_string prototype.
+       (fix_string_type): Support char16_t* and char32_t*.
+       (c_common_nodes_and_builtins): Add char16_t and char32_t (and
+       derivative) nodes.  Register as builtin if C++0x.
+       (c_parse_error): Support CPP_CHAR{16,32}.
+       * c-common.h (RID_CHAR16, RID_CHAR32): New elements. 
+       (enum c_tree_index) <CTI_CHAR16_TYPE, CTI_SIGNED_CHAR16_TYPE,
+       CTI_UNSIGNED_CHAR16_TYPE, CTI_CHAR32_TYPE, CTI_SIGNED_CHAR32_TYPE,
+       CTI_UNSIGNED_CHAR32_TYPE, CTI_CHAR16_ARRAY_TYPE,
+       CTI_CHAR32_ARRAY_TYPE>: New elements.
+       (char16_type_node, signed_char16_type_node, unsigned_char16_type_node,
+       char32_type_node, signed_char32_type_node, char16_array_type_node,
+       char32_array_type_node): New defines.
+       * c-lex.c (cb_ident): Match updated cpp_interpret_string prototype.
+       (c_lex_with_flags): Support CPP_CHAR{16,32} and CPP_STRING{16,32}.
+       (lex_string): Support CPP_STRING{16,32}, match updated
+       cpp_interpret_string and cpp_interpret_string_notranslate prototypes.
+       (lex_charconst): Support CPP_CHAR{16,32}.
+       * c-parser.c (c_parser_postfix_expression): Support CPP_CHAR{16,32}
+       and CPP_STRING{16,32}.
+
+2008-04-18  Paolo Bonzini  <bonzini@gnu.org>
+
+       PR bootstrap/35457
+       * aclocal.m4: Regenerate.
+       * configure: Regenerate.
+
+2008-04-18  Jan Hubicka  <jh@suse.cz>
+
+       * except.c (dw2_size_of_call_site_table,
+       sjlj_size_of_call_site_table): Use vector API for call_site_record.
+
+       * cgraphbuild.c (build_cgraph_edges): Update.
+       * tree-pass.h: Update comment.
+       * final.c (leaf_function_p): Update.
+       (leaf_renumber_regs): Update.
+       (rest_of_clean_state): Update.
+       * omp-low.c (expand_omp_parallel): Update.
+       * ipa-reference.c (analyze_function): Update.
+       * reorg.c (find_end_label): Update.
+       (optimize_skip): Update.
+       (fill_simple_delay_slots): Update.
+       (fill_simple_delay_slots): Update.
+       (make_return_insns): Update.
+       (dbr_schedule): Update.
+       * gimple-low.c (record_vars_into): Update.
+       * cfgbuild.c (make_edges): Update.
+       * function.c (assign_stack_local): Update.
+       (assign_parm_adjust_stack_rtl): Update.
+       (locate_and_pad_parm): Update.
+       (allocate_struct_function): Do not initialize stack_alignment_needed
+       and preferred_stack_boundary here.
+       (stack_protect_prologue): Update.
+       (stack_protect_epilogue): Update.
+       (expand_function_start): Initialize stack_alignment_needed,
+       preferred_stack_boundary and max_jumptable_ents.
+       (expand_function_end): Update.
+       (free_after_compilation): Do not NULLify epilogue_delay_list.
+       * function.h (struct rtl_data): Add stack_protect_guard,
+       stack_alignment_needed,
+       preferred_stack_boundary, epilogue_delay_list.
+       (struct function): Remove value_histograms, stack_alignment_needed,
+       preferred_stack_boundary, epilogue_delay_list, max_jumptable_ents,
+       last_label_uid,
+       unexpanded_var_list, stack_protect_guard.
+       (current_function_epilogue_delay_list): Remove.
+       * ipa-type-escape.c (analyze_function): Update.
+       * gimplify.c (pop_gimplify_context): Update comment.
+       * calls.c (expand_call): Update.
+       (emit_library_call_value_1): Update.
+       * except.c (set_nothrow_function_flags): Update.
+       * cfgexpand.c (get_decl_align_unit): Update.
+       (create_stack_guard): Update.
+       (estimated_stack_frame_size): Update.
+       (expand_used_vars): Update.
+       (tree_expand_cfg): Free histogram earliers, init expansion variables.
+       * explow.c (allocate_dynamic_stack_space): Update.
+       * tree-ssa-live.c (remove_unused_locals): Update.
+       * varasm.c (mark_constant_pool): Update.
+       * tree-inline.c (remap_decls): Update.
+       (initialize_cfun): Update.
+       (declare_return_variable): Update.
+       (inline_forbidden_p): Update.
+       (expand_call_inline): Update.
+       (declare_inline_vars): Update.
+       (tree_function_versioning): Update.
+       * tree-flow.h (value_histograms): New.
+       (VALUE_HISTOGRAMS): New macro.
+       * basic-block.h (control_flow_graph): Add max_jumptable_ents,
+       last_label_uid.
+       * tree-cfg.c (set_bb_for_stmt): Update.
+       (replace_by_duplicate_decl): Update.
+       (move_block_to_fn): Update.
+       (new_label_mapper): Update.
+       (dump_function_to_file): Update.
+       * ipa-struct-reorg.c (build_data_structure): Update.
+       * cfgrtl.c (print_rtl_with_bb): Update.
+       * reload1.c (reload): Update.
+       (reload): Update.
+       * config/i386/i386.c (setup_incoming_varargs_64,
+       ix86_compute_frame_layout): Update.
+       * config/arc/arc.c (arc_output_function_epilogue): Update.
+
+2008-04-18  Marius Strobl <marius@FreeBSD.org>
+
+       * gthr-posix.h (__gthread_active_p): Use the Solaris implementation
+       for FreeBSD as well.
+       * gthr-posix95.h: Likewise.
+
+2008-04-17  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       PR rtl-optimization/35838
+       * dse.c (find_shift_sequence): Use subreg_lowpart_offset to work
+       out the byte offset of the first subreg.
+
+2008-04-17  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (addti3 splitter): Pass arrays of 3 operands
+       to split_ti instead of three separate calls with single member arrays.
+       (subti3 splitter): Ditto.
+       (adddi3 splitter): Ditto with split_di.
+       (subdi3 splitter): Ditto.
+       (negti2 splitter): Pass arrays of 2 operands to split_ti instead of
+       two separate calls with single member arrays.  Swap match_dup
+       operands 1 and 2 to better fit into the array.
+       (negdi2 splitter): Ditto with split_di.
+       (movdfcc splitter):  Pass arrays of 2 operands to split_di instead of
+       two separate calls with single member arrays.  Swap match_dup operands
+       6 and 7 to better fit into the array.
+
+2008-04-17  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/i386.c (sse_builtin_type): New.
+       (bdesc_sse_args): Likewise.
+       (bdesc_sse_3arg): Removed.
+       (bdesc_2arg): Remove IX86_BUILTIN_AESKEYGENASSIST128.
+       (bdesc_1arg): Remove IX86_BUILTIN_ROUNDPD and
+       IX86_BUILTIN_ROUNDPS.
+       (ix86_init_mmx_sse_builtins): Handle bdesc_sse_args.  Remove
+       bdesc_sse_3arg.  Remove IX86_BUILTIN_ROUNDPD and
+       IX86_BUILTIN_ROUNDPS.
+       (ix86_expand_sse_4_operands_builtin): Removed.
+       (ix86_expand_sse_operands_builtin): New.
+       (ix86_expand_unop_builtin): Remove CODE_FOR_sse4_1_roundpd
+       and CODE_FOR_sse4_1_roundps.
+       (ix86_expand_builtin): Remove IX86_BUILTIN_AESKEYGENASSIST128.
+       Handle bdesc_sse_args.  Remove bdesc_sse_3arg.
+
+2008-04-17  Alan Modra  <amodra@bigpond.net.au>
+
+       PR target/35907
+       * config/rs6000/rs6000.c (rs6000_emit_epilogue): Restore vr and vrsave
+       regs before frame pop when needed.  If use_backchain_to_restore_sp
+       then load backchain into a temp reg to restore vr and vrsave.  Add
+       code to restore vr after frame pop if possible.
+
 2008-04-17  Richard Guenther  <rguenther@suse.de>
 
        * tree-vn.c (expressions_equal_p): Do not check type